Skip to main content
Glama

Read metadata for one raw file attachment. Use this when the user asks about a specific file; for AI context docs use getMeetingContext and for the actual bytes use manageMeetingContent download. Returns the metadata of a single attachment, keyed by the meeting `{id}` and the `{attachment_id}` from v1ListMeetingAttachments; requires the `meetings:read` scope. Metadata only: no storage location is ever exposed — fetch bytes with v1DownloadMeetingAttachment. An attachment addressed through a meeting it does not belong to, or one the caller may not see, returns 404.

getMeetingAttachment
Read-onlyIdempotent

Read metadata for one raw file attachment. Use this when the user asks about a specific file; for AI context docs use getMeetingContext and for the actual bytes use manageMeetingContent download.

Returns the metadata of a single attachment, keyed by the meeting {id} and the {attachment_id} from v1ListMeetingAttachments; requires the meetings:read scope. Metadata only: no storage location is ever exposed — fetch bytes with v1DownloadMeetingAttachment. An attachment addressed through a meeting it does not belong to, or one the caller may not see, returns 404.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesMeeting ID
attachment_idYesAttachment ID

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoUnique identifier for the attachment
kindNoAttachment kind: file (binary upload) or link (external URL)
file_nameNoOriginal file name of the upload
mime_typeNoMIME type as supplied by the uploading client; arbitrary types are accepted
created_atNoTimestamp when the attachment was created
meeting_idNoID of the meeting the attachment belongs to
size_bytesNoSize of the stored file in bytes; zero for link attachments
updated_atNoTimestamp when the attachment was last updated
access_levelNoVisibility: just_me (creator only), meeting (meeting participants), workspace (whole workspace)
workspace_idNoID of the workspace that owns the attachment
created_by_user_idNoID of the user who created the attachment
external_content_urlNoURL of the linked resource; present only for link attachments

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds significant behavioral context: 'Metadata only: no storage location is ever exposed' and 'fetch bytes with v1DownloadMeetingAttachment' clarifies what the tool does not do. It also explains the 404 response for mismatched or unauthorized attachments, which is helpful for error handling. No contradiction with 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 concise at 5 sentences, each serving a distinct purpose: purpose+usage, return value+scope, metadata-only+download redirect, error condition. No redundant or filler sentences. Information is front-loaded with the most critical usage guidance.

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?

Given the tool has 2 simple parameters, 100% schema coverage, annotations, and an output schema (not shown but present), the description covers all needed aspects: what it returns (metadata only, no storage location), how to get the attachment_id, required scope, error behavior, and sibling differentiation. It is fully sufficient for correct agent invocation.

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?

Input schema has 2 parameters with descriptions (100% coverage). The description adds value beyond schema: it explains that the attachment_id comes from 'v1ListMeetingAttachments' and that the tool is keyed by both meeting id and attachment_id. This contextual information helps the agent understand how to obtain the correct attachment_id and the relationship between the two parameters.

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: 'Use this when the user asks about a specific file; for AI context docs use getMeetingContext and for the actual bytes use manageMeetingContent download.' It also states the required scope ('meetings:read'), and explains the error condition (404 for wrong or unauthorized access), which helps the agent decide when to invoke this 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.

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