PdfBroker.io

Cloud PDF generation from HTML, CSS and XSL-FO, with PDF/A and PDF/UA support.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
90%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,956Tokens (definiciones de herramientas)
~10.4 KBTamaño de respuesta típico
Impacto moderado en la atención (1.53% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "pdf": {
      "command": "npx",
      "args": [
        "@pdfbroker/mcp-server"
      ]
    }
  }
}

Paquetes ejecutables

npm@pdfbroker/mcp-server1.2.0stdio

Puntos de conexión remotos

https://mcp.pdfbroker.io/streamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (2)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
⚪html_to_pdf_wk(html, url, paperSize, orientation, pdfForms, ...)

Convert HTML to PDF using the wkhtmltopdf rendering engine. Supports JavaScript execution and screen-capture style rendering. Good for simple documents, web page snapshots, layouts that rely on JavaScript, and **fillable PDF forms** (set pdfForms to true). Available on all PdfBroker.io plans including the free tier. Does NOT support PDF/A or PDF/UA compliance — use html_to_pdf for compliant documents. Does NOT honour CSS '@page { size: ... }' — page geometry comes from paperSize and orientation; use html_to_pdf when the document's own stylesheet must decide. EU-first defaults: A4 paper, Portrait orientation.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "html": {
      "description": "HTML content to convert. Can be a full document or a fragment. Optional if 'url' is supplied instead — pass exactly one of the two.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "url": {
      "description": "Optional https URL of an already published HTML document or web page, fetched by PdfBroker instead of sending the markup inline. Use this to keep a large template out of the conversation, or to snapshot a live page. Only https is accepted, and addresses on private networks or cloud metadata endpoints are refused. If both 'url' and 'html' are supplied, 'url' wins. Relative images, fonts and stylesheets resolve against the document's own URL, so the 'resources' parameter has no effect on a url render. This engine renders whatever the address returns, including a 404 or a login page — it does not check the HTTP status — so a wrong or protected URL comes back as a PDF of that page rather than as an error. Check the URL before relying on the output.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "paperSize": {
      "description": "Paper size: 'Auto' (default) leaves it to the engine, which uses A4 (EU-first default). Name a size to set it explicitly: 'A4', 'Letter', 'A3', 'Legal'. Note that wkhtmltopdf does NOT honour CSS '@page { size: ... }' — if the page geometry must come from the document's own stylesheet, use the html_to_pdf tool.",
      "type": "string",
      "default": "Auto"
    },
    "orientation": {
      "description": "Page orientation: 'Auto' (default, engine default is Portrait), 'Portrait' or 'Landscape'.",
      "type": "string",
      "default": "Auto"
    },
    "pdfForms": {
      "description": "Set to true to produce a fillable PDF: the document's <input>, <select> and <textarea> elements become interactive form fields a recipient can type into and save. Default false, which flattens them into static text.",
      "type": "boolean",
      "default": false
    },
    "extraArguments": {
      "description": "Optional extra wkhtmltopdf engine arguments forwarded verbatim to the engine. Keys are CLI long-form options without '--'. For switch-style flags use an empty-string value — example: {\"enable-forms\": \"\"} to make form fields in the rendered PDF interactive. On key collision with structured parameters (paperSize, orientation), the user-supplied extra wins. See the docs://pdfbroker/api-reference resource for the supported argument list.",
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": {
        "type": [
          "string",
          "null"
        ]
      },
      "default": null
    },
    "resources": {
      "description": "Optional embedded resources referenced by relative path in the HTML. Keys are relative paths (e.g., 'images/logo.png'), values are base64-encoded file contents. Unused entries are silently ignored. Invalid base64 returns a clear, key-named error before the API call is made.",
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": {
        "type": [
          "string",
          "null"
        ]
      },
      "default": null
    }
  }
}
🟡html_to_pdf(html, url, conformanceLevel, paperSize, orientation, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "html": {
      "description": "Complete HTML document string including <html>, <head>, <style>, and <body> tags. Use CSS for styling. WeasyPrint supports CSS Paged Media for headers, footers, and page numbers via @page margin boxes. Optional if 'url' is supplied instead — pass exactly one of the two.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "url": {
      "description": "Optional https URL of an already published HTML document, fetched by PdfBroker instead of sending the markup inline. Use this to keep a large template out of the conversation. Only https is accepted, and addresses on private networks or cloud metadata endpoints are refused. If both 'url' and 'html' are supplied, 'url' wins. Relative images, fonts and stylesheets in the document resolve against the document's own URL, so the 'resources' parameter has no effect on a url render. paperSize and orientation cannot be applied to a url render with this engine — the published document's own @page rule decides.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "conformanceLevel": {
      "description": "PDF compliance standard. 'None' (default) requests no conformance. Archival, level B — visual fidelity: 'PdfA1b' (widest compatibility), 'PdfA2b', 'PdfA3b' (allows embedded attachments, used for e-invoicing). Archival, level U — level B plus guaranteed Unicode text extraction: 'PdfA2u', 'PdfA3u'. Archival, level A — level U plus a tagged structure tree, so the file is archival AND accessible in one document: 'PdfA1a', 'PdfA2a', 'PdfA3a'. PDF/A-4 (PDF 2.0, thinner reader support): 'PdfA4u' (baseline), 'PdfA4f' (embedded files), 'PdfA4e' (engineering). Note there is no PDF/A-4b — PDF/A-4 dropped the A/B lettering. Accessibility: 'PdfUA1' (European Accessibility Act; use this unless UA-2 was asked for), 'PdfUA2'. Print production: 'PdfX1a', 'PdfX3', 'PdfX4', 'PdfX5g'. The raw engine value is also accepted (e.g. 'pdf/a-2b'). Use PdfUA1 when the document must be accessible to screen readers, and PdfA2a when it must be both archival and accessible. An unknown value is rejected rather than silently ignored.",
      "type": "string",
      "default": "None"
    },
    "paperSize": {
      "description": "Paper size: 'Auto' (default) leaves the page to the document's own CSS — an @page rule such as '@page { size: A5 landscape; }' decides, and when the document says nothing you get A4 portrait (EU-first default). Name a size to override the document: 'A4' (210x297mm), 'Letter' (8.5x11in), 'A3' (297x420mm), 'Legal' (8.5x14in). An explicitly named size wins over the document's own @page rule.",
      "type": "string",
      "default": "Auto"
    },
    "orientation": {
      "description": "Page orientation: 'Auto' (default) leaves it to the document's CSS, 'Portrait' or 'Landscape' override it. Combine with paperSize for a full override, or use it alone to rotate whatever size the document declares.",
      "type": "string",
      "default": "Auto"
    },
    "pdfForms": {
      "description": "Set to true to produce a fillable PDF: the document's <input>, <select> and <textarea> elements become interactive form fields a recipient can type into and save. Default false, which flattens them into static text. Note that form fields and strict tagging can interact — if the engine refuses a combination of forms and a conformanceLevel, its message is returned as-is.",
      "type": "boolean",
      "default": false
    },
    "extraArguments": {
      "description": "Optional extra WeasyPrint engine arguments forwarded verbatim to the engine. Keys are CLI long-form options without '--'. For switch-style flags use an empty-string value — example: {\"presentational-hints\": \"\"}. On key collision with structured parameters (conformanceLevel, paperSize, orientation), the user-supplied extra wins. See the docs://pdfbroker/api-reference resource for the supported argument list.",
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": {
        "type": [
          "string",
          "null"
        ]
      },
      "default": null
    },
    "resources": {
      "description": "Optional embedded resources referenced by relative path in the HTML (images, custom fonts via @font-face, stylesheets, etc.). Keys are relative paths (e.g., 'images/logo.png'), values are base64-encoded file contents. Unused entries are silently ignored. Invalid base64 returns a clear, key-named error before the API call is made.",
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": {
        "type": [
          "string",
          "null"
        ]
      },
      "default": null
    }
  }
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada2 herramientas
verificadoversión no registrada2 herramientas