Skip to main content
Glama
679,416 tools. Updated 2026-10-20 00:24

"Tools and resources for PDF and XML document processing" matching MCP tools:

  • Send a document for e-signature. Accepts PDF as base64, recipients, and field placement. Sandbox keys (sk_test_) send immediately (watermarked test mail). LIVE keys create a DRAFT and return it for human review unless confirm: true — nothing is emailed until confirmed. Field placement: page+x+y (percent, top-left origin) OR an anchor string, not both. After everyone signs, retrieve the sealed PDF with swiftsign_download_signed_pdf.
    Connector
    Destructive
    No auth
  • Upload PDF documents to the Metadata platform library so they can be promoted as LinkedIn Document Ads. Downloads each PDF from its URL and uploads it to the platform library as a DOCUMENT asset. WARNING: PDF-ONLY: the downloaded file MUST have the `application/pdf` content-type and be at most 100 MB (platform limits for document assets). Images go through `upload_image_creative`, videos through `upload_video_creative`. WARNING: WHEN YOU NEED TO CALL THIS: Call this BEFORE `create_update_document_ad` ONLY when the document is not in the library yet. If `search_library_creatives_by_name(contentTypes="DOCUMENT")` already finds it, pass that id straight to `create_update_document_ad` as `libraryId`. WORKFLOW INTEGRATION (when an upload IS needed): 1. Upload the PDF URL with this tool -> response contains the integer `id` (the library id). 2. Pass that integer `id` as `libraryId` in `create_update_document_ad`. REQUIRED PARAMETERS: - documents: Array of publicly accessible PDF URLs. OPTIONAL PARAMETERS: - names: Library label per document, positional against `documents`. Defaults to the file name from the URL. Use the document's real title ("2026 B2B Benchmark Report") so the library stays readable. RESPONSE FORMAT: Returns array of objects, one per document. `id` is returned as a string; pass it to `create_update_document_ad` as an integer. [ {"url": "https://example.com/report.pdf", "name": "2026 B2B Benchmark Report", "id": "15791", "success": true}, {"url": "https://example.com/bad.pdf", "name": "bad.pdf", "id": null, "success": false, "error": "..."} ] ERROR HANDLING: - If one upload fails, others continue. - A content-type other than application/pdf is rejected with a clear error.
    ConnectorAPI key
  • Compile LaTeX source into a PDF. Returns a PDF URL, page count and compile time. USE THIS WHEN: you have LaTeX source (or a \documentclass) and no local pdflatex / TeX Live installation to run it with. This is that missing compiler, available over HTTP. Also use it whenever the user asks for a document where typesetting matters - an invoice, contract, report, letter, CV, certificate, or academic paper - since you can write the LaTeX yourself and compile it here. DO NOT USE THIS TO: convert HTML to PDF, merge, split or compress existing PDF files, or extract text from a PDF. This compiles LaTeX source and nothing else. No API key is required. Anonymous callers get a small number of compilations per day and failed attempts do not count, so you can iterate on your LaTeX for free. Send an API key in the Authorization header to raise the limits. With a key, a document over the plan's page or size limit still returns a PDF: `preview: true`, the first pages the plan allows, `total_pages`, and `plan_required` naming the plan that covers the whole document. Show the user the preview and relay `warning`; never drop pages silently. IMPORTANT: This tool compiles LaTeX, NOT plain text. You must generate complete, valid LaTeX source yourself before calling it. Do not pass plain text, markdown or JSON directly - convert them to LaTeX first, and never ask the user to write LaTeX. A minimal valid document is: \documentclass{article}\begin{document}<content>\end{document}. Escape these in body text: % & $ # _ { } and backslash. If compilation fails the response includes a `diagnosis` naming the cause and a concrete suggested fix, often a missing \usepackage. Apply it and call again yourself rather than showing the user a TeX log.
    ConnectorNo auth
  • Download a PDF from a URL and extract all text content, page by page. Use this to read the full text of a specific document — for example, an annual report PDF linked from a search_filings result. Best combined with search_filings: use search_filings to locate the document, then parse_pdf_to_text for the full text. Do not use for PDFs that are already well-represented in the database — search_filings is faster and returns pre-ranked, relevant excerpts. Not suitable for scanned (image-only) PDFs without embedded text; those pages will be returned as "(no extractable text)". Args: pdf_url: Direct HTTPS URL to the PDF file, e.g. https://example.com/report.pdf. Must be publicly accessible; authentication-protected URLs will fail. Returns: All text from the PDF with "--- Page N ---" separators between pages. Returns an error string if the download fails, the URL does not point to a valid PDF, or the document exceeds the 60-second download timeout.
    ConnectorNo auth
  • Fetch one RIS document’s full text or its rendition URLs, with explicit binding status and the amtssigniert authentic PDF surfaced wherever it exists. Address the document exactly one of two ways: document_number plus application (both copied verbatim from a ris_search_* or ris_lookup_citation result), or a document_url from a result’s content_urls — or, for a draft’s companion documents (Erläuterungen, Textgegenüberstellung, WFA, cover letter, annexes), a ris_search_drafts record’s materials[].url, which is the only route to them. format: markdown (default — the HTML rendition converted to markdown), html (raw HTML rendition), xml (the RIS Nutzdaten XML), or urls_only (no fetch — every rendition URL, including the Authentisch PDF). Format availability varies by application and the tool degrades explicitly, never silently: consolidated law, gazettes, case law, drafts, and most sectoral collections carry full text; district and municipal promulgations and court rules (Bvb, GrA, KmGer) publish only the signed authentic PDF; party-transparency decisions and council minutes (Upts, Mrp) are PDF-only; the 1848–1940 imperial gazettes (BgblAlt) are metadata-only — for these a text-format request returns a format_unavailable notice with the usable URL, not an error. Every result carries binding_status; only authentic (amtssigniert) publications are legally binding. This tool returns content, not fresh metadata — the metadata rides the search/lookup step that produced the document number. When the markdown text overflows the 40,000-byte budget the tool returns an outline (kind: outline) instead of truncating: the document’s §/Artikel/Anlage sections where it carries at least two such headings, otherwise contiguous byte windows named Part 1 of N … Part N of N covering the whole text and listed in document order. Re-call with sections:[…] naming outline entries to retrieve just those; a name matching no entry returns the outline again with a notice rather than the whole document. Windows are cut at line breaks, not at sentence or § boundaries, so one can open mid-sentence — read them in order and pull the neighbour when a passage straddles a cut. Raw html and xml renditions are never sliced: at or under the 40,000-byte budget they return whole; over it the result is kind: link — no text, truncated: true, the full byte_size, and content_urls, whose html or xml entry fetches the whole artifact in one GET. Every HTML rendition opens with a 40–70 KB stylesheet, so html practically always returns kind: link — read with markdown, parse with xml, and fetch content_urls.html for the authentic markup. Markdown drops the screen-reader expansions RIS ships alongside each abbreviated citation, keeping the visible citation form, and prints each Absatz, Ziffer, and litera under its own statutory label — (1a), 2., b) — with no generated list number in front; raw html/xml renditions are returned exactly as published.
    ConnectorNo auth
  • Generate compliant e-invoice XML from a JSON invoice, in either EN 16931 syntax. Profiles: en16931, xrechnung-ubl, peppol-bis-3, xrechnung-cii, facturx-en16931 — the profile chooses the syntax, and xrechnung-cii and facturx-en16931 come back as CII. The invoice is validated first and generation is refused if it fails, because emitting XML for an invalid invoice produces a file that passes nothing. CREDIT NOTES GENERATE TOO, from the same object: invoiceTypeCode "381" emits a UBL CreditNote document under the UBL profiles and ram:TypeCode 381 under the CII ones, since CII has one document for both. XML ONLY, NEVER A PDF: Factur-X and ZUGFeRD files are CII XML inside a PDF/A-3 container, and this tool builds no container, so a facturx-en16931 result is the payload and not a Factur-X document — do not tell the user otherwise. If they need the PDF itself, no tool here returns one; the HTTP API does, on every plan: POST https://api.attestwire.com/v1/generate?format=pdf with the same invoice and profile facturx-en16931 returns a Factur-X / ZUGFeRD PDF (EN 16931 profile), with the CII XML inside as factur-x.xml, watermarked "not for sending" on the free plan and clean on a paid one. On xrechnung-cii the generator's own FIXTURE documents were run through the official KoSIT validator on release and accepted; on facturx-en16931 they were not, because that profile's BT-24 matches no XRechnung scenario for the validator to judge. Neither is a verdict on the document you just generated — nothing is sent to KoSIT at call time, so never call it "KoSIT-validated". REQUIRES AN API KEY and costs 1 document.
    ConnectorNo auth

Matching MCP Servers

Matching MCP Connectors

  • Converts a document to markdown or plain text: pass a public URL or the file itself as base64, and get back the content with headings, tables and lists preserved, at a fraction of the tokens that rendered pages cost. Use it when a harness has no native reader for the format — .docx, .xlsx, .odt and .numbers rarely have one — when a document is only a URL away, or when a long PDF's text matters and its layout does not. Handles PDF (.pdf), Word (.docx), Excel (.xlsx, .xlsm, .xlsb, .xls), OpenDocument (.odt, .ods), Apple Numbers, CSV, HTML, XML, and plain-text formats such as .txt and .md. The format is detected from magic bytes, not trusted from the file name, so a PDF served from a .php URL still converts. Two honest limits: a scanned PDF with no text layer has nothing to extract (this is conversion, not OCR), and legacy binary .doc and .ppt files are not readable — resave them as .docx or .pptx. Images are refused rather than described. Documents up to 10 MB.
    ConnectorNo auth
  • Gera o DANFE (o PDF da nota) a partir do XML. A SEFAZ distribui XML, não PDF, então esta é a representação gráfica para imprimir, anexar ou mandar pro cliente. COMO USAR: passe em `xml` o conteúdo do documento que veio em dfe_sincronizar (campo `documentos[].xml`). Assim NÃO gasta consulta na SEFAZ. Se não tiver o XML em mãos, use `chave` ou `nsu` — mas aí gasta uma das consultas da hora. SÓ FUNCIONA com documento `completo: true`. Documento `resumo` não tem os itens, e sem itens não existe DANFE: o XML completo só sai depois da manifestação do destinatário. A resposta traz um link de download em `files[]`, entregue ele ao usuário. Não tente ler o conteúdo do arquivo, é binário.
    ConnectorNo auth
  • Extract invoice parties, dates, lines, totals and VAT as JSON for bookkeeping or matching. Use validate_invoice for compliance; this performs no OCR or recalculation. Supply one source: nonblank xml overrides document_base64 without inspecting it, so omit xml to extract a PDF's attachment. include_xml returns that selected source for archiving or validation, not XML reconstructed from fields. Extracted fields need mapping before use as generate_invoice input. Returns fields and format/profile metadata, plus PDF metadata for PDF input. Missing business values remain null; numeric values are strings. Missing input, invalid base64, malformed/unrecognized XML or a PDF without embedded XML returns a tool error, not an empty extraction. Requires a trial, prepaid or subscription allowance via OAuth or API key; success consumes one operation, errors consume none. Nothing is stored or sent.
    ConnectorAPI key
  • The download link for one postal area's printable PDF report (composite scores, trends and the full statistics table). Returns a URL and never the file itself — the report renders the same data the other tools return, so offer the link when someone wants the document, and answer questions from get_place_stats instead. Downloading requires Suomiatlas Pro or an Area Pass for that area; when the caller has neither, the link still comes back and `locked` says what it costs. Reports exist per postal area only, not per municipality.
    ConnectorNo auth
  • Tailor a CV to a job and return tailoredCv, ATS feedback, and a finished PDF by default. Prefer resume_data if you already extracted the CV; otherwise send one original document/text input. May consume AI credits. Do not call parse first or automatically repeat tailoring. PDF failure preserves tailoredCv for export-only retry.
    ConnectorNo auth
  • Start one temporary in-memory upload for a large NodeSet2 XML document. Call this once for the old baseline and once for the new candidate when the complete XML documents are too large for audit_nodeset_compatibility. It returns upload_id and max_total_chars. Append that document's chunks in original order with append_nodeset_chunk. Uploads expire after 15 minutes and the service allows at most four active uploads; this tool stores only temporary process memory and does not modify an external system.
    ConnectorNo auth
  • Convert HTML and CSS to a PDF document using the WeasyPrint rendering engine. Supports every PDF/A archival level, PDF/UA accessibility and the PDF/X print standards. Best for professional documents: invoices, reports, certificates, contracts, and accessible documents. Also produces **fillable PDF forms** — set pdfForms to true. Send a complete HTML document including <html>, <head> with <style>, and <body> tags. Page geometry comes from the document's own CSS @page rule unless paperSize or orientation is set explicitly. Returns a temporary download URL for the generated PDF (valid for 30 minutes). Requires a paid PdfBroker.io plan (Starter or above). EU-first defaults: A4 paper, Portrait orientation when neither the document nor the caller says otherwise.
    ConnectorNo auth
  • Create an EN 16931 e-invoice from structured data: Factur-X PDF/A-3, CII XML, or UBL 2.1 XML. Use when you have the parties, lines and dates and need the document. To revise one, correct the input and regenerate; save and deliver the returned file through your own system. Do not use when you already have a visual PDF and CII XML: call embed_xml. To check a document you did not create here, call validate_invoice; to read one, call extract_invoice. Start invoice from get_invoice_example, replacing sample parties and dates. Leave totals and line net_amount omitted to compute them from quantities, prices, allowances and charges. For ubl-xml, profile must be en16931 or extended-ctc-fr; extended and basicwl are CII/PDF-only. profile selects the XML model while check selects validation rules: use check=base for non-French invoices; changing check does not disable party_check. language and footer_text affect only the visual PDF. Omitted party_check enables registry checks only for extended-ctc-fr; true/false explicitly overrides that default. Enabled checks send party identifiers/address and seller IBAN to EU Verify. A not_ready verdict blocks output with field pointers. Successful checks add evidence ids; registry outages do not block generation and are reported as warnings, not proof of readiness. XSD/business-rule failures return a tool error with rule ids; fix the input and retry. Requires an authenticated trial, prepaid or subscription allowance (OAuth or API key). Each successful result uses one document operation, including repeated calls. Returns a JSON text summary (totals, warnings, evidence) and an embedded resource: base64 PDF or XML text. No invoice is stored or sent to a recipient.
    ConnectorAPI key
  • Combine a visual PDF you already have with CII XML into one Factur-X PDF/A-3. Use for an existing visual invoice; use generate_invoice to render invoice data or produce UBL. Match the PDF's parties, lines and totals to xml yourself: check examines only XML and cannot detect disagreement with the visible PDF. The embedded profile comes from xml; neither check nor language changes it. language does not translate the PDF. Invalid input or failed rules return a tool error with no file; rule errors include ids. For a findings report use validate_invoice. Success returns a JSON summary (profile, size_bytes, warning count) and a base64 PDF/A-3 resource. Requires a trial, prepaid or subscription allowance via OAuth or key; success consumes one document, errors consume none. Nothing is stored or sent.
    ConnectorAPI key
  • Check a Factur-X PDF, CII XML or UBL XML against EN 16931, and report the fields to fix. Use when the caller supplies a document, including after corrections; use extract_invoice for business data. With no document and only a request to try the product, choose view_invoice_demo instead. Supply one source: nonblank xml overrides document_base64 without inspecting it. To check a PDF's attachment, omit xml. check adds rules to the detected profile; it cannot change that profile. Use base for non-French invoices to avoid French-field findings. Returns validity and findings with rule ids and field pointers for explain_finding. XSD failures skip schematron; inspect checks_skipped before treating validation as complete. Warnings alone do not invalidate an invoice. Rule failures or a PDF without XML return valid=false; missing input, invalid base64, malformed or unrecognized XML return a tool error. Free without a key (shared daily limit, files up to 5 MB). With an OAuth connection or API key, completed reports consume one operation even when invalid; tool errors do not. No invoice is changed, stored or sent.
    ConnectorAPI key
  • Submit a document for processing — this is always the first step (Step 1 of 5). Downloads the file from file_url, then submits it to FlexOrch for automatic classification, structured field extraction, PII detection/masking, and quality scoring. Processing is asynchronous — this tool returns immediately with a job_id. You MUST call job.status(job_id) every 3–5 seconds until status='completed' before calling job.result. Args: file_url: Publicly accessible URL of the document (http/https only, max 50 MB). Supported: PDF, DOCX, TXT, XLSX, HTML, XML, EML, JPG, PNG, TIFF. mask_pii: Replace detected PII (names, IDs, emails, phone numbers) with [MASKED_TYPE] placeholders in all output. Default: true. document_type: Optional classification hint — FlexOrch auto-detects if omitted. Values: invoice, expense_report, purchase_order, sales_proposal, bank_statement, payroll.
    ConnectorNo auth
  • Builds a ZUGFeRD 2.x / Factur-X hybrid invoice from the same details create_xrechnung takes, and returns it as a PDF file. A hybrid is one invoice stated twice in one file: a PDF/A-3 document a person reads, carrying the same invoice inside it as EN 16931 XML a machine books. This is the format private-sector German B2B buyers generally want, where XRechnung is what public bodies require. If the recipient is a public authority and gave you a Leitweg-ID, you want create_xrechnung instead. The embedded XML declares plain EN 16931 — the profile ZUGFeRD calls COMFORT — not the XRechnung CIUS, because that CIUS is a statement about public-sector procurement. Validation is identical to create_xrechnung, except that the IBAN is optional here (EN 16931 makes BG-16 optional): the same EN 16931 rules are applied before anything is built, and a rejected call names the rules and business terms that failed. What this does NOT do: - The result is a binary PDF returned as an attachment. It is not text and there is nothing useful to read in it — do not try to quote or summarise its contents. Offer it to the user as a file. - It does not validate against veraPDF or the Mustangproject validator. The document is built to be valid PDF/A-3 with the required Factur-X metadata, but that is our reading rather than a validator's verdict. - It handles ONE tax rate and one tax category for the whole invoice, exactly as create_xrechnung does. - It does not send the invoice anywhere, and there is no Peppol. - There is no logo and no custom styling. The PDF uses the default invoice layout. Nothing is stored: no account, no invoice record, no retained personal data.
    ConnectorNo auth
  • Run a ToolsMonk tool and return its result. Works for business, finance and student calculators, text, developer and document utilities; web tools (seo-checker, site-audit, website-speed-test); regex-tester and regex-generator; AI tools (free-ai-humanizer-tool, ai-image-generator, ai-pdf-summarizer, resume-maker); and light file tools (merge, split, rotate, number or watermark a PDF, resize, convert or compress an image, and more), which take a file the user attached (pass it in the top-level `files` parameter) or a public https `fileUrl` (max 10 MB), and return a download link valid for one hour. These have their own small daily limits per account. See list_runnable_tools, or check `mcp.runnable` from get_tool. Pass the tool slug and an `input` object matching that tool's input schema. Heavy file tools (OCR, Office conversion, background removal, editors) cannot run here; for those the error message gives the URL to open. Inputs and outputs are not stored.
    ConnectorNo auth
  • Render a PDF from a saved template of the workspace plus JSON `data`. Use it when a template exists for the document (invoices, quotes, certificates, recurring reports); otherwise write the layout with `render_pdf_from_html` or turn text into a PDF with `render_pdf_from_markdown`, and use `render_image_from_template` for images. `template_id` comes from `list_templates` and the shape of `data` from `get_template_schema`; data that breaks the schema fails with each wrong field's path. Waits up to 25 s, then returns the files with signed download URLs valid for `expires_in` (default 1 h). A slower render comes back `queued` or `processing`: `get_render` collects it, and re-signs expired links. This connection's test API key makes every render a free test render: test renders carry a TEST watermark and are limited per minute by plan. Pass `einvoice` for a hybrid e-invoice PDF (Factur-X / ZUGFeRD / XRechnung) that accounting software can read. A template with `einvoice_default` (from `get_template_schema`) embeds a ZUGFeRD / Factur-X e-invoice in every PDF render, a hybrid PDF/A-3b, read from `data` at its `invoice_path` (missing: 400 validation_error at /data). `einvoice` replaces that default, `einvoice: null` turns it off for a plain PDF. On plans without e-invoicing (Free, Starter) the PDF is rendered without it and carries the warning `einvoice_skipped_plan`; e-invoicing needs the Growth plan or higher. Limited to 60 tool calls a minute per connection, shared by all tools.
    ConnectorAPI key
  • Render a PDF from Markdown with a built-in theme: the quickest way to turn a report, summary or notes you have written into a clean document, with no layout work. Supports tables, task lists, footnotes and strikethrough; raw HTML is not rendered. For a designed layout use `render_pdf_from_html`, for a saved template `render_pdf_from_template`. Waits up to 25 s, then returns the files with signed download URLs valid for `expires_in` (default 1 h). A slower render comes back `queued` or `processing`: `get_render` collects it, and re-signs expired links. This connection's test API key makes every render a free test render: test renders carry a TEST watermark and are limited per minute by plan. Limited to 60 tool calls a minute per connection, shared by all tools.
    ConnectorAPI key