Skip to main content
Glama
DocuPipe MCP server

DocuPipe MCP server

Official
by DocuPipe

Extract data from a document

extract

Turn uploaded files or URLs into structured JSON using saved, inline, or auto-drafted schemas, with resumable jobs for long-running document processing.

Instructions

One call from a file to structured JSON: uploads a local file or URL (or reuses a document_id), runs a DocuPipe extraction, waits and returns the extracted data. Pass schema_id to reuse a saved schema, json_schema to define the fields inline, or neither to let DocuPipe draft a schema from the document (its schemaId comes back so later calls give the same fields). If it returns status 'processing', call the tool in 'next' to resume; it never uploads or extracts twice. Credits: upload 1/page for PDF, image, Word and HTML (CSV, Excel, JSON, text and XML upload free); extraction 2/page at standard effort, 4/page at high effort, 3/page with citations (always standard effort). Without a schema, drafting one costs 1 credit per page on at most the first 5 pages. Creating a schema from json_schema is free.

Input Schema

NameRequiredDescriptionDefault
urlNoPublic URL of the file to upload, instead of file_path.
save_toNoOptional path to write the extracted JSON to, relative to the working directory.
citationsNoCite every value to its place on the page (bounding box and confidence). Runs at standard effort, 3 credits/page.
file_pathNoLocal file to upload, relative to the working directory.
schema_idNoSaved schema to extract with (list_schemas).
guidelinesNoPlain-language extraction instructions. Without a schema they also steer the drafted schema.
document_idNoAn already uploaded document, instead of uploading again.
json_schemaNoInline JSON Schema (type object, properties with a description each). Saved as a new schema first, free.
schema_nameNoName for the schema created from json_schema.
effort_levelNoExtraction effort. 'standard' (default) is right for most documents; use 'high' only after standard missed or misread values.
upload_job_idNoThe upload job of document_id, when resuming.
standardization_idNoResume: an extraction already started. Requires standardization_job_id.
include_field_metadataNoAlso return per-field page numbers and, with citations, boxes and confidence.
standardization_job_idNoResume: the job of standardization_id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations supply only openWorldHint, so the description carries the behavior load and does so well: it states the idempotency guarantee ('never uploads or extracts twice'), the resumption path, that the drafted schemaId is returned so later calls are stable, and a per-page credit schedule for upload and extraction. For a mutation tool with no destructive or readOnly hints, this is exactly the context an agent needs.

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 a single dense but well-ordered paragraph, front-loading what the tool does before moving to schema modes, resumption, and pricing. The credit sentences are long but each carries decision-relevant information for a cost-aware agent; nothing is clearly padding.

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 14-parameter tool with no output schema, the description covers the operational flow, the resume path, how the schema round-trip works, and the cost profile, which is close to sufficient. The remaining gap is that the actual shape of the returned JSON beyond 'extracted data' and status 'processing' is only vaguely indicated.

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 does not: how schema_id, json_schema, and neither interact, that creating a schema from json_schema is free while drafting one costs credits on at most the first 5 pages, and the cost impact of citations and effort_level. That inter-parameter logic is genuine added value.

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 opening sentence names a specific verb and resource plus the full scope of the operation: it uploads a local file or URL (or reuses document_id), runs a DocuPipe extraction, waits, and returns structured JSON. That is enough to distinguish it from siblings like upload_document and standardize that do only one part 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 gives clear conditions for each mode: pass schema_id to reuse a saved schema, json_schema to define fields inline, or neither to let DocuPipe draft one, and it says to use 'high' effort only after standard missed values. It also explains how to resume an extraction through 'next'. The only gap is that it never explicitly says when to prefer the sibling upload_document or standardize instead of this tool.

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