MCP Server
MCP
pdfnative MCP — PDF generation, PAdES signing & introspection
PDF MCP server: generate PDF/A, sign & verify PAdES (LTV), forms, merge, split, encrypt. 28 tools
Install
npx -y [email protected]
Configuration Example
{
"remotes": [],
"packages": [
{
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"identifier": "pdfnative-mcp",
"version": "1.6.0",
"runtimeHint": "npx",
"transport": {
"type": "stdio"
},
"runtimeArguments": [
{
"value": "-y",
"type": "positional",
"valueHint": "skip-confirm"
},
{
"value": "pdfnative-mcp",
"type": "positional",
"valueHint": "package"
}
],
"environmentVariables": [
{
"description": "Absolute path of a sandboxed directory where outputMode='file' may write PDFs. Unset: every tool returns base64 only (file output disabled).",
"format": "filepath",
"name": "PDFNATIVE_MCP_OUTPUT_DIR"
},
{
"description": "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.",
"format": "filepath",
"name": "PDFNATIVE_MCP_CACHE_DIR"
},
{
"description": "Serve Streamable HTTP on this loopback port instead of stdio (MCP 2026-07-28, stateless). Unauthenticated unless PDFNATIVE_MCP_HTTP_TOKEN is set.",
"format": "number",
"name": "PDFNATIVE_MCP_PORT"
},
{
"description": "Opt-in bearer token for the HTTP transport (>= 16 chars, no whitespace). When set, /mcp requires 'Authorization: Bearer <token>' or answers 401. Never logged.",
"isSecret": true,
"name": "PDFNATIVE_MCP_HTTP_TOKEN"
},
{
"description": "Per-stream FlateDecode decompression cap in bytes (zip-bomb mitigation; default 104857600 = 100 MiB). Integer >= 1024; an invalid value refuses to start the server.",
"format": "number",
"name": "PDFNATIVE_MCP_MAX_INFLATE_BYTES"
},
{
"description": "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.",
"name": "PDFNATIVE_MCP_TSA_URL"
},
{
"description": "Optional Authorization header value sent to the TSA (e.g. 'Basic ...' or 'Bearer ...'). Never logged or echoed.",
"isSecret": true,
"name": "PDFNATIVE_MCP_TSA_AUTH"
},
{
"description": "'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.",
"choices": [
"ocsp",
"crl",
"ocsp,crl"
],
"name": "PDFNATIVE_MCP_REVOCATION"
},
{
"description": "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 listed verbatim).",
"name": "PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS"
},
{
"description": "Per-request timeout for TSA / OCSP / CRL calls in milliseconds, 1000-120000 (default 10000).",
"format": "number",
"name": "PDFNATIVE_MCP_NETWORK_TIMEOUT_MS"
}
]
}
]
}
mcp
model-context-protocol
npm
By
Comments
Sign in to leave a comment