io.github.ykastelnik/realevents
NPM · REALEVENTS-MCP · SCANNED SEP 20
Create and manage events in seconds from your AI assistant. No account needed.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to ykastelnik/realevents-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 26 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability72
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2100 tokens (~161/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 95% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.ykastelnik/realevents MCP server?
io.github.ykastelnik/realevents runs locally as an npm package, launched with npx -y realevents-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · realevents-mcp
claude mcp add ykastelnik-realevents -- npx -y realevents-mcp
{
"mcpServers": {
"ykastelnik-realevents": {
"command": "npx",
"args": [
"-y",
"realevents-mcp"
]
}
}
} {
"servers": {
"ykastelnik-realevents": {
"command": "npx",
"args": [
"-y",
"realevents-mcp"
]
}
}
} codex mcp add ykastelnik-realevents -- npx -y realevents-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ykastelnik-realevents": {
"type": "local",
"command": [
"npx",
"-y",
"realevents-mcp"
],
"enabled": true
}
}
} openclaw mcp add ykastelnik-realevents --command npx --arg -y --arg realevents-mcp
mcp_servers:
ykastelnik-realevents:
command: "npx"
args: ["-y", "realevents-mcp"] {
"McpServers": {
"ykastelnik-realevents": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"realevents-mcp"
]
}
}
} assistant mcp add ykastelnik-realevents -t stdio -c npx -a -y realevents-mcp
{
"mcpServers": {
"ykastelnik-realevents": {
"command": "npx",
"args": [
"-y",
"realevents-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
- Stability: 0.97 → pass security
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 −3
- Stability: pass → 0.80 functional
- 13 Sept 26 +1
- Stability: 0.97 → pass security
- 12 Sept 26 0
- Security disclosure: unverified → fail ▼ functional
- 11 Sept 26 +1
- Security disclosure: fail → unverified ▼ functional
- 9 Sept 26 0
- Stability: fail → 0.87 functional
- Package version: 1.0.2 → 1.4.0 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/realevents-mcp@1.4.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | ykastelnik/realevents-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/ykastelnik/realevents-mcp/.github/workflows/publish.yml@refs/tags/v1.4.0 |
| Rekor log index | 2548325423 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:1a2ff1d41d7350194fa45e4b07a39a2149e4d1a39d60e0fe58354e06d4c93dd579989780db03b37058b255b444a4a4dc459de52e60844cc7980787ede |
Background: How many MCP packages publish verified provenance →
Dependencies 96 packages
| Packages resolved | 96 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
cancel_event ~93
Cancel an event. This is visible to everyone who has the link, so confirm with the user before calling it. The page is NOT deleted: it stays online marked as cancelled. Reversible with update_event (status 'published'), though guests will already have seen the cancellation. Requires the manage token.
| Name | Type | Req | Description |
|---|---|---|---|
| manage_token | string | – | Manage token. Falls back to REALEVENTS_MANAGE_TOKEN env var if omitted. |
No output schema declared.
No examples provided.
create_event ~324
Creates an event page on RealEvents. The event is created with a start time only. To set an end time, duration, or to update other details (description, location, theme, cover image), use the update_event tool with the manage_token returned by this tool. Returns the public link, manage link, and slug. Save the manage link - it is the only way to edit the event later.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Event description (supports HTML) |
| format | string | – | Event format. Default: in_person |
| location | string | – | Physical location (for in_person or hybrid events) |
| max_attendees | integer | – | Maximum number of attendees (no limit if not set) |
| organizer_email | string | – | Organizer email to receive the manage link by email |
| start_datetime | string | yes | Start date and time, ISO 8601 (e.g. '2026-06-15T19:00:00'). Interpreted in the event's timezone, so prefer a local time WITHOUT a trailing Z and pass `timezone`. |
| timezone | string | – | IANA timezone the event happens in, e.g. 'Europe/Paris'. Defaults to UTC. Always set this to the organizer's local zone: otherwise a start time like 19:00 is stored as 19:00 UTC and shows at the wron… |
| title | string | yes | Event title (e.g. 'Bordeaux Tech Meetup') |
| virtual_link | string | – | Virtual meeting link (for virtual or hybrid events) |
No output schema declared.
No examples provided.
duplicate_event ~96
Copy an existing event into a new draft, dated one week later, keeping its description, location and settings. Use this for "set up next month's meetup like this one". Guests are NOT copied. Returns a new manage link; the copy must be published with update_event before anyone can see it.
| Name | Type | Req | Description |
|---|---|---|---|
| manage_token | string | – | Manage token of the event to copy. Falls back to REALEVENTS_MANAGE_TOKEN env var. |
No output schema declared.
No examples provided.
get_event ~61
Get details of a public event by its slug. Returns title, date, location, registration count, and description.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | Event slug (the part after /e/ in the URL, e.g. 'bordeaux-tech-meetup') |
No output schema declared.
No examples provided.
get_event_stats ~79
Performance summary for one event: page views, how many people are coming, maybes, declines, remaining capacity and the view-to-attendance rate. Use this for "how is my event doing?". Requires the manage token.
| Name | Type | Req | Description |
|---|---|---|---|
| manage_token | string | – | Manage token. Falls back to REALEVENTS_MANAGE_TOKEN env var if omitted. |
No output schema declared.
No examples provided.
get_manage_event ~75
Get full event details including the registrations list. Requires the manage token (the secret part of the manage URL) or REALEVENTS_MANAGE_TOKEN env var.
| Name | Type | Req | Description |
|---|---|---|---|
| manage_token | string | – | Manage token from the /manage/{token} URL. Falls back to REALEVENTS_MANAGE_TOKEN env var if omitted. |
No output schema declared.
No examples provided.
list_comments ~109
Read the guest conversation on an event: questions guests asked, the organizer's replies, and reaction tallies. Returns the most recent page, oldest first, with a cursor for earlier ones. Requires the manage token. Only works when the organizer has enabled comments on the event.
| Name | Type | Req | Description |
|---|---|---|---|
| before | integer | – | Comment id to page backwards from. Omit for the most recent page. |
| manage_token | string | – | Manage token. Falls back to REALEVENTS_MANAGE_TOKEN env var if omitted. |
No output schema declared.
No examples provided.
list_public_events ~104
Browse upcoming public events on RealEvents. Filter by format, date range, or search term. Returns titles, dates, locations, and public links.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | Filter by date range |
| format | string | – | Filter by event format |
| page | integer | – | Page number, 1-indexed |
| per_page | integer | – | Items per page, max 50 |
| search | string | – | Search events by title (partial match) |
No output schema declared.
No examples provided.
list_registrations ~105
List an event's guests, optionally filtered to one answer (confirmed / maybe / declined). Use this for questions like "who is coming?" or "who declined?". Shows plus-ones, guest notes and bounced invitation addresses. Requires the manage token.
| Name | Type | Req | Description |
|---|---|---|---|
| manage_token | string | – | Manage token. Falls back to REALEVENTS_MANAGE_TOKEN env var if omitted. |
| status | string | – | Show only guests with this answer. Omit for the whole list. |
No output schema declared.
No examples provided.
post_comment ~115
Post a message to an event's comment thread as the organizer. This is visible to every guest who has RSVPed, so confirm the wording with the user before posting. Use it to answer a question or share a practical update (parking, timing, what to bring). Requires the manage token.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | The message to post, max 500 characters. Plain text; HTML is stripped. |
| manage_token | string | – | Manage token. Falls back to REALEVENTS_MANAGE_TOKEN env var if omitted. |
No output schema declared.
No examples provided.
register_for_event ~311
RSVP to a public event by slug, on behalf of an attendee. Records going / maybe / not going, an optional note, and any extra guests. Capacity is counted in PEOPLE, not rows: a guest bringing 3 others takes 4 places, so a party can be refused on an event that still shows free seats. If the call is refused for capacity, the error states how many places remain - retry with a smaller party rather than reporting failure.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Attendee email address | |
| first_name | string | yes | Attendee first name. Required: the API rejects an RSVP without one. |
| last_name | string | – | Attendee last name (optional) |
| plus_one_names | array | – | Names of the extra guests. Required, one per guest, when the event collects names rather than a bare count (get_event reports which). |
| plus_ones_count | integer | – | How many extra guests this person brings. Only valid with status 'confirmed', and only up to the event's plus-ones limit (get_event reports it; 0 means plus-ones are disabled). |
| response_note | string | – | Optional note for the organizer, e.g. dietary needs. Max 500 characters. |
| slug | string | yes | Event slug (the part after /e/ in the URL) |
| status | string | – | The guest's answer. Default: confirmed. 'maybe' is only accepted when the event has maybe responses enabled (check get_event first). |
No output schema declared.
No examples provided.
set_cover ~135
Set an event's cover image from a public image URL. The image must already be online: this cannot upload a file from the user's computer, so if they have a local image, point them at the manage page instead. Replaces any existing cover. Requires the manage token.
| Name | Type | Req | Description |
|---|---|---|---|
| image_url | string | yes | Public http(s) URL of the image to use. JPEG, PNG or WebP, under 5MB. Around 1200px wide or more looks best; smaller images render soft. |
| manage_token | string | – | Manage token. Falls back to REALEVENTS_MANAGE_TOKEN env var if omitted. |
No output schema declared.
No examples provided.
update_event ~493
Update an existing event by manage token. Only provide the fields you want to change. Use this to set end_datetime, change status (e.g. 'cancelled'), or update any other detail after creation.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_comments | boolean | – | Whether the guest comment thread is open on this event |
| allow_maybe | boolean | – | Whether guests may answer 'maybe' as well as going / not going |
| allow_notes | boolean | – | Whether the RSVP form offers guests a free-text note box |
| attendee_goal | integer | – | Attendee goal: a target head-count to pace toward, separate from the max_attendees capacity limit |
| clear_end_datetime | boolean | – | Set true to remove the event's end time. Ignored if end_datetime is also given. |
| cover_layout | string | – | How the cover image is displayed |
| description | string | – | New description (supports HTML) |
| discoverable_in_search | boolean | – | Whether search engines may index the event page |
| end_datetime | string | – | New end date/time (ISO 8601) |
| format | string | – | New event format |
| listed | boolean | – | Whether the event is listed in the public directory |
| location | string | – | New physical location |
| manage_token | string | – | Manage token. Falls back to REALEVENTS_MANAGE_TOKEN env var if omitted. |
| max_attendees | integer | – | New max attendees |
| notify_on_registration | boolean | – | – |
| organizer_email | string | – | – |
| plus_ones_detail | string | – | Whether guests give a headcount only, or name each person they bring |
| plus_ones_limit | integer | – | How many extra guests each attendee may bring. 0 disables plus-ones. |
| slug | string | – | New URL slug |
| social_sharing_enabled | boolean | – | Whether share buttons appear on the public page |
| start_datetime | string | – | New start date/time (ISO 8601), interpreted in the event's timezone |
| status | string | – | New event status (use 'cancelled' to cancel the event) |
| theme | string | – | – |
| timezone | string | – | New IANA timezone, e.g. 'Europe/Paris'. Changes how start/end times are read. |
| title | string | – | New event title |
| virtual_link | string | – | New virtual meeting link |
No output schema declared.
No examples provided.
What is the io.github.ykastelnik/realevents MCP server?
io.github.ykastelnik/realevents is an MCP server listed in the public MCP registry as io.github.ykastelnik/realevents. Create and manage events in seconds from your AI assistant. No account needed. This page covers its npm package (realevents-mcp).
Is the io.github.ykastelnik/realevents MCP server safe to use?
io.github.ykastelnik/realevents scores 94 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.ykastelnik/realevents MCP server expose?
io.github.ykastelnik/realevents exposes 13 tools: create_event, get_event, get_manage_event, list_public_events, register_for_event, and 8 more. Their descriptions and schemas cost roughly 2,100 tokens of context every time the server is loaded.
Is the io.github.ykastelnik/realevents MCP server still maintained?
io.github.ykastelnik/realevents is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.ykastelnik/realevents MCP server under?
io.github.ykastelnik/realevents declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.