NestDaddy

pdfnative MCP — PDF generation, PAdES signing & introspection

io.github.Nizoka/pdfnative-mcp · v1.8.0

PDF MCP server: PDF/A, PDF/X-4, PAdES (LTV), forms, 32 scripts, JPEG 2000, spot colours. 28 tools

Connect Runs on your machine

Terminal
claude mcp add pdfnative-mcp -e PDFNATIVE_MCP_OUTPUT_DIR=<PDFNATIVE_MCP_OUTPUT_DIR> -e PDFNATIVE_MCP_OUTPUT_BASE_URL=<PDFNATIVE_MCP_OUTPUT_BASE_URL> -e PDFNATIVE_MCP_CACHE_DIR=<PDFNATIVE_MCP_CACHE_DIR> -e PDFNATIVE_MCP_FONT_DIR=<PDFNATIVE_MCP_FONT_DIR> -e PDFNATIVE_MCP_PORT=<PDFNATIVE_MCP_PORT> -e PDFNATIVE_MCP_HTTP_TOKEN=<PDFNATIVE_MCP_HTTP_TOKEN> -e PDFNATIVE_MCP_MAX_INFLATE_BYTES=<PDFNATIVE_MCP_MAX_INFLATE_BYTES> -e PDFNATIVE_MCP_CREATION_DATE=<PDFNATIVE_MCP_CREATION_DATE> -e SOURCE_DATE_EPOCH=<SOURCE_DATE_EPOCH> -e PDFNATIVE_MCP_TSA_URL=<PDFNATIVE_MCP_TSA_URL> -e PDFNATIVE_MCP_TSA_AUTH=<PDFNATIVE_MCP_TSA_AUTH> -e PDFNATIVE_MCP_REVOCATION=<PDFNATIVE_MCP_REVOCATION> -e PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS=<PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS> -e PDFNATIVE_MCP_NETWORK_TIMEOUT_MS=<PDFNATIVE_MCP_NETWORK_TIMEOUT_MS> -- npx -y [email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "pdfnative-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "PDFNATIVE_MCP_OUTPUT_DIR": "<PDFNATIVE_MCP_OUTPUT_DIR>",
        "PDFNATIVE_MCP_OUTPUT_BASE_URL": "<PDFNATIVE_MCP_OUTPUT_BASE_URL>",
        "PDFNATIVE_MCP_CACHE_DIR": "<PDFNATIVE_MCP_CACHE_DIR>",
        "PDFNATIVE_MCP_FONT_DIR": "<PDFNATIVE_MCP_FONT_DIR>",
        "PDFNATIVE_MCP_PORT": "<PDFNATIVE_MCP_PORT>",
        "PDFNATIVE_MCP_HTTP_TOKEN": "<PDFNATIVE_MCP_HTTP_TOKEN>",
        "PDFNATIVE_MCP_MAX_INFLATE_BYTES": "<PDFNATIVE_MCP_MAX_INFLATE_BYTES>",
        "PDFNATIVE_MCP_CREATION_DATE": "<PDFNATIVE_MCP_CREATION_DATE>",
        "SOURCE_DATE_EPOCH": "<SOURCE_DATE_EPOCH>",
        "PDFNATIVE_MCP_TSA_URL": "<PDFNATIVE_MCP_TSA_URL>",
        "PDFNATIVE_MCP_TSA_AUTH": "<PDFNATIVE_MCP_TSA_AUTH>",
        "PDFNATIVE_MCP_REVOCATION": "<PDFNATIVE_MCP_REVOCATION>",
        "PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS": "<PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS>",
        "PDFNATIVE_MCP_NETWORK_TIMEOUT_MS": "<PDFNATIVE_MCP_NETWORK_TIMEOUT_MS>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "pdfnative-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "PDFNATIVE_MCP_OUTPUT_DIR": "<PDFNATIVE_MCP_OUTPUT_DIR>",
        "PDFNATIVE_MCP_OUTPUT_BASE_URL": "<PDFNATIVE_MCP_OUTPUT_BASE_URL>",
        "PDFNATIVE_MCP_CACHE_DIR": "<PDFNATIVE_MCP_CACHE_DIR>",
        "PDFNATIVE_MCP_FONT_DIR": "<PDFNATIVE_MCP_FONT_DIR>",
        "PDFNATIVE_MCP_PORT": "<PDFNATIVE_MCP_PORT>",
        "PDFNATIVE_MCP_HTTP_TOKEN": "<PDFNATIVE_MCP_HTTP_TOKEN>",
        "PDFNATIVE_MCP_MAX_INFLATE_BYTES": "<PDFNATIVE_MCP_MAX_INFLATE_BYTES>",
        "PDFNATIVE_MCP_CREATION_DATE": "<PDFNATIVE_MCP_CREATION_DATE>",
        "SOURCE_DATE_EPOCH": "<SOURCE_DATE_EPOCH>",
        "PDFNATIVE_MCP_TSA_URL": "<PDFNATIVE_MCP_TSA_URL>",
        "PDFNATIVE_MCP_TSA_AUTH": "<PDFNATIVE_MCP_TSA_AUTH>",
        "PDFNATIVE_MCP_REVOCATION": "<PDFNATIVE_MCP_REVOCATION>",
        "PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS": "<PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS>",
        "PDFNATIVE_MCP_NETWORK_TIMEOUT_MS": "<PDFNATIVE_MCP_NETWORK_TIMEOUT_MS>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "pdfnative-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "PDFNATIVE_MCP_OUTPUT_DIR": "<PDFNATIVE_MCP_OUTPUT_DIR>",
        "PDFNATIVE_MCP_OUTPUT_BASE_URL": "<PDFNATIVE_MCP_OUTPUT_BASE_URL>",
        "PDFNATIVE_MCP_CACHE_DIR": "<PDFNATIVE_MCP_CACHE_DIR>",
        "PDFNATIVE_MCP_FONT_DIR": "<PDFNATIVE_MCP_FONT_DIR>",
        "PDFNATIVE_MCP_PORT": "<PDFNATIVE_MCP_PORT>",
        "PDFNATIVE_MCP_HTTP_TOKEN": "<PDFNATIVE_MCP_HTTP_TOKEN>",
        "PDFNATIVE_MCP_MAX_INFLATE_BYTES": "<PDFNATIVE_MCP_MAX_INFLATE_BYTES>",
        "PDFNATIVE_MCP_CREATION_DATE": "<PDFNATIVE_MCP_CREATION_DATE>",
        "SOURCE_DATE_EPOCH": "<SOURCE_DATE_EPOCH>",
        "PDFNATIVE_MCP_TSA_URL": "<PDFNATIVE_MCP_TSA_URL>",
        "PDFNATIVE_MCP_TSA_AUTH": "<PDFNATIVE_MCP_TSA_AUTH>",
        "PDFNATIVE_MCP_REVOCATION": "<PDFNATIVE_MCP_REVOCATION>",
        "PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS": "<PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS>",
        "PDFNATIVE_MCP_NETWORK_TIMEOUT_MS": "<PDFNATIVE_MCP_NETWORK_TIMEOUT_MS>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
PDFNATIVE_MCP_OUTPUT_DIR
Optional
Absolute path of a sandboxed directory where outputMode='file' may write PDFs. Unset: every tool returns base64 only (file output disabled).
PDFNATIVE_MCP_OUTPUT_BASE_URL
Optional
Optional public base URL of PDFNATIVE_MCP_OUTPUT_DIR when the operator serves it over HTTP (e.g. https://files.example.com/pdf/). File-mode results then carry url (base + sandbox-relative path, percent-encoded) and name it instead of the host path. Absolute http(s) URL, no credentials, query or fra…
PDFNATIVE_MCP_CACHE_DIR
Optional
Opt-in content-addressed response cache directory (SHA-256 keyed, 1h TTL, 256 MiB LRU, plaintext at rest). Never caches encrypt/decrypt, sign, timestamp, add_ltv, update_metadata, encrypted builds or file output.
PDFNATIVE_MCP_FONT_DIR
Optional
Optional operator font sandbox: absolute path of a directory of .ttf / .otf files (at most 64, 16 MiB each), each parsed by the engine and registered at boot under the slug of its file name; tools name one with the font input (FONT_NOT_FOUND otherwise). An invalid directory or file refuses to start…
PDFNATIVE_MCP_PORT
Optional
Serve Streamable HTTP on this loopback port instead of stdio (MCP 2026-07-28, stateless). Unauthenticated unless PDFNATIVE_MCP_HTTP_TOKEN is set.
PDFNATIVE_MCP_HTTP_TOKEN
Optional, secret
Opt-in bearer token for the HTTP transport (>= 16 chars, no whitespace). When set, /mcp requires 'Authorization: Bearer <token>' or answers 401. Never logged.
PDFNATIVE_MCP_MAX_INFLATE_BYTES
Optional
Per-stream FlateDecode decompression cap in bytes (zip-bomb mitigation; default 104857600 = 100 MiB). Integer >= 1024; an invalid value refuses to start the server.
PDFNATIVE_MCP_CREATION_DATE
Optional
ISO 8601 instant with a time zone (e.g. 2026-01-01T00:00:00Z) pinned as the creation date of every generated document: reproducible bytes on any host. A call's own creationDate still wins. An invalid value refuses to start the server.
SOURCE_DATE_EPOCH
Optional
reproducible-builds.org convention: integer seconds since the Unix epoch, used as the pinned creation date when PDFNATIVE_MCP_CREATION_DATE is unset. An invalid value refuses to start the server.
PDFNATIVE_MCP_TSA_URL
Optional
http(s) URL of the RFC 3161 timestamp authority used by sign_pdf timestamp=true and timestamp_pdf (PAdES B-T / B-LTA). Unset: those calls fail with TSA_NOT_CONFIGURED and no network request is made. Tool arguments can never supply a URL.
PDFNATIVE_MCP_TSA_AUTH
Optional, secret
Optional Authorization header value sent to the TSA (e.g. 'Basic ...' or 'Bearer ...'). Never logged or echoed.
PDFNATIVE_MCP_REVOCATION
Optional
'ocsp', 'crl' or 'ocsp,crl': enables online revocation collection for add_ltv mode='online' (PAdES B-LT). Unset: that mode fails with REVOCATION_NOT_CONFIGURED; mode='offline' stays fully offline. Requires PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS.
PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS
Optional
Comma-separated allow-list of OCSP / CRL responder hosts ('host', 'host:port' or '*.suffix'). Mandatory when PDFNATIVE_MCP_REVOCATION is set: responder URLs found in certificates are fetched only if the host matches (http(s) only, no credentials, no redirects, internal addresses rejected unless lis…
PDFNATIVE_MCP_NETWORK_TIMEOUT_MS
Optional
Per-request timeout for TSA / OCSP / CRL calls in milliseconds, 1000-120000 (default 10000).

Details

Package[email protected] (NPM, stdio)
First published1 Nov 2026
Last updated1 Nov 2026
Registry nameio.github.Nizoka/pdfnative-mcp

More files and documents servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.