Doc2x MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DOC2X_API_KEY | Yes | API key for Doc2x (format: sk-xxx) | |
| DOC2X_BASE_URL | No | Base URL for Doc2x API | https://v2.doc2x.noedgeai.com |
| DOC2X_MAX_WAIT_MS | No | Maximum wait time in milliseconds | 600000 |
| DOC2X_HTTP_TIMEOUT_MS | No | HTTP timeout in milliseconds | 60000 |
| DOC2X_POLL_INTERVAL_MS | No | Polling interval in milliseconds | 2000 |
| DOC2X_DOWNLOAD_URL_ALLOWLIST | No | Comma-separated list of allowed download URL hosts (set to * to allow any host, not recommended) | .amazonaws.com.cn,.aliyuncs.com,.noedgeai.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| doc2x_parse_pdf_submitA | Create a Doc2x PDF parse task for a local file and return {uid}. Prefer calling doc2x_parse_pdf_status to monitor progress/result; only call doc2x_parse_pdf_wait_text if the user explicitly asks to wait/return merged text. |
| doc2x_parse_pdf_statusA | Query parse task status by uid. Returns {status, progress, detail}. status is one of processing/failed/success; progress is an integer 0..100; detail is populated only when status=failed. Fetch parsed content via doc2x_convert_export_*. |
| doc2x_parse_pdf_wait_textA | Wait for a PDF parse task until success and return merged text. Prefer passing uid (no re-submit). If only pdf_path is provided, it will (a) reuse an in-process cached uid if available, otherwise (b) submit a new task then wait. |
| doc2x_materialize_pdf_layout_jsonA | Wait for a PDF parse task and write the raw Doc2x result JSON (with page layout) to output_path. Prefer passing uid. If only pdf_path is provided, this tool reuses a cached uid or submits a new parse with model='v3-2026' by default. |
| doc2x_convert_export_submitA | Start an export (convert) job for a parsed PDF uid. After this, poll with doc2x_convert_export_wait or doc2x_convert_export_result. Do NOT call doc2x_convert_export_submit twice for the same uid+format in parallel. |
| doc2x_convert_export_resultB | Get the latest export (convert) result for a parsed PDF uid (may contain an escaped URL). |
| doc2x_convert_export_waitA | Wait for an export job to finish. Prefer calling doc2x_convert_export_submit first, then wait with uid+to. For backward compatibility, if formula_mode is provided and this job was not submitted in-process, this tool will submit once then wait. |
| doc2x_parse_image_layout_syncA | Parse an image layout synchronously and return the raw Doc2x result JSON (including convert_zip when present). |
| doc2x_parse_image_layout_submitA | Create an async image-layout parse task and return {uid}. After this, call doc2x_parse_image_layout_wait_text (with uid) or doc2x_parse_image_layout_status. |
| doc2x_parse_image_layout_statusA | Get status/result for an existing async image-layout parse task by uid. |
| doc2x_parse_image_layout_wait_textA | Wait for an image-layout parse task until success, returning first page markdown. Prefer passing uid (no re-submit). If only image_path is provided, it will (a) reuse an in-process cached uid if available, otherwise (b) submit a new async task then wait. |
| doc2x_download_url_to_fileB | Download a Doc2x-provided URL (e.g. from doc2x_convert_export_result) to a local file path. |
| doc2x_materialize_convert_zipB | Materialize convert_zip (base64) into output_dir. Best-effort: tries system unzip first; otherwise writes the zip file. |
| doc2x_debug_configA | Debug helper: return resolved config and API key source for troubleshooting. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
The PDF-parse, image-layout, and convert-export domains are broadly distinguishable, but several tools overlap heavily: doc2x_parse_pdf_wait_text and doc2x_materialize_pdf_layout_json both wait on a PDF parse, while doc2x_convert_export_result and doc2x_convert_export_wait both retrieve export output. Descriptions clarify preferred usage, but an agent must still choose carefully among multiple convenience wrappers.
All tools use the doc2x_ prefix and snake_case, and core lifecycle tools follow grouped patterns like parse_pdf_submit/status/wait_text and convert_export_submit/wait/result. A few helper tools use verb-first naming (materialize_convert_zip, download_url_to_file, debug_config), which is a minor deviation.
The 14-tool surface is well-scoped for a document parsing/export server, covering PDF parsing, image-layout parsing, export lifecycle, materialization/download, and debugging. The count is neither thin nor bloated, and each tool maps to a recognizable role.
The set covers submission, status polling, waiting, export conversion, materialization, download, and config debugging, so core document-parsing workflows are supported. Minor lifecycle gaps remain, such as task cancellation/listing or deletion/cleanup operations.