Dokmatiq DocGen
PYPI · DOKMATIQ-DOCGEN-MCP
Generate PDF, DOCX and Excel documents, e-invoices and signed PDFs, and recognize receipts.
Available components
Last scanned (2 hours ago)
Scores higher than 82% of PyPI servers
Category Documents and Files
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 1 of 32 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 39 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability76
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 3539 tokens (~88/item across 40 items; 40 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "merge_pdfs" implies "merge" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 40 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Nov 26 +1
- Stability: 0.97 → pass security
- 1 Nov 26 −1
- Stability: pass → 0.97 functional
- 31 Oct 26 0
- Security disclosure: unverified → fail ▼ functional
- Package version: 0.1.2 → 0.1.3 functional
- 30 Oct 26 0
- Security disclosure: fail → unverified ▼ functional
- 29 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 26 Oct 26 +1
- Stability: 0.97 → pass security
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Oct 26 −15
- Malware scan: pass → unverified ▼ security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed pypi/dokmatiq-docgen-mcp@0.1.3
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 32 packages
| Packages resolved | 32 |
|---|---|
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compose_document ~119
Compose a multi-part document from several sections. Each part is a dict with: htmlContent, markdownContent, templateName, fields. Args: parts: List of document parts. Each part can have htmlContent, markdownContent, templateName, fields. watermark: Optional diagonal watermark text overlay. output_format: Output format – PDF, DOCX, or ODT (default: PDF). Returns: Base64-encoded document bytes.
| Name | Type | Req | Description |
|---|---|---|---|
| output_format | string | – | – |
| parts | array | yes | – |
| watermark | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
convert_to_pdfa ~53
Convert a PDF to PDF/A archival format. Args: pdf_base64: Base64-encoded PDF file. Returns: Base64-encoded PDF/A file.
| Name | Type | Req | Description |
|---|---|---|---|
| pdf_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
create_invoice ~488
Create a ZUGFeRD-compliant invoice PDF with structured e-invoicing data. Each item in the items list should have: description, unitPrice, and optionally quantity, unit (C62=piece, HUR=hour, DAY=day, KGM=kg), vatRate. Args: invoice_number: Unique invoice number (e.g. "RE-2026-001"). invoice_date: Invoice date in ISO format (e.g. "2026-04-12"). seller_name: Seller company name. seller_street: Seller street address. seller_zip: Seller postal code. seller_city: Seller city. buyer_name: Buyer company name. buyer_street: Buyer street address. buyer_zip: Buyer postal code. buyer_city: Buyer city. items: Line items – each with description, unitPrice, and optionally quantity, unit, vatRate. iban: Payment IBAN. bic: Payment BIC/SWIFT code. payment_terms: Payment terms text. due_date: Payment due date (ISO format). seller_vat_id: Seller VAT ID. seller_country: Seller country code (default: DE). buyer_country: Buyer country code (default: DE). buyer_vat_id: Buyer VAT ID. currency: Currency code (default: EUR). template_name: Template name for the invoice layout. html_content: HTML content for the invoice body. Returns: Base64-encoded PDF with embedded ZUGFeRD XML.
| Name | Type | Req | Description |
|---|---|---|---|
| bic | – | – | – |
| buyer_city | string | yes | – |
| buyer_country | string | – | – |
| buyer_name | string | yes | – |
| buyer_street | string | yes | – |
| buyer_vat_id | – | – | – |
| buyer_zip | string | yes | – |
| currency | string | – | – |
| due_date | – | – | – |
| html_content | – | – | – |
| iban | – | – | – |
| invoice_date | string | yes | – |
| invoice_number | string | yes | – |
| items | array | yes | – |
| payment_terms | – | – | – |
| seller_city | string | yes | – |
| seller_country | string | – | – |
| seller_name | string | yes | – |
| seller_street | string | yes | – |
| seller_vat_id | – | – | – |
| seller_zip | string | yes | – |
| template_name | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
csv_to_excel ~129
Convert CSV content into a styled Excel workbook. Auto-formats with header styling, auto-filter, frozen header row, and auto-sized columns. Args: csv_content: Raw CSV text content. delimiter: CSV delimiter (default: comma). has_header: Whether the first row is a header (default: true). sheet_name: Name for the sheet tab (default: "Data"). Returns: Base64-encoded XLSX file.
| Name | Type | Req | Description |
|---|---|---|---|
| csv_content | string | yes | – |
| delimiter | string | – | – |
| has_header | boolean | – | – |
| sheet_name | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
delete_template ~39
Delete a template by name. Args: name: Name of the template to delete. Returns: Confirmation message.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
detect_xrechnung ~56
Detect if an XML document is an XRechnung and identify its format. Args: xml: XML content to analyze. Returns: JSON with detection result (detected, format, version).
| Name | Type | Req | Description |
|---|---|---|---|
| xml | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
excel_to_csv ~94
Extract data from an Excel sheet and return it as CSV text. Args: excel_base64: Base64-encoded Excel file. sheet_index: Sheet index to extract (0-based, default: 0). delimiter: CSV delimiter (default: comma). Returns: CSV text content.
| Name | Type | Req | Description |
|---|---|---|---|
| delimiter | string | – | – |
| excel_base64 | string | yes | – |
| sheet_index | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
excel_to_json ~120
Extract data from an Excel sheet and return structured JSON. Returns headers (if present) and typed data rows. Args: excel_base64: Base64-encoded Excel file. sheet_index: Sheet index to extract (0-based, default: 0). has_header: Whether the first row is a header (default: true). Returns: JSON with sheetName, totalRows, headers, and data array.
| Name | Type | Req | Description |
|---|---|---|---|
| excel_base64 | string | yes | – |
| has_header | boolean | – | – |
| sheet_index | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
export_receipts_csv ~53
Export extracted receipt data as DATEV-compatible CSV. Args: receipts: List of receipt extraction results (from extract_receipt). Returns: Base64-encoded CSV file.
| Name | Type | Req | Description |
|---|---|---|---|
| receipts | array | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
export_receipts_xlsx ~57
Export extracted receipt data as Excel workbook (XLSX). Args: receipts: List of receipt extraction results (from extract_receipt). Returns: Base64-encoded XLSX file.
| Name | Type | Req | Description |
|---|---|---|---|
| receipts | array | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
extract_receipt ~140
Extract structured data from a receipt or invoice image using AI. Returns vendor, date, totals (gross/net/VAT per rate), line items, currency, payment method, SKR03/04 account, category, and confidence score. Args: image_base64: Base64-encoded receipt image (JPEG, PNG) or PDF. filename: Original filename (helps with format detection). content_type: MIME type (default: image/jpeg). Use application/pdf for PDF receipts. Returns: JSON with extracted receipt data.
| Name | Type | Req | Description |
|---|---|---|---|
| content_type | string | – | – |
| filename | string | – | – |
| image_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
extract_receipt_async ~129
Submit a receipt for async AI extraction. Returns a job ID for polling. Use get_receipt_job to check status and get_receipt_job_result for the result. Args: image_base64: Base64-encoded receipt image or PDF. filename: Original filename. content_type: MIME type (default: image/jpeg). callback_url: Optional webhook URL to receive the result. Returns: JSON with jobId and status.
| Name | Type | Req | Description |
|---|---|---|---|
| callback_url | – | – | – |
| content_type | string | – | – |
| filename | string | – | – |
| image_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
extract_text_from_pdf ~49
Extract all text content from a PDF. Args: pdf_base64: Base64-encoded PDF file. Returns: Extracted text content.
| Name | Type | Req | Description |
|---|---|---|---|
| pdf_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
extract_zugferd ~62
Extract structured invoice data from a ZUGFeRD/Factur-X PDF. Args: pdf_base64: Base64-encoded ZUGFeRD PDF. Returns: JSON with extracted invoice data.
| Name | Type | Req | Description |
|---|---|---|---|
| pdf_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
fill_excel_template ~138
Fill an Excel template with data at named cells and ranges. Args: template_base64: Base64-encoded Excel template file. values: Cell values to set (key = cell ref like 'Sheet1!A1' or named range, value = content). tables: Table data to insert at named ranges (key = range name, value = row arrays). recalculate: Recalculate formulas after filling (default: true). Returns: Base64-encoded filled XLSX file.
| Name | Type | Req | Description |
|---|---|---|---|
| recalculate | boolean | – | – |
| tables | – | – | – |
| template_base64 | string | yes | – |
| values | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
fill_pdf_form ~91
Fill form fields in a PDF. Args: pdf_base64: Base64-encoded PDF file with form fields. fields: Field name-value pairs to fill. flatten: Whether to flatten the form (make fields non-editable). Returns: Base64-encoded filled PDF.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | object | yes | – |
| flatten | boolean | – | – |
| pdf_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
generate_document ~148
Generate a document with optional template, fields, and watermark. Args: html_content: HTML content for the document body. markdown_content: Markdown content (alternative to HTML). template_name: Name of a pre-uploaded template (ODT/DOCX). fields: Template field replacements (key-value pairs). watermark: Diagonal watermark text overlay. output_format: Output format – PDF, DOCX, or ODT (default: PDF). Returns: Base64-encoded document bytes.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | – | – | – |
| html_content | – | – | – |
| markdown_content | – | – | – |
| output_format | string | – | – |
| template_name | – | – | – |
| watermark | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
generate_excel ~199
Generate an Excel workbook (.xlsx) from a structured JSON definition. The request dict should contain: sheets: List of sheet definitions, each with: name: Sheet tab name columns: Column definitions (header, width, format, align) rows: Data rows (list of dicts with 'values' or 'cells') formulas: List of formula definitions (cell, formula, label) headerFooter: Print header/footer configuration printArea: Print area in A1 notation freezePane: {row, col} for frozen panes headerStyle/dataStyle: Cell styling definitions autoSizeColumns, autoFilter, pageOrientation, fitToPage properties: Document properties (title, author, subject) password: Workbook protection password Args: request: Structured JSON definition of the Excel workbook. Returns: Base64-encoded XLSX file.
| Name | Type | Req | Description |
|---|---|---|---|
| request | object | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
generate_pdf_from_html ~46
Generate a PDF from HTML content. Args: html: HTML content to convert to PDF. Returns: Base64-encoded PDF bytes.
| Name | Type | Req | Description |
|---|---|---|---|
| html | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
generate_pdf_from_markdown ~47
Generate a PDF from Markdown content. Args: markdown: Markdown content to convert to PDF. Returns: Base64-encoded PDF bytes.
| Name | Type | Req | Description |
|---|---|---|---|
| markdown | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_pdf_metadata ~57
Get metadata (title, author, page count, etc.) from a PDF. Args: pdf_base64: Base64-encoded PDF file. Returns: JSON string with metadata fields.
| Name | Type | Req | Description |
|---|---|---|---|
| pdf_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_pdf_page_count ~49
Get the total number of pages in a PDF. Args: pdf_base64: Base64-encoded PDF file. Returns: Page count.
| Name | Type | Req | Description |
|---|---|---|---|
| pdf_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | integer | yes | – |
No examples provided.
get_receipt_job ~63
Check the status of an async receipt extraction job. Args: job_id: The job ID returned by extract_receipt_async. Returns: JSON with job status (PENDING, PROCESSING, COMPLETED, FAILED).
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_receipt_job_result ~55
Get the extraction result of a completed async receipt job. Args: job_id: The job ID returned by extract_receipt_async. Returns: JSON with extracted receipt data.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
inspect_excel ~67
Inspect an Excel workbook and return metadata. Returns sheet names, row/column counts, and named ranges. Args: excel_base64: Base64-encoded Excel file. Returns: JSON with sheetCount, sheets array, and namedRanges.
| Name | Type | Req | Description |
|---|---|---|---|
| excel_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
inspect_pdf_form ~62
Inspect form fields in a PDF and return their names, types, and current values. Args: pdf_base64: Base64-encoded PDF file with form fields. Returns: JSON array of form field definitions.
| Name | Type | Req | Description |
|---|---|---|---|
| pdf_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_certificates ~25
List all uploaded signing certificates. Returns: JSON array of certificate info objects.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_fonts ~24
List all uploaded custom fonts. Returns: JSON array of font info objects.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_receipt_jobs ~27
List all async receipt extraction jobs. Returns: JSON array of job info objects.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_templates ~24
List all uploaded document templates. Returns: JSON array of template info objects.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
merge_pdfs ~56
Merge multiple PDFs into a single PDF. Args: pdfs_base64: List of base64-encoded PDF files to merge. Returns: Base64-encoded merged PDF.
| Name | Type | Req | Description |
|---|---|---|---|
| pdfs_base64 | array | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
parse_xrechnung ~46
Parse XRechnung XML into structured invoice data. Args: xml: XRechnung XML content. Returns: JSON with parsed invoice data.
| Name | Type | Req | Description |
|---|---|---|---|
| xml | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
preview_pdf_page ~92
Render a PDF page as a PNG image preview. Args: pdf_base64: Base64-encoded PDF file. page: Page number (1-based, default: 1). dpi: Resolution in DPI (default: 150). Returns: Base64-encoded PNG image.
| Name | Type | Req | Description |
|---|---|---|---|
| dpi | integer | – | – |
| page | integer | – | – |
| pdf_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
receipt_to_document ~170
Extract receipt data and generate an expense report document. Combines AI extraction with document generation in a single step. Args: image_base64: Base64-encoded receipt image or PDF. filename: Original filename. content_type: MIME type (default: image/jpeg). output_format: Output format – PDF, DOCX, or ODT (default: PDF). title: Document title (default: "Spesenbeleg"). template_name: Optional template for the expense report layout. Returns: JSON with extracted data and base64-encoded document.
| Name | Type | Req | Description |
|---|---|---|---|
| content_type | string | – | – |
| filename | string | – | – |
| image_base64 | string | yes | – |
| output_format | string | – | – |
| template_name | – | – | – |
| title | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
rotate_pdf ~99
Rotate pages in a PDF. Args: pdf_base64: Base64-encoded PDF file. angle: Rotation angle in degrees (90, 180, 270). pages: Page range to rotate (e.g. "1-3", "all"). Default: all pages. Returns: Base64-encoded rotated PDF.
| Name | Type | Req | Description |
|---|---|---|---|
| angle | integer | yes | – |
| pages | – | – | – |
| pdf_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
sign_pdf ~116
Digitally sign a PDF with a PKCS#12 certificate. Args: pdf_base64: Base64-encoded PDF to sign. certificate_name: Name of a pre-uploaded certificate. certificate_password: Password for the certificate. reason: Reason for signing. location: Location of signing. Returns: Base64-encoded signed PDF.
| Name | Type | Req | Description |
|---|---|---|---|
| certificate_name | string | yes | – |
| certificate_password | string | yes | – |
| location | – | – | – |
| pdf_base64 | string | yes | – |
| reason | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
upload_template ~73
Upload a document template (ODT or DOCX). Args: template_base64: Base64-encoded template file. filename: Filename for the template (e.g. "invoice.odt"). Returns: JSON with upload result.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | yes | – |
| template_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
validate_xrechnung ~50
Validate XRechnung XML for compliance. Args: xml: XRechnung XML content. Returns: JSON validation result (valid, format, errors, warnings).
| Name | Type | Req | Description |
|---|---|---|---|
| xml | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
validate_zugferd ~69
Validate a ZUGFeRD/Factur-X PDF for compliance. Args: pdf_base64: Base64-encoded PDF with embedded ZUGFeRD data. Returns: JSON validation result (valid, profile, errors, warnings).
| Name | Type | Req | Description |
|---|---|---|---|
| pdf_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
verify_pdf_signatures ~58
Verify digital signatures in a PDF. Args: pdf_base64: Base64-encoded signed PDF. Returns: JSON with verification results (signed, signatureCount, allValid, signatures).
| Name | Type | Req | Description |
|---|---|---|---|
| pdf_base64 | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
How do I install the Dokmatiq DocGen MCP server?
Dokmatiq DocGen runs locally as a PyPI package, launched with uvx dokmatiq-docgen-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · dokmatiq-docgen-mcp
claude mcp add dokmatiq-docgen -- uvx dokmatiq-docgen-mcp
What is the Dokmatiq DocGen MCP server?
Dokmatiq DocGen is an MCP server listed in the public MCP registry as io.github.dokmatiq/docgen. Generate PDF, DOCX and Excel documents, e-invoices and signed PDFs, and recognize receipts. This page covers its PyPI package (dokmatiq-docgen-mcp).
Is the Dokmatiq DocGen MCP server safe to use?
Dokmatiq DocGen scores 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Dokmatiq DocGen MCP server expose?
Dokmatiq DocGen exposes 40 tools: generate_pdf_from_html, generate_pdf_from_markdown, generate_document, compose_document, create_invoice, and 35 more. Their descriptions and schemas cost roughly 3,539 tokens of context every time the server is loaded.
Is the Dokmatiq DocGen MCP server still maintained?
Dokmatiq DocGen is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Dokmatiq DocGen MCP server under?
Dokmatiq DocGen declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.