Skip to main content
Glama

Upload attachment

upload_attachment

Upload base64 file bytes as reusable source material; returns id and requires_capability. Pass the ID in attachment_ids to sample/schema generation, enrichment or benchmarks. Supported format handling depends on server MIME policy: extracted text or model-readable binary. Prefer auto model selection for attachment capabilities. Uploading does not itself run an LLM. A generated sample with attachments is source-only; see enricher://docs/documents for formats, multiple-file behavior and research workflows. Retain attachments needed for later runs or regeneration.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filenameYesOriginal filename including extension (e.g. 'report.pdf').
media_typeNoOptional MIME hint; the server still sniffs the magic bytes.
content_base64YesThe file's bytes, base64-encoded (no data: prefix).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations are minimal (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the description carries the behavioral burden. It adds useful behavior: MIME policy affects format handling, uploading does not run an LLM, and attachments are reusable source material. 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.

Conciseness4/5

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

The description is several sentences long but each sentence serves a purpose: core action, usage, MIME behavior, LLM clarification, source-only note, and retention advice. It is not overly verbose, though it could be tightened by merging related ideas. The most important info is front-loaded.

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?

The tool has an output schema (not shown but exists) and the description mentions return values (id, requires_capability). It covers formats, usage, and references for more details. It is sufficiently complete for an agent to call it correctly, though it could specify auth requirements if any.

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 description coverage is 100%, with each parameter (filename, media_type, content_base64) documented. The description does not add extra parameter-level semantics beyond what's in the schema; it reinforces the base64 encoding and use of the returned ID. Baseline 3 is appropriate.

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?

The description states a specific action ('Upload base64 file bytes as reusable source material') with a clear resource and outcome (returns id and requires_capability). It also explains how the ID is used downstream, distinguishing it from delete_attachment and other siblings.

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?

The description explains when to use the tool (for sample/schema generation, enrichment, benchmarks) and gives a pointer to docs for formats and workflows. It also notes 'Prefer auto model selection for attachment capabilities' and clarifies that uploading does not run an LLM. It does not explicitly name alternatives or exclusion conditions, but the usage context is clear.

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.