Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DOCGEN_API_KEYYesYour Dokmatiq DocGen API key
DOCGEN_BASE_URLNoOptional base URL override for the DocGen API

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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