Skip to main content
Glama
DocuPipe MCP server

DocuPipe MCP server

Official
by DocuPipe

Upload a document

upload_document

Upload a local file or public URL to DocuPipe, wait for OCR/parsing, and return the document_id used by other tools.

Instructions

Upload a local file or URL to DocuPipe and wait for it to be read (OCR and parsing). Returns the document_id used by every other tool. Credits: 1/page for PDF, image, Word and HTML; CSV, Excel, JSON, text and XML upload free.

Input Schema

NameRequiredDescriptionDefault
urlNoPublic URL of the file, instead of file_path.
waitNoWait for parsing to finish (default true).
datasetNoOptional dataset name to group documents.
metadataNoOptional metadata stored with the document.
file_pathNoLocal file, relative to the working directory.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare openWorldHint=true, so the description carries most of the burden and delivers: it discloses that the call blocks until OCR and parsing complete, and gives concrete credit costs broken down by file type. It does not cover authentication, failure modes, or what happens when parsing fails, which keeps it below 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.

Conciseness5/5

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

Three sentences, front-loaded with the action and the returned identifier, with the cost caveat last. Every sentence adds information an agent needs: the action, the blocking behavior, the return value, and the billing consequence.

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?

For a five-parameter, zero-required tool with no output schema, the description covers the return value (document_id) and cost profile well. The gap is that zero required parameters means an agent could call it with neither url nor file_path, and the description never states that exactly one source is needed.

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 meaning the schema lacks: which file types are supported and which are billed versus free. The 'local file or URL' phrasing also reinforces the file_path/url mutual exclusivity that the schema only implies via 'instead of file_path'.

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 names a specific verb (upload) and resource (local file or URL), states what happens next (OCR and parsing), and names the artifact produced (document_id). The phrase 'used by every other tool' also positions it against siblings such as extract and get_document as the entry point of the pipeline.

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 makes clear this is the first step ('Returns the document_id used by every other tool'), which tells an agent when to reach for it before extract or get_document. It does not name explicit alternatives or state when not to use it, nor when to set wait to false.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.