io.github.ykastelnik/realevents
Create and manage events in seconds from your AI assistant. No account needed.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
realevents-mcpclaude mcp add realevents -- npx -y realevents-mcp@1.4.0
{
"mcpServers": {
"realevents": {
"command": "npx",
"args": [
"-y",
"realevents-mcp@1.4.0"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
RealEvents MCP Server
Create and manage events on RealEvents from any MCP-compatible AI assistant.
Documentation and install snippets: https://realevents.co/mcp
Install
{
"mcpServers": {
"realevents": {
"command": "npx",
"args": ["-y", "realevents-mcp"]
}
}
}
For Claude Desktop on macOS, the config file is at ~/Library/Application Support/Claude/claude_desktop_config.json. For other clients, see their MCP documentation.
Agent skill
skills/realevents/SKILL.md teaches an assistant when
and how to use these tools: creating an event with the right timezone, handing back
the manage link, and the head-count and guest-list rules below. Copy the
skills/realevents folder into your client's skills directory (for Claude Code,
~/.claude/skills/) alongside the server config above.
Tools
Public, no token needed:
| Tool | Description |
|---|---|
list_public_events | Browse upcoming public events. Filter by format, date range or search term. |
get_event | Get an event's public details by slug. Follows old links after a slug change. |
register_for_event | RSVP for an attendee: going, maybe or not going, with plus-ones and a note. |
create_event | Create a new event page. Returns the public link and the manage link. |
Organizer tools, all requiring the manage token:
| Tool | Description |
|---|---|
get_manage_event | Full event details plus the guest list. |
list_registrations | The guest list on its own, optionally filtered to confirmed / maybe / declined. |
get_event_stats | Page views, head-count, remaining capacity, view-to-attendance rate. |
update_event | Change any event detail or setting. |
duplicate_event | Copy the event into a new draft one week later. |
cancel_event | Mark the event cancelled. The page stays online. |
set_cover | Set the cover image from a public image URL. |
list_comments | Read the guest conversation: questions, replies and reactions. |
post_comment | Post to the thread as the organizer. Visible to every guest who RSVPed. |
Comments only work on events where the organizer has switched them on
(update_event with allow_comments: true). Until then both comment tools return
a message saying exactly that.
Cover images
set_cover takes a public image URL, not a file. MCP tool arguments are JSON
text, so an assistant cannot hand a local image to the server; if the picture is on
the user's computer, the manage page's upload does the job better anyway (drag and
drop, preview, crop). Around 1200px wide or more looks best - set_cover says so
when the image is smaller rather than silently accepting a thumbnail.
Timezones
create_event takes a timezone (an IANA name such as Europe/Paris) alongside
start_datetime. Set it. The start time is interpreted in that zone, and the
zone defaults to UTC, so creating an event for 19:00 without one produces a page
that reads 19:00 UTC: the wrong hour for everyone outside it.
Prefer a local time with no trailing Z:
start_datetime: "2026-06-15T19:00:00"
timezone: "Europe/Paris"
Attendance is counted in people
An event's attendance figure is a head-count: confirmed guests plus everyone they bring. A guest arriving with three others takes four of the available places, so a party can be refused on an event that still shows free rows. When that happens the error states how many places are left, so the call can be retried with a smaller party rather than reported as a failure.
Plus-ones only attach to a confirmed answer, and are capped by the event's own
plus_ones_limit (0 disables them). When the organizer collects names rather than
a headcount, every declared guest needs one. get_event reports both settings.
Manage token
Events created with create_event return a manage_token. Save it: it is the only
way to manage the event later.
To set a default token so you don't have to pass it on every call:
{
"mcpServers": {
"realevents": {
"command": "npx",
"args": ["-y", "realevents-mcp"],
"env": {
"REALEVENTS_MANAGE_TOKEN": "your-token"
}
}
}
}
Security
Signed with npm Provenance, built from this repository via GitHub Actions. Every published version is traceable back to the exact commit and workflow run that built it.
Links
For maintainers: publishing checklist
Before publishing a new version:
- Bump
versioninpackage.json - Verify
mcpName: "io.github.ykastelnik/realevents"is still present - Bump
versionandpackages[0].versioninserver.jsonto match - Tag
vX.Y.Zand push: thepublish.ymlworkflow handles the npm publish - Locally:
./mcp-publisher publishto sync the MCP Registry listing
License
MIT
Frequently asked questions
What is io.github.ykastelnik/realevents?
Create and manage events in seconds from your AI assistant. No account needed.
How do I install io.github.ykastelnik/realevents?
It runs on your machine. In Claude Code: claude mcp add realevents -- npx -y realevents-mcp@1.4.0. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.ykastelnik/realevents need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.ykastelnik/realevents open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.ykastelnik/realevents?
It is published by ykastelnik. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.