Aion inside your assistant
Aion Vibes exposes an MCP server: you connect Claude — or any other client that speaks the same protocol — and from there you search for events, sign up, follow a community. With a connected account, you create and publish your own nights. Without opening the site.
Half the tools don't need an account.
Searching for events, reading their details, signing up and following a community all work as soon as you add the server: signing up sends the QR by email and the wallet links, without anyone having to register first. The account is for creating and publishing — that is, for acting on someone's behalf.
Connect it in four steps
- 1
Add the server
Point your MCP client at the address. No key needed: the client registers itself.
claude mcp add --transport http aion https://api.aionvibes.com/mcp/ - 2
Authorise in the browser
The client opens a page on Aion that says which client is asking for access and what it'll be able to do. Sign in with Google or your email, and press Authorize.
- 3
Reopen the terminalCommon snag
Close the window you launched the command from and open a new one. The session you had open loaded the tool list when it started — before the token existed — and will keep not seeing Aion: it's not an error to retry. From a fresh terminal, claude mcp list answers ✔ Connected.
- 4
Ask
"Publish an event on 15 October in Brescia about Local AI vs Cloud AI, with a night-time cover" becomes a draft, a cover, and a live event.
What happens to your credentials
No password in the client. The connection goes through OAuth 2.1: you sign in on aionvibes.com, and the client receives a token that's valid for it alone.
PKCE required. The authorization code that comes back to the client isn't enough on its own to get a token: it needs a secret the client kept, one that never passed through the browser.
One use only. Codes and refresh tokens are spent on first use. The access token lasts an hour and renews itself; if you stop using it, the connection expires after thirty days.
Your permissions, nothing more. The client acts as you: it sees the communities you run, and nothing else. Platform analytics only answer to the admin account.
The tools
Find
No account neededWhat's on, and where. Works even for someone who's never seen Aion.
find_eventsSearch by city, date range, category or free text.
Also includes listings scraped from other platforms, marked as such: they open at the source link, you don't book them here.
get_eventAn event's detail: time, place, price, capacity.
Also says whether sign-up is instant or the organizer has to approve it.
list_event_categoriesThe categories, with slug and colour.
list_citiesWhere Aion has events, and how many.
list_featured_communitiesWho organizes regularly.
whats_on_digestA summary of what's on in a city, already condensed and ordered.
Meant to be rewritten into a message to paste into a group chat, not to be browsed.
Learn
MixedAcademy courses: you search them like events, and write them like events.
find_coursesNo account neededSearch courses by text, area (AI, health, IT, retail), role or provider.
Each course comes back with the link to its page: enrolment happens there, with an Aion account.
get_courseNo account neededA course's programme: modules, tracks, duration, teachers, certificate.
upsert_courseAccount requiredCreate or update a whole course, lessons and quiz included, for a community you manage.
Repeatable: lessons are matched by their key, so republishing corrects instead of duplicating.
course_enrollmentsAccount requiredWho enrolled in one of your courses, how far they got, who already has the certificate.
Join in
No account neededThe point where a conversation becomes a person signed up for a night out. Always without an account.
rsvp_to_eventSigns someone up: name, email, and the QR goes out by email.
No app to download first, no account to create first. The response already carries the wallet links, and the sign-up stays marked as having come from an assistant.
get_wallet_passThe links to add a ticket to Apple or Google Wallet.
For someone who's signed up and doesn't want to dig up the email.
follow_communityThe link to get a community's events into your own calendar.
An iCalendar subscription: new events arrive by themselves, forever, without installing anything.
Claim
MixedIs your event already listed here? Searching for it is free; claiming it needs an account.
find_my_listingNo account neededSearches for your night among the listings, with the interest it's already gathered.
Reactions and followers that people on Aion have already left on that event — an audience you're not seeing today.
claim_listingAccount requiredTurns a listing into your own Aion event, already filled in.
Name, place, date, description and cover come from the listing. It starts as a draft: price and capacity are still yours to set. Requires an account.
Organize
Account requiredFrom here on you need a connected account.
list_my_communitiesThe communities you run, with their id.
It's the first step: an event without a calendar doesn't show up on any community's page. Each row says whether you created it or you run it for someone else.
create_communityCreates a community — the /c/<slug> page your events live under.
You start as owner: you can publish events under it and add managers. The slug is public and permanent.
update_communityFixes a community’s name, description, color, socials or images.
Only the fields you pass are touched. The slug can’t change: it’s public and permanent.
set_community_imageUploads a logo or cover from a base64 file and applies it to the community.
Upload and save in one call: the logo is square, the cover is 3:1 (1500×500).
create_public_eventCreates an event — title, when, where, price, capacity.
It starts as a draft: nobody sees it until you publish it.
update_public_eventCorrects an event, before or after publishing.
Only touches the fields you pass: the rest stay as they are.
design_event_coverComposes the cover in the event's topic colour. Free.
No model behind it: no credits, instant response, and the same event always gives the same image.
generate_event_coverGenerates the cover from a description and applies it.
Needs a real scene — a venue, a stage, a dish. Describe the image, not the event. Uses credits.
publish_public_eventPublishes the draft.
From here the address is reachable and the event shows up on Discover.
set_event_couponsThe event's discount codes.
Re-reads the settings before writing, so it doesn't wipe out registration questions and templates.
get_event_templateA ready-made structure to fill in: quick RSVP, per-person booking, page blocks.
The questions have keys that interact — prices, conditions, pages — and getting one wrong produces a form that looks fine and behaves badly.
set_registration_questionsThe questions whoever signs up fills in: types, prices, conditions, pages.
On a per-person event the price lives here, not on the ticket: the total only counts the base once.
set_page_sectionsDay-by-day schedule, gallery, video, FAQ, links.
It's what separates an event page from a form.
set_community_sectionsThe same blocks, but hung off the community instead.
The FAQ describes the community and would be identical on every one of its events: it shouldn't be duplicated here.
schedule_event_seriesA recurring night: all the dates in one go.
"Every Thursday until December." The rule expands right away into real events, each with its own page.
list_my_public_eventsWhat you have coming up, or what's already happened.
Planning and running the night
Account requiredWhen to hold it, whether it's ready, and how to get people through the door.
suggest_event_slotWhich night to pick, based on what's already on in the city that night.
The count comes from other platforms' public listings: it's the real competition for that night, not how full our own calendar is.
event_health_checkWhat's missing from an event before you publish it.
Tells apart what will bounce the publish attempt from what will just make a reader scroll past.
create_tracked_inviteA different invite link for each channel.
The code travels in the ref parameter and stays on the sign-up. Results show up in Admin › Growth, under "Event sign-ups".
check_in_guestMarks a person as checked in, without opening the scanner.
Accepts the QR or the short code a guest reads out loud. Scanning the same person again doesn't count them twice.
Measure
Account requiredHow it's going.
event_registrationsHow many sign-ups, in what state, with the questionnaire answers.
platform_analyticsUsers, organizers, events, sign-ups — compared against the previous period.
Reserved for the admin account.
Learn
No account neededHow something works: a short answer and, when there is one, the video that shows it. Hand-picked, never searched.
find_helpExplains one specific moment — first event, tickets, talent profile — and attaches the video guide when there is one.
If we have nothing for that moment, it says so instead of offering the closest thing.
find_guidesJust the Aion video guides for one specific moment.
For when the video is all you want.
From footage to reels
Account requiredA night’s recordings become vertical clips to approve and publish. The heavy work — tone-mapping, cutting, rendering — runs on your own machine: these tools are how it picks the work up and hands the result back.
list_content_projectsThe video projects of an event, and where each one is.
content_project_statusRecordings, steps done or failed, clips waiting for a yes.
claim_content_jobTakes the next job meant to run on this machine.
Two machines cannot take the same job, and one that dies halfway hands it back on its own.
content_job_heartbeatSays the job is still going.
content_upload_urlWhere to upload what comes out: proxy, audio, reel, cover.
complete_content_jobHands in the result and moves the project forward.
fail_content_jobGives back a job that failed, with the reason.
review_content_clipApproves a proposed clip — which queues the render — or drops it.
While approving you can fix the title, the opening line and the caption. Move the times and the cut re-snaps to the words.
publish_content_clipSchedules a rendered clip on the social channels.
A clip already sent to a channel is never sent there twice.
For integrators
Streamable HTTP transport at https://api.aionvibes.com/mcp/. Without an Authorization header the connection succeeds and the open tools respond: the gated ones return an error that explains how to connect, instead of a transport error.
An Authorization header that's present but invalid gets a 401 with the WWW-Authenticate header pointing at the resource metadata: that's how a client discovers the authorization server on its own.
GET /.well-known/oauth-protected-resource
GET /.well-known/oauth-authorization-server
POST /oauth/register dynamic registration (RFC 7591)
GET /oauth/authorize PKCE S256 required
POST /oauth/token authorization_code | refresh_tokenClients are public: no client_secret to keep safe. PKCE is what holds the flow together.
Something not adding up? Write to us at akaion@akaion.com.