Skip to main content
Glama

Manage the calendar

manage_calendar
Destructive

Create and connect calendars, add, change and delete events, prepare replies to invitations and manage the job search schedule. Events are written to the member's own calendars; no invitations are sent. Actions: create_local, connect_caldav, import_ics, sync, choose_calendar, create_event, update_event, delete_event, hide_interview_event, prepare_rsvp, import_invitation, disconnect, update_schedule, generate_schedule, approve_schedule, discard_schedule. Call with action "help" for each action's fields.

Input Schema

NameRequiredDescriptionDefault
keyNoThe item's key as the matching list answered it.
actionYes
paramsNoFields for the action. Call with action "help" to list each action's fields.
mail_message_idNoA received message's id: its Mailbox id (i-…) or the same id without "i-" (a calendar event's or RSVP draft's mailMessageId); either works.
calendar_event_idNoA calendar event's id from get_calendar view (events[].id).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "create_local",
      -  "connect_caldav",
      -  "import_ics",
      -  "sync",
      -  "choose_calendar",
      -  "create_event",
      -  "update_event",
      -  "delete_event",
      -  "prepare_rsvp",
      -  "import_invitation",
      -  "disconnect",
      -  "update_schedule",
      -  "generate_schedule",
      -  "approve_schedule",
      -  "discard_schedule",
      -  "help"
      -]New value: +[
      +  "create_local",
      +  "connect_caldav",
      +  "import_ics",
      +  "sync",
      +  "choose_calendar",
      +  "create_event",
      +  "update_event",
      +  "delete_event",
      +  "hide_interview_event",
      +  "prepare_rsvp",
      +  "import_invitation",
      +  "disconnect",
      +  "update_schedule",
      +  "generate_schedule",
      +  "approve_schedule",
      +  "discard_schedule",
      +  "help"
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "create_local",
      -  "connect_caldav",
      -  "connect_link",
      -  "import_ics",
      -  "sync",
      -  "choose_calendar",
      -  "create_event",
      -  "update_event",
      -  "delete_event",
      -  "prepare_rsvp",
      -  "import_invitation",
      -  "disconnect",
      -  "update_schedule",
      -  "generate_schedule",
      -  "approve_schedule",
      -  "discard_schedule",
      -  "help"
      -]New value: +[
      +  "create_local",
      +  "connect_caldav",
      +  "import_ics",
      +  "sync",
      +  "choose_calendar",
      +  "create_event",
      +  "update_event",
      +  "delete_event",
      +  "prepare_rsvp",
      +  "import_invitation",
      +  "disconnect",
      +  "update_schedule",
      +  "generate_schedule",
      +  "approve_schedule",
      +  "discard_schedule",
      +  "help"
      +]
    • changedInput schema / properties / mail_message_id / description
      Previous value: -"A received message's id: a calendar event's mailMessageId, or a Mailbox message id (i-…) without its leading \"i-\"."New value: +"A received message's id: its Mailbox id (i-…) or the same id without \"i-\" (a calendar event's or RSVP draft's mailMessageId); either works."
  3. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, openWorldHint=true and idempotentHint=false, so safety is partly covered. The description adds genuine non-obvious context: events are written to the member's own calendars and no invitations are sent, which disambiguates the RSVP/invitation actions from actual emailing. It does not describe reversibility or auth requirements for the destructive actions, so it is not a 5.

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

Conciseness4/5

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

Capabilities, scoping constraint, action list, and the help pointer are front-loaded and easy to scan. The 16-item action enumeration duplicates the schema enum verbatim and could arguably be trimmed, but it is efficient for a dispatcher tool and nothing is padding.

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

Completeness4/5

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

This is a highly complex tool (16 actions, nested params object, no output schema), yet the description mitigates the complexity by naming the scope, the side effects, and a discovery mechanism ('help') for per-action fields. Return values are not explained, but there is no output schema and the help affordance covers the biggest gap.

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

Parameters3/5

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

Schema description coverage is 80%, so most parameters carry their own documentation and the baseline is 3. The description only repeats the action enum (already in the schema) and defers field-level meaning to the runtime 'help' action, adding no per-action parameter semantics of its own. It therefore neither adds value nor compensates for the undocumented nested 'params' object.

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

Purpose4/5

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

The description states a specific resource (calendars/events/job search schedule) and enumerates all 16 supported actions, so an agent knows this is the write-side calendar hub. It clearly contrasts with the similarly-named read sibling get_calendar by emphasizing create/change/delete. It stops short of explicitly naming get_calendar as the read alternative, which keeps it out of 5 territory.

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

Usage Guidelines3/5

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

Usage is implied by the action names and the tool is a routing dispatcher, but there is no explicit when-to-use/when-not guidance versus siblings like get_calendar or manage_interviews. The one strong signal is 'Call with action "help" for each action's fields,' which tells the agent how to discover per-action parameters. That is a useful but narrow piece of guidance for a 16-action tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.