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_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_download_url_to_fileA | Download a Doc2x-provided URL (e.g. from doc2x_convert_export_result) to a local file path. |
| 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_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 13 tools
Most tools have distinct purposes, but there is some overlap in waiting/submission pairs that could cause confusion. For example, doc2x_convert_export_wait and doc2x_convert_export_result both relate to export jobs, and the distinction between waiting and checking status might not be immediately clear. However, the descriptions help clarify their roles, and the overall set is well-organized around parsing and conversion workflows.
Tool names follow a highly consistent pattern throughout, using a doc2x_ prefix with verb_noun combinations (e.g., convert_export_submit, parse_pdf_status). All names use snake_case uniformly, and the naming scheme clearly indicates the action and resource involved, making the set predictable and easy to navigate.
With 13 tools, the count is well-scoped for a PDF/document processing server. Each tool serves a specific function in parsing, converting, and managing tasks, with no obvious bloat or redundancy. The tools cover submission, waiting, status checking, and result handling, which is appropriate for the domain's asynchronous nature.
The tool set provides comprehensive coverage for PDF and image parsing, conversion, and result retrieval, including synchronous and asynchronous operations. Minor gaps exist, such as the lack of tools for deleting or managing tasks beyond status checks, but these are not critical for core workflows. The surface supports end-to-end processing from submission to download, with only slight omissions in task lifecycle management.