Dokmatiq DocGen
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DOCGEN_API_KEY | Yes | Your Dokmatiq DocGen API key | |
| DOCGEN_BASE_URL | No | Optional base URL override for the DocGen API |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_pdf_from_htmlC | Generate a PDF from HTML content. Args: html: HTML content to convert to PDF. Returns: Base64-encoded PDF bytes. |
| generate_pdf_from_markdownA | Generate a PDF from Markdown content. Args: markdown: Markdown content to convert to PDF. Returns: Base64-encoded PDF bytes. |
| generate_documentB | 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. |
| compose_documentA | 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. |
| create_invoiceA | 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. |
| merge_pdfsA | Merge multiple PDFs into a single PDF. Args: pdfs_base64: List of base64-encoded PDF files to merge. Returns: Base64-encoded merged PDF. |
| extract_text_from_pdfA | Extract all text content from a PDF. Args: pdf_base64: Base64-encoded PDF file. Returns: Extracted text content. |
| get_pdf_metadataA | Get metadata (title, author, page count, etc.) from a PDF. Args: pdf_base64: Base64-encoded PDF file. Returns: JSON string with metadata fields. |
| convert_to_pdfaB | Convert a PDF to PDF/A archival format. Args: pdf_base64: Base64-encoded PDF file. Returns: Base64-encoded PDF/A file. |
| rotate_pdfA | 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. |
| inspect_pdf_formA | 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. |
| fill_pdf_formA | 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. |
| sign_pdfB | 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. |
| verify_pdf_signaturesB | Verify digital signatures in a PDF. Args: pdf_base64: Base64-encoded signed PDF. Returns: JSON with verification results (signed, signatureCount, allValid, signatures). |
| list_certificatesB | List all uploaded signing certificates. Returns: JSON array of certificate info objects. |
| list_templatesB | List all uploaded document templates. Returns: JSON array of template info objects. |
| upload_templateA | 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. |
| delete_templateB | Delete a template by name. Args: name: Name of the template to delete. Returns: Confirmation message. |
| list_fontsA | List all uploaded custom fonts. Returns: JSON array of font info objects. |
| preview_pdf_pageA | 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. |
| get_pdf_page_countB | Get the total number of pages in a PDF. Args: pdf_base64: Base64-encoded PDF file. Returns: Page count. |
| validate_zugferdA | 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). |
| extract_zugferdB | Extract structured invoice data from a ZUGFeRD/Factur-X PDF. Args: pdf_base64: Base64-encoded ZUGFeRD PDF. Returns: JSON with extracted invoice data. |
| validate_xrechnungA | Validate XRechnung XML for compliance. Args: xml: XRechnung XML content. Returns: JSON validation result (valid, format, errors, warnings). |
| parse_xrechnungA | Parse XRechnung XML into structured invoice data. Args: xml: XRechnung XML content. Returns: JSON with parsed invoice data. |
| detect_xrechnungA | 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). |
| generate_excelA | 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. |
| csv_to_excelA | 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. |
| excel_to_csvA | 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. |
| excel_to_jsonA | 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. |
| fill_excel_templateA | 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. |
| inspect_excelB | 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. |
| extract_receiptA | 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. |
| extract_receipt_asyncA | 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. |
| get_receipt_jobA | 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). |
| get_receipt_job_resultA | 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. |
| list_receipt_jobsB | List all async receipt extraction jobs. Returns: JSON array of job info objects. |
| receipt_to_documentA | 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. |
| export_receipts_csvA | Export extracted receipt data as DATEV-compatible CSV. Args: receipts: List of receipt extraction results (from extract_receipt). Returns: Base64-encoded CSV file. |
| export_receipts_xlsxA | Export extracted receipt data as Excel workbook (XLSX). Args: receipts: List of receipt extraction results (from extract_receipt). Returns: Base64-encoded XLSX file. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dokmatiq/docgen-sdks'
If you have feedback or need assistance with the MCP directory API, please join our Discord server