Skip to main content
Glama

getTicketAttachment

Read-only

Fetch one attachment from a ticket conversation, using a resourceId taken from the attachment metadata on a message returned by getTicketDetails or getTicketMessagesBatch. Images are returned as viewable image content so you can inspect a screenshot directly; videos, files and oversized or unsupported images come back as metadata plus a time-limited download URL: share it with the user, or fetch it yourself when the user asks you to read or analyze the file. A metadata-plus-URL result is the intended answer for those cases, not an error — do not retry it. Download URLs differ on every call; the resourceId is the stable identity.

Input Schema

NameRequiredDescriptionDefault
productIdYesID of the beta project to query. Get valid IDs from the listProducts tool.
resourceIdYesThe UUID of the ticket attachment (attachment.resourceId from a ticket message).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond readOnlyHint=true: it discloses that images come back as viewable image content, that videos/files/oversized/unsupported images return metadata plus a time-limited download URL, and that this is the intended answer rather than an error. The explicit 'do not retry it' and the note that URLs change every call while resourceId is stable are exactly the behavioral facts an agent needs and cannot get from 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?

Front-loads what the tool does, then the input provenance, then the return-shape contract. Every sentence carries non-redundant operational information (result shape, non-error status, retry prohibition, URL volatility); nothing is padding.

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?

With no output schema, the description carries the full burden of explaining return values and does so by enumerating the two result shapes and clarifying which is not an error. For a two-parameter read tool, nothing an agent needs in order to call it or interpret its result 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 100%, so the baseline is 3, but the description adds real semantics the schema lacks: the provenance of resourceId (attachment.resourceId on a message) and the fact that it is the stable identity while download URLs rotate. productId is left to the schema, which already points at listProducts.

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 ('Fetch one attachment from a ticket conversation') and scopes it to ticket attachments as opposed to answer attachments, so it is distinguishable from siblings like getAnswerAttachment. It also tells the agent exactly where the resourceId comes from, so the tool's role in the workflow is unambiguous.

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?

Gives explicit preconditions ('using a resourceId taken from ... getTicketDetails or getTicketMessagesBatch') and clear post-fetch guidance (share the URL with the user, or fetch it yourself if asked to analyze the file). It does not name a sibling alternative for non-ticket attachments, so it stops short of full when/when-not routing.

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