Skip to main content
Glama

Move a session to a new time or room (organizers only)

event_session_move
DestructiveIdempotent

Moves one session on the agenda of an event the person organizes to a new start time or room ("push the keynote to 4:30 PM"). Pass holders are notified unless notify is false. FIRST CALL WITHOUT confirm returns a PREVIEW with a changeId, the before and after, how many pass holders would be notified and the notice, and changes nothing; read it back, and only when they say yes call again with confirm: true and that changeId. Name the session by sessionId or title; on AMBIGUOUS or NO_SUCH_SESSION read the candidates back and ask. Only the organizer of the event can change it; anybody else is refused, read out as given. It requires a personal connector token.

Input Schema

NameRequiredDescriptionDefault
atNoOptional current start ("10:30 AM"), for sessions sharing a title.
endNoOptional new end; else it keeps its length.
dateNoOptional day, YYYY-MM-DD.
roomNoNew room or place label.
startNoNew start, "4:30 PM" or a timestamp, in the event's time zone.
notifyNoOptional; false keeps the move quiet.
confirmNoLeave out for the preview; after the organizer says yes, true with the changeId.
changeIdNoThe changeId the preview returned.
sessionIdNoThe session id as the agenda gave it.
sessionTitleNoOr the session title, when there is no sessionId.
eventIdOrNameYesThe event id or name as the organizer spells it.

Output Schema

NameRequiredDescriptionDefault
okNo
kindNo
errorNo
appliedNo
changesNo
messageNo
previewNo
sessionNo
changeIdNo
servedByNo
candidatesNo
lockScreenNo
passUpdateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • changedInput schema / properties / at / description
      Previous value: -"OPTIONAL. The session's current start (\"10:30 AM\"), which distinguishes sessions that share a title."New value: +"Optional current start (\"10:30 AM\"), for sessions sharing a title."
    • changedInput schema / properties / changeId / description
      Previous value: -"REQUIRED with confirm: the changeId the preview returned."New value: +"The changeId the preview returned."
    • changedInput schema / properties / confirm / description
      Previous value: -"Leave out for the PREVIEW. Only after the organizer says yes to the preview, call again with confirm: true and the changeId."New value: +"Leave out for the preview; after the organizer says yes, true with the changeId."
    • changedInput schema / properties / date / description
      Previous value: -"OPTIONAL. The day, YYYY-MM-DD, when the event runs more than one day or the session moves to another day."New value: +"Optional day, YYYY-MM-DD."
    • changedInput schema / properties / end / description
      Previous value: -"The new end, same forms. Left out, the session keeps its length."New value: +"Optional new end; else it keeps its length."
    • changedInput schema / properties / eventIdOrName / description
      Previous value: -"REQUIRED. The event id or the event name as the organizer spells it."New value: +"The event id or name as the organizer spells it."
    • changedInput schema / properties / notify / description
      Previous value: -"OPTIONAL. A move notifies pass holders by default; false keeps it quiet."New value: +"Optional; false keeps the move quiet."
    • changedInput schema / properties / room / description
      Previous value: -"The room or place label, plain words."New value: +"New room or place label."
    • changedInput schema / properties / sessionId / description
      Previous value: -"The session's id exactly as the agenda or a candidates list gave it."New value: +"The session id as the agenda gave it."
    • changedInput schema / properties / sessionTitle / description
      Previous value: -"Or the session's title as the agenda spells it, when there is no sessionId."New value: +"Or the session title, when there is no sessionId."
    • changedInput schema / properties / start / description
      Previous value: -"The new start: \"4:30 PM\", or a full timestamp with a time zone. Read in the event's own time zone."New value: +"New start, \"4:30 PM\" or a timestamp, in the event's time zone."
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

Goes well past the annotations: it discloses that the preview changes nothing and returns a changeId, before/after, notification count and notice text; that pass holders are notified unless `notify` is false; that non-organizers are refused with the reason surfaced verbatim; and that a personal connector token is required. This is consistent with destructiveHint=true and idempotentHint=true rather than contradicting them.

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?

Front-loads the core action, then the preview protocol, then identity resolution, then permission and auth — a sensible order for an agent to consume. It is dense with semicolon-chained clauses, so each line does earn its place, but the run-on final sentences cost some readability.

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 an 11-parameter, destructive, token-gated mutation with a required confirmation handshake, the description covers workflow, safety, error handling and identity resolution. Return values are covered by the existing output schema, so nothing an agent needs to call this correctly is missing.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3, but the description adds real semantics the schema cannot express: the `confirm`/`changeId` pairing, the effect of `notify` (quiet vs. pass-holder notification), and the interplay between `sessionId` and `sessionTitle` when disambiguation fails. It does not explain how `at`, `date`, `start` and `end` combine, which is where the remaining ambiguity sits.

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?

States a specific verb and resource ('Moves one session on the agenda of an event') along with the exact mutation surface (start time or room) and the authorization boundary ('an event the person organizes'). The concrete example ('push the keynote to 4:30 PM') removes any doubt about intent, and it is clearly distinguishable from siblings like event_session_add, event_session_cancel and event_session_rename.

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

Usage Guidelines5/5

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

Gives an explicit two-step protocol: first call without `confirm` for a preview, then re-call with `confirm: true` plus the returned `changeId` only after the organizer agrees. It also names the required alternative when the session reference is ambiguous ('on AMBIGUOUS or NO_SUCH_SESSION read the candidates back and ask') and the fallback naming path (sessionId or title).

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.

Resources