Skip to main content
Glama
deciduus
by deciduus

RSVP to an event

respond_to_event
Idempotent

Set your RSVP for a received calendar invitation: accepted, declined, tentative, or needsAction. Optionally add a comment and notify the organizer; only your response changes.

Instructions

Set the user's own RSVP on an invitation they have received.

Only works on events the user is an attendee of; it does not change anyone else's response.

Args: event_id: The invitation to answer (from find_events). response_status: 'accepted', 'declined', 'tentative' or 'needsAction'. calendar_id: Calendar the invitation lives on. comment: Optional note sent to the organizer with the RSVP. send_notifications: Whether Google emails the organizer. Default true. account: Account name from 'calendar-mcp accounts'; omit for the default.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
accountNo
commentNo
event_idYes
calendar_idNoprimary
response_statusYes
send_notificationsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
eventYesThe event after the operation.
messageNoOne-line human-readable summary of what happened.
calendar_idYesCalendar the event lives on.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover idempotency and non-destructiveness, and the description adds meaningful behavioral context: the RSVP is scoped to the user, the comment is sent to the organizer, and send_notifications controls whether Google emails the organizer. It effectively discloses side effects without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: it opens with the core action and scope, then provides a tight Args list covering every parameter. No sentence is wasted, and the layout is easy for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 parameters, no schema descriptions, and 2 required parameters, the description is complete. It covers all parameters, defaults, constraints, and behavioral boundaries; the output schema handles return values, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden and does so excellently. It explains each parameter's meaning, gives the allowed values for response_status, notes defaults, and even points to provenance for event_id and account.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Set') and a precise resource ('the user's own RSVP on an invitation'), making the action unambiguous. It explicitly scopes behavior to the user's own response and distinguishes itself from any sibling that might modify others' responses.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states when the tool is applicable: only on events the user is an attendee of. It also tells the agent what it does not do ('does not change anyone else's response'), which implies when not to use it, though it does not name a specific sibling alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.