Skip to main content
Glama

Attach a file

save_attachment_file

Attach a FILE to an issue in ONE call, by passing its bytes as base64. No API key needed from you — this is a normal tool call, so never go reading credential files to attach something. Size limit 262144 bytes decoded (~256KB), because base64 in a tool argument is generated token by token and a large file costs more context than the attachment is worth. For anything bigger, run your MCP through retasc mcp-proxy and call this tool with path instead — the proxy reads the file off disk and uploads it, at any size, with the credential it already holds. For a plain link rather than a file, use save_attachment. If this call is refused for billing (BILLING_INACTIVE or MONTHLY_CAP_REACHED), the response carries tellHuman, a ready-to-relay sentence: PASS IT TO YOUR HUMAN. You cannot fix it yourself — only an owner can — so do NOT absorb the refusal and continue with read-only work as if the session were healthy; every value-bearing write will keep failing until they act.

Input Schema

NameRequiredDescriptionDefault
issueYesIssue ID, e.g. RTSC-12
titleNoOptional label; also the download name when set.
filenameYesDownload name, e.g. shot.png. Its extension sets the content type.
contentBase64YesThe file's bytes, base64 encoded. A `data:` URI prefix is accepted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say it is a non-read-only, non-destructive, non-idempotent write. The description adds the hard 262144-byte decoded limit and the reason for it, the credential story (proxy holds it; no API key needed here), and the billing-refusal semantics (BILLING_INACTIVE / MONTHLY_CAP_REACHED, `tellHuman`, don't silently continue). That is substantive context beyond structured fields.

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 action and the size limit, then alternatives, then the failure path — good ordering with no wasted preamble. The closing billing paragraph runs long relative to a single tool call, though the content is useful.

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 a 4-param write tool with no output schema, it covers the size ceiling, encoding format, alternative paths, credential handling, and the exact error-code behavior to expect. Nothing an agent needs to invoke it correctly is missing.

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 coverage is 100%, so `issue`, `filename`, `title`, and `contentBase64` are already documented. The description only reinforces the base64 encoding and size ceiling; its mention of a `path` parameter refers to the proxy variant and is not a property of this schema, which could mislead. Baseline 3 fits.

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?

Opens with a specific verb+resource+mechanism: attach a file to an issue via base64 in one call. It explicitly separates itself from the two nearest siblings, save_attachment (links) and the proxy `path` variant, so an agent can distinguish it without reading schemas.

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 explicit routing rules: use this for base64 under 256KB, use `retasc mcp-proxy` with `path` for larger files, use save_attachment for a plain link instead. It also pre-empts a failure mode (don't go reading credential files).

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