doc-convert-mcp
Server Details
Document conversion MCP server: PDF to Markdown, image OCR, spreadsheet parsing.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool targets a distinct input type and transformation: image-to-text OCR, spreadsheet-to-Markdown, PDF-to-Markdown, and URL-to-plain-text. There is no overlap in purpose or ambiguity about which tool to select for a given source format.
Names are readable and mostly follow a predictable pattern, but two tools use verb_noun (ocr_image, parse_spreadsheet) while two use source_to_target (pdf_to_markdown, url_to_clean_text). This is a minor deviation from a single convention, but still clear and consistent enough for an agent.
With 4 tools, the server is tightly scoped to common document extraction tasks. Each tool covers a meaningful conversion need without redundancy or bloat, making the count appropriate for a focused utility server.
The set covers OCR, spreadsheets, PDFs, and web pages, which are common conversion targets. Notable gaps include office document formats like DOCX or PPTX, and no batch conversion tool, but the core conversions are well-covered and agents can work around these minor gaps.
Available Tools
4 toolsocr_imageOcr ImageAInspect
Run OCR on an image (base64-encoded bytes) and return recognized text.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Tesseract language code (default 'eng'). | eng |
| image_base64 | Yes | The image file contents, base64-encoded. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the core behavior (runs OCR, returns text) and the input encoding, but does not mention side effects, limits, supported image formats, or whether the operation is read-only. For a simple read-only tool, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is front-loaded with the action and resource, making it easy for an agent to scan and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with a complete schema and an output schema, the description is nearly sufficient. It omits minor details like supported image formats or error cases, but these are not critical for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds 'base64-encoded bytes' which duplicates the schema's image_base64 description and does not provide additional meaning for the lang parameter. No extra parameter-level value is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Run OCR') and resource ('image'), and specifies input format (base64-encoded bytes). It clearly distinguishes from siblings like parse_spreadsheet, pdf_to_markdown, and url_to_clean_text by focusing on image OCR.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when OCR on an image is needed, but does not explicitly state when to use this tool versus alternatives, nor mention exclusions or conditions. The sibling tools are present but not referenced, leaving selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_spreadsheetParse SpreadsheetAInspect
Parse a CSV or XLSX file (base64-encoded bytes) into Markdown tables.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | Original filename (used to detect .csv vs .xlsx). | |
| file_base64 | Yes | The spreadsheet file contents, base64-encoded. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does disclose the base64-encoded input requirement and the output format, but it does not mention limitations, error behavior, or side effects. The read-only nature is implied by 'parse' but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core operation and includes only necessary details. Every word adds value and there is no redundant or vague phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with full schema coverage and an output schema, the description is largely sufficient. It could be more complete with explicit non-destructive wording or format limitations, but nothing critical is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds some semantic value by noting the file is base64-encoded bytes, but it does not provide extra meaning beyond the schema for the filename parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Parse'), the resource ('CSV or XLSX file'), and the output ('Markdown tables'). It also differentiates from sibling tools by explicitly naming spreadsheet formats, which is distinct from OCR, PDF, or URL-text tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context by specifying the supported input types (CSV/XLSX), so an agent can infer when to use it. However, it does not explicitly state when not to use it or mention alternatives, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pdf_to_markdownPdf To MarkdownAInspect
Convert a PDF (base64-encoded bytes) to Markdown, one section per page.
| Name | Required | Description | Default |
|---|---|---|---|
| max_pages | No | Maximum pages to extract (default 100). | |
| pdf_base64 | Yes | The PDF file contents, base64-encoded. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the core behavior: base64 PDF input, Markdown output, and page-by-page sectioning. However, with no annotations provided, it carries the full burden and does not mention error handling, size limits, scanned-PDF behavior, or what happens beyond max_pages. It is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that captures the verb, input format, output format, and a structural detail. Every word earns its place and there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter converter with an output schema available, the description plus schema is sufficient for an agent to invoke it correctly: required pdf_base64 and optional max_pages are covered. The only minor gap is the absence of explicit guidance about when to choose this over sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters already have meaningful descriptions in the schema. The tool description restates 'base64-encoded bytes' but adds no operational detail beyond what the schema already provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Convert'), a clear resource (PDF base64 bytes), and the exact output format (Markdown). 'One section per page' clarifies the output structure and helps distinguish this tool from siblings like ocr_image or parse_spreadsheet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: whenever a PDF must be converted to Markdown. However, it does not explicitly mention alternatives or exclusions, such as using ocr_image for image-based documents or parse_spreadsheet for tabular files. Usage context is clear but left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
url_to_clean_textUrl To Clean TextAInspect
Fetch a public http(s) URL and return its main text content as plain text.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The http(s) URL to fetch. Private/loopback hosts are rejected. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of explaining the operation. It discloses that this is a read-only network fetch, restricts to public URLs, and specifies the return is plain text. It does not cover failure modes or content-extraction heuristics, but this is a simple tool and the core behavior is clearly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence containing all essential information: fetch action, URL input, and plain-text output. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only tool with an output schema available, the description covers the essential usage. Minor omissions (e.g., behavior on non-HTML responses, handling of redirects) are acceptable given the tool's simplicity and the presence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the 'url' parameter already documents the http(s) requirement and the rejection of private/loopback hosts. The tool description only echoes 'public', adding no new parameter semantics beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Fetch'), a resource ('URL'), and the output ('main text content as plain text'). It is immediately distinguishable from sibling tools (ocr_image, parse_spreadsheet, pdf_to_markdown) which target images, spreadsheets, and PDFs respectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates the tool is for http(s) URLs, implying it is the right choice when input is a web page rather than a file. However, it does not explicitly mention alternatives or when-not-to-use conditions, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
ocr_image - First observed
parse_spreadsheet - First observed
pdf_to_markdown - First observed
url_to_clean_text
Related MCP Connectors
Document-to-Markdown MCP server — convert PDF, Office and HTML into LLM-ready Markdown.
Hosted MCP server: convert PDFs to clean, LLM-ready Markdown with tables, formulas and OCR.
Document processing over MCP: merge, split and compress PDFs, run OCR, extract document text.
Generate PDF, Word (.docx) and PowerPoint (.pptx) documents from Markdown over MCP.
Related MCP Servers
- AlicenseBqualityDmaintenanceA universal MCP server for document processing, conversion, and automation. Handle PDF, DOCX, HTML, Markdown, and more through a unified API and toolset.137 npm140MIT
- FlicenseAqualityBmaintenanceDocument-engineering MCP tool server providing tools for PDF, Office, Images, and Archives extraction and conversion. It never mutates source files and requires local tesseract for OCR.12-
- FlicenseNot gradedqualityCmaintenanceAn MCP server that converts and processes document formats such as DOCX and PDF into Markdown, enabling AI assistants to work with document contents.-
- AlicenseNot gradedqualityDmaintenanceUniversal MCP server for extracting text from various document formats including PDF, Excel, Word, CSV, and more, with support for streaming, limits, and markdown conversion.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.