Skip to main content
Glama

Add, remove, or change the role of participants in a meeting. Use this for participant management; to create or edit the meeting itself, use manageMeetings. Set `action` to one of: add, remove, updateRole. Then provide the fields for the selected action. action=add: Invite people to an existing meeting. Use this when the user wants to add participants; do not re-add the caller. If you only have a name or initials, use listMeetingContacts with any meeting id to resolve the email first. Requires the meeting `{id}` and a `participants` array. Adding a participant who is already on the meeting is a no-op for that entry; do not re-add the caller. Use an `Idempotency-Key` to prevent duplicate adds on retries. action=remove: Remove someone from a meeting. Use this when the user wants to revoke a participant's access. Removes a participant (`{userId}` from v1ListMeetingParticipants) from a workspace-owned meeting. Requires `meetings:write`. 204 on success; 404 if not on the meeting or unknown. Idempotent — safe to retry. action=updateRole: Change a participant's role in a meeting. Use this when the user wants to switch someone between EDITOR and VIEWER. Updates an existing participant's role to `EDITOR` or `VIEWER` on meeting `{id}`. Both the meeting `{id}` and the target `{userId}` path parameters are required, and the user must already be a participant (use v1AddMeetingParticipants to add someone). The call is idempotent: retries converge on the requested role.

manageMeetingParticipants
DestructiveIdempotent

Add, remove, or change the role of participants in a meeting. Use this for participant management; to create or edit the meeting itself, use manageMeetings.

Set action to one of: add, remove, updateRole. Then provide the fields for the selected action.

action=add: Invite people to an existing meeting. Use this when the user wants to add participants; do not re-add the caller. If you only have a name or initials, use listMeetingContacts with any meeting id to resolve the email first.

Requires the meeting {id} and a participants array. Adding a participant who is already on the meeting is a no-op for that entry; do not re-add the caller. Use an Idempotency-Key to prevent duplicate adds on retries.

action=remove: Remove someone from a meeting. Use this when the user wants to revoke a participant's access.

Removes a participant ({userId} from v1ListMeetingParticipants) from a workspace-owned meeting. Requires meetings:write. 204 on success; 404 if not on the meeting or unknown. Idempotent — safe to retry.

action=updateRole: Change a participant's role in a meeting. Use this when the user wants to switch someone between EDITOR and VIEWER.

Updates an existing participant's role to EDITOR or VIEWER on meeting {id}. Both the meeting {id} and the target {userId} path parameters are required, and the user must already be a participant (use v1AddMeetingParticipants to add someone). The call is idempotent: retries converge on the requested role.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoMeeting ID
roleNoNew access level for the participant: EDITOR or VIEWER
actionYesThe operation to perform
userIdNoUser ID
participantsNoParticipants to add to the meeting (at least one)
Idempotency-KeyNoOptional client-generated idempotency key (max 255 printable ASCII). Repeat requests with the same key replay the original 2xx response.

TDQS

A3.6/5.0
Behavior4/5

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

The annotations already indicate destructiveHint=true and idempotentHint=true. The description reinforces these by explaining idempotency for add (using Idempotency-Key) and for remove/updateRole (safe to retry, converge on requested state). It also adds specific behaviors like no-op for duplicate adds, required scope 'meetings:write', and response codes (204, 404). This goes beyond 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.

Conciseness4/5

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

The description is well-structured with clear sections for each action (add, remove, updateRole) and is front-loaded with the overall purpose and sibling differentiation. It is somewhat lengthy, but every section provides necessary operational details, making the length justified.

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?

Given the tool has 6 parameters, 100% schema coverage, no output schema, and moderate complexity with nested objects for participants, the description is sufficiently complete. It covers per-action use cases, required parameters, idempotency, error handling, and prerequisites. It could mention the return type (aside from the 204 success code) but overall is robust.

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?

The input schema covers 100% with descriptions for all parameters. The description maps actions to required fields (e.g., action=add requires `id` and `participants` array) and clarifies usage nuances like mutual exclusivity of user_id and guest_email (though this is also in the schema). The description adds value by grouping required fields per action, but the schema already provides solid documentation.

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

Purpose2/5

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

Tautological: description restates name/title.

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?

The description provides explicit guidance on when to use each action (add participants, remove participants, update role), when not to use it (e.g., 'do not re-add the caller'), and suggests alternatives like using 'listMeetingContacts' to resolve email. It also mentions prerequisites like requiring the meeting `{id}`.

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.

TDQS

A3.8/5.0
Disambiguation4/5

Tools are mostly distinct, with clear separation between meetings, agenda/backlog items, action items, participants, and calendar events. However, `manageMeetingContent` bundles both raw file attachments and AI context documents into one tool, which could cause confusion for an agent deciding which contentType variant to use.

Naming Consistency4/5

The naming follows a consistent verb_noun pattern (e.g., `listMeetings`, `getMeeting`, `deleteUserToken`), but there are minor deviations like `manageMeetingItems` (verb_noun) vs `manageActionItems` (verb_noun) and `getMeetingTranscript` which is consistent, but `getMe` breaks the pattern as a short form. Overall, predictable and well-organized.

Tool Count4/5

With 30 tools, the count is on the higher side but reasonable given the broad domain covering meetings, agenda, backlogs, action items, participants, calendar events, user tokens, and content management. Each tool serves a specific purpose, though a slight reduction by combining some closely related functions could improve focus.

Completeness4/5

The tool surface covers the core lifecycle for meetings, agenda/backlog items, action items, participants, and content management. Minor gaps exist, such as the lack of tools for managing meeting templates (only listed, not created/deleted) and no tool for sending invitations via email, but these are not critical for the main use cases.

Resources