docforge
Server Details
PDF to markdown, OCR, table extraction, invoice parsing, and PDF rendering. Pay per call via x402.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 5 of 5 tools scored.
Each tool targets a distinct document processing task: table extraction, image OCR, invoice parsing, PDF-to-markdown conversion, and markdown-to-PDF rendering. Even though parse_invoice can process images, its structured output clearly differentiates it from ocr_image.
Four tools follow a clear verb_noun pattern (extract_tables, ocr_image, parse_invoice, render_pdf). However, pdf_to_markdown breaks the pattern by using a source_to_target format instead of a verb-first name, creating a minor inconsistency.
Five tools is a well-scoped count for a document processing server. Each tool serves a distinct purpose without redundancy, covering input (PDF, image), processing (extraction, OCR, parsing), and output (markdown, PDF).
The toolkit covers a coherent document workflow: extract text/tables from PDFs, OCR images, parse invoices, convert to markdown, and generate PDFs. A minor gap is the lack of direct scanned-PDF handling (requires manual page-to-image conversion), but this is workable around.
Available Tools
5 toolsextract_tablesExtract Tables from PDFAInspect
Detect and reconstruct tables from a text-based PDF. Returns each table as structured rows plus ready-to-use markdown and CSV renderings. Works best on PDFs with clear columnar layout (invoices, reports, statements).
| Name | Required | Description | Default |
|---|---|---|---|
| file_url | No | Public http(s) URL of the file | |
| file_base64 | No | Base64-encoded file contents (data-URI prefix allowed) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool requires a text-based PDF, implies limitations with non-clear layouts, and explicitly states the output format (structured rows plus markdown and CSV). This is useful behavioral context, though it does not cover failure modes or exact row structure.
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 two sentences, front-loaded with the core action, followed by output details and best-use case. Every sentence provides value, with 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?
The description lacks details on the exact structured row format (e.g., array of objects, column names) and behavior when no tables are found or when tables span multiple pages. Since there is no output schema, the description should compensate more fully, but it does cover the essential output types and limitation, making it minimally adequate.
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 coverage is 100% with both file_url and file_base64 having descriptions. The tool description itself adds no new parameter semantics, so the baseline of 3 is appropriate as the schema already documents the parameters.
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 tool's function: detecting and reconstructing tables from a PDF, with a specific verb and resource. It differentiates from sibling tools like pdf_to_markdown by emphasizing structured rows and CSV output, and from ocr_image by explicitly targeting text-based PDFs.
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 provides clear usage context by specifying it works best on text-based PDFs with clear columnar layouts, and gives examples (invoices, reports, statements). It does not explicitly mention when not to use or name alternatives, but the context is strong enough for an agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ocr_imageOCR Image to TextAInspect
Run optical character recognition on an image (png, jpg, webp, bmp) and return the recognized text with a confidence score. Supports 100+ languages via the language parameter (ISO 639-2 codes like 'eng', 'deu', 'fra', 'spa').
| Name | Required | Description | Default |
|---|---|---|---|
| file_url | No | Public http(s) URL of the file | |
| language | No | Tesseract language code, default 'eng' | |
| file_base64 | No | Base64-encoded file contents (data-URI prefix allowed) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the output (text and confidence score), supported image formats, and language support, which are useful behavioral details. However, it does not mention constraints like file size, authentication, error behavior, or that exactly one of file_url/file_base64 must be provided.
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 two sentences, front-loaded with the core action and output, and includes necessary details (formats, languages) without redundancy. Every sentence earns its place.
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 OCR tool with no output schema and decent annotations in the schema itself, the description covers key aspects: input formats, language options, and return value. It could be complete if it mentioned the input source constraint (file_url vs file_base64) that is inferred from the schema, but that is a minor gap.
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 coverage is 100%, so parameters are already described. The description adds value by giving explicit examples for the language parameter (ISO 639-2 codes like 'eng', 'deu'), but does not add additional meaning for file_url or file_base64 beyond the schema.
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 tool 'Run optical character recognition on an image' with supported formats and returns 'recognized text with a confidence score.' This distinguishes it from siblings like extract_tables, parse_invoice, pdf_to_markdown, and render_pdf, which target different document processing tasks.
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 use for image OCR but does not explicitly mention when to use this tool over alternatives or provide exclusions. It lacks guidance such as 'for PDFs, use pdf_to_markdown' or any comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_invoiceParse Invoice/ReceiptAInspect
Extract structured data from an invoice or receipt: vendor, invoice number, dates, currency, subtotal, tax, total, and line items. Accepts a text-based PDF, or an image when is_image is true (OCR is applied first). Returns JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| file_url | No | Public http(s) URL of the file | |
| is_image | No | Set true when the file is a photo/scan image rather than a PDF | |
| file_base64 | No | Base64-encoded file contents (data-URI prefix allowed) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavior. It explains that images undergo OCR first, that PDFs must be text-based, and that the result is JSON. It does not cover failure modes, limits, or authentication, but the disclosed traits are meaningful and go beyond what the schema states.
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 two sentences, front-loaded with the purpose and output fields, then addressing input handling and return format. Every clause contributes useful information with no filler or repetition.
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?
The tool has no output schema, so the description carries the burden of explaining return values; it does so by listing the extracted fields and stating 'Returns JSON.' It also covers the two input modes (PDF vs. image). It lacks details on error handling or file size limits, but for its apparent simplicity it is reasonably complete.
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 descriptions cover all three parameters, giving a baseline of 3. The description adds extra meaning by explaining the interaction between file type and the is_image flag, and by stating that a comma-separated list of extraction fields will be emitted. This enriches the parameter semantics without contradicting the schema.
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 opens with a specific verb and target ('Extract structured data from an invoice or receipt') and enumerates the output fields, making the tool's purpose immediately clear. It differentiates itself from sibling tools by focusing on invoice/receipt-specific structured extraction rather than generic table extraction or 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 gives clear context on when to use the tool: for invoices/receipts, and it clarifies the input mode ('text-based PDF' vs. 'image when is_image is true'). It does not explicitly name alternative sibling tools or state when *not* to use it, so it falls short of a 5.
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
Extract the text of a PDF and convert it to clean markdown. Detects headings by font size and preserves lists and paragraphs. Input: a text-based PDF via file_url or file_base64. For scanned PDFs use ocr_image on page images instead.
| Name | Required | Description | Default |
|---|---|---|---|
| file_url | No | Public http(s) URL of the file | |
| file_base64 | No | Base64-encoded file contents (data-URI prefix allowed) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses key behaviors: text extraction, markdown conversion, heading detection, and list/paragraph preservation. However, it doesn't mention return format, error handling, or limitations on PDF size/complexity, leaving some gaps.
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?
Two sentences, front-loaded with purpose, then input constraints, then alternative. Zero wasted words, every clause adds value.
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 no output schema and no annotations, the description covers the main purpose, input format, behavioral features, and an important exception. It lacks explicit return value details, but given the tool's simplicity, it is fairly complete.
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 coverage is 100% with good descriptions for both file_url and file_base64. The description adds the context that the PDF must be text-based, but this applies to the overall input rather than individual parameters. It doesn't add further semantic detail beyond the schema, so a 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 clearly states the verb ('Extract the text of a PDF and convert it to clean markdown'), specifies the resource (PDF), and differentiates from siblings by mentioning heading detection and list/paragraph preservation. It also explicitly directs scanned PDFs to ocr_image, setting it apart from that sibling.
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?
It gives explicit input constraints ('text-based PDF') and an explicit alternative for scanned PDFs ('use ocr_image on page images instead'). This provides clear when-to-use and when-not-to-use guidance, including a named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_pdfRender Markdown/HTML to PDFAInspect
Render markdown (or simple HTML) into a clean, printable A4 PDF. Supports headings, paragraphs, bullet and numbered lists, blockquotes, code blocks, horizontal rules, and inline bold/italic/code. Returns the PDF as base64 plus page count.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | PDF document title metadata | |
| format | No | Input format, default markdown | |
| content | Yes | The markdown or HTML source to render |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the output format (base64 PDF plus page count), the A4 page size, and the supported subset of markdown/HTML features. It does not detail limitations like CSS support or error behavior, but the provided information gives a solid behavioral profile for a non-destructive render tool.
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 three sentences, each purposeful: main purpose, supported features, and return format. It is front-loaded with the core action and avoids redundancy or unnecessary text.
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?
The tool is simple with no output schema, but the description covers the return format (base64 + page count) and supported input features. It does not explain all edge cases or styling limitations, but for a straightforward render tool, the description is sufficiently complete for an agent to select and invoke it correctly.
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 coverage is 100% with descriptions for all three parameters, so baseline is 3. The description adds some value by elaborating on supported content elements (headings, lists, code blocks), which enriches the 'content' parameter meaning, but it does not add detail on 'title' or 'format' beyond schema.
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 tool renders markdown or simple HTML into an A4 PDF, using a specific verb ('render') and resource ('markdown/HTML to PDF'). It also lists supported formatting elements, distinguishing it from sibling tools that extract tables, OCR images, parse invoices, or convert PDFs to markdown.
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 for converting markdown/HTML to PDF but does not explicitly mention when to use this tool over siblings or provide exclusions. The context suggests it is for PDF generation, while siblings handle PDF extraction or parsing, but this is not stated in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityBmaintenanceConvert PDFs to structured JSON. Extract invoices, bank statements, contracts, and more. Pay per call via x402 USDC.58MIT
- Alicense-qualityDmaintenanceGenerates PDF documents from HTML or Markdown content with customizable page size, margins, and orientation, supporting pay-per-call payments via x402.MIT
- AlicenseAqualityCmaintenanceConverts PDF, Word, Excel, and PowerPoint documents to Markdown using a pay-per-conversion model with USDC on Base via the x402 protocol.2MIT
- Alicense-qualityCmaintenanceMCP server for StructDoc that converts documents (PDFs, images) into structured data like Markdown, OCR text, and invoice/receipt fields for AI agents, with pay-per-call via x402 (USDC on Base/Solana).11MIT