Skip to main content
Glama

Upload a .docx to work on

doc_upload
DestructiveIdempotent

Send an existing Word document to this hosted endpoint. There is no filesystem here, so instead of a path you upload the file once with doc_upload and then pass its name as path to doc_read, doc_to_html and doc_fill_template. Give exactly one of docx_base64 or url. url: fetch a public file instead of pasting base64 (recommended above about 10 KB): a 13 KB base64 paste can take minutes to write out, while a url costs one line and the fetch happens here (10 second timeout, at most 3 redirects, public http(s) hosts only, 2 MB cap). Uploads are kept for your token between calls; doc_read and doc_fill_template also take docx_base64 directly; that file is stored under the name you give (default 'inline' / 'template') and can be removed with doc_delete_upload. Documents this server writes come back as a download link valid for one hour.

Input Schema

NameRequiredDescriptionDefault
urlNourl: fetch a public file instead of pasting base64 (recommended above about 10 KB). Public http(s) only; private, link-local and this endpoint's own zone are refused
nameYesName to refer to this document by: 1-64 characters of letters, digits, underscore or dash, e.g. "contract"
docx_base64NoThe .docx file, base64-encoded

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Adds substantial context beyond the annotations: uploads persist per token across calls, files are stored under the supplied name (defaults 'inline'/'template'), and deletes go through doc_delete_upload. It also discloses fetch limits (10s timeout, 3 redirects, public http(s) only, 2 MB cap). The one gap is that destructiveHint=true is never made explicit — the description implies re-uploading under an existing name overwrites it, but never says so outright.

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-loaded with the essential model (upload once, reference by name), then details. It is a dense single paragraph with a long parenthetical of fetch constraints, but nearly every clause carries operational information; only the download-link sentence is tangential to the upload action.

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 3-parameter storage tool with no output schema, the description covers lifecycle (persisted per token, removable via doc_delete_upload), naming semantics, fetch safety limits, and the sibling hand-off. An agent has everything needed to call it and to know what to do afterward.

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 baseline is 3, but the description contributes a constraint the schema does not encode: the exclusivity of docx_base64 vs url (the schema has no oneOf, only `name` is required). It also repeats the size-based selection advice with the operational rationale rather than just restating the field docs.

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+resource ("Send an existing Word document to this hosted endpoint") and immediately explains the non-obvious framing: there is no filesystem, so upload once and reference by name. This distinguishes it cleanly from doc_read, doc_to_html and doc_fill_template, which consume the uploaded name.

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?

Explicit routing rules: "Give exactly one of docx_base64 or url", plus a concrete heuristic for choosing (url recommended above ~10 KB because a 13 KB base64 paste takes minutes). It also names the cleanup path (doc_delete_upload) and notes that doc_read/doc_fill_template can bypass this tool entirely by taking docx_base64 directly.

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.