Skip to main content
Glama

Upload document

source_upload
Idempotent

Imports a document (PDF, Office, text; up to 50 MB) the host passes as a download URL.

ChatGPT supplies attached files this way. A client-generated key identifies replay; source_operation_read reports progress, and acceptance is not readiness. Files that exist only on the user's computer use source_upload_handoff.

Input Schema

NameRequiredDescriptionDefault
fileYesDocument supplied by the host as a download URL and file metadata.
agent_idYesAgent ID from agents_list or agent_create.
request_keyYesClient-generated request UUID; identical retries retain this key.

Output Schema

NameRequiredDescriptionDefault
effectYes
replayedYes
operationYes
publicationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / agent_id / description
      Added value: +"Agent ID from agents_list or agent_create."
    • addedInput schema / properties / file / description
      Added value: +"Document supplied by the host as a download URL and file metadata."
    • addedInput schema / properties / request_key / description
      Added value: +"Client-generated request UUID; identical retries retain this key."
  2. Added

TDQS

A4.4/5.0
Behavior4/5

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

Beyond the annotations it discloses the 50 MB limit, that the server downloads the URL once, that request_key governs replay, and crucially that 'acceptance is not readiness' — an async acceptance model the annotations do not convey. It does not spell out failure modes (expired URL, unsupported MIME) or what a rejection response looks like, which keeps it short of a 5.

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?

Roughly 50 words, front-loaded with the action and constraint, with no filler sentences. The hard line breaks fall mid-clause, which slightly fragments the reading flow, but every clause carries information.

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 write tool with a nested parameter object and an output schema, the description covers size limits, source-of-file semantics, async acceptance, progress polling, and the sibling alternative. Nothing essential for a correct first invocation is missing, and return values are delegated to the output schema.

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% and the schema already documents agent_id, request_key (including retry semantics), and the nested HostFile fields, so the description mostly restates it. The one added nuance — that the URL is fetched exactly once by the server — is useful but thin, so the baseline 3 holds.

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 first sentence names a specific verb (Imports) and resource (a document) plus supported formats and a 50 MB ceiling, and immediately qualifies the source as a host-supplied download URL. It explicitly separates itself from source_upload_handoff for local-only files, so an agent can pick correctly without inspecting 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?

It states the positive trigger ('ChatGPT supplies attached files this way'), the negative case ('Files that exist only on the user's computer use source_upload_handoff'), and points to source_operation_read for follow-up. That is explicit when/when-not plus a named alternative.

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