pdfnative MCP
A local-first MCP server exposing 28 production-grade tools for PDF generation, archival (PDF/A), print exchange (PDF/X-4), PAdES signing with long-term validation, AcroForms, merge/split, encryption, and layout preview. It uses a zero-dependency, ISO 32000-1 compliant engine to empower AI agents like Claude, Cursor, and Zed to securely create, sign, verify, and transform documents.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Generate multi-page PDFs with headings, tables, images, and barcodes
- Sign and verify PDFs using PAdES with long-term validation
- Create interactive AcroForms with text fields, checkboxes, and dropdowns
- Inspect document layout and pagination without producing a PDF
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
pdfnative-mcp 1.7.0
{
"version": "1.7.0",
"transport": "stdio",
"identifier": "pdfnative-mcp",
"runtimeHint": "npx",
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"runtimeArguments": [
{
"type": "positional",
"value": "-y",
"valueHint": "skip-confirm"
},
{
"type": "positional",
"value": "pdfnative-mcp",
"valueHint": "package"
}
],
"environmentVariables": [
{
"name": "PDFNATIVE_MCP_OUTPUT_DIR",
"format": "filepath",
"description": "Absolute path of a sandboxed directory where outputMode='file' may write PDFs. Unset: every tool returns base64 only (file output disabled)."
},
{
"name": "PDFNATIVE_MCP_CACHE_DIR",
"format": "filepath",
"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."
},
{
"name": "PDFNATIVE_MCP_PORT",
"format": "number",
"description": "Serve Streamable HTTP on this loopback port instead of stdio (MCP 2026-07-28, stateless). Unauthenticated unless PDFNATIVE_MCP_HTTP_TOKEN is set."
},
{
"name": "PDFNATIVE_MCP_HTTP_TOKEN",
"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."
},
{
"name": "PDFNATIVE_MCP_MAX_INFLATE_BYTES",
"format": "number",
"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."
},
{
"name": "PDFNATIVE_MCP_CREATION_DATE",
"description": "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."
},
{
"name": "SOURCE_DATE_EPOCH",
"format": "number",
"description": "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."
},
{
"name": "PDFNATIVE_MCP_TSA_URL",
"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_AUTH",
"description": "Optional Authorization header value sent to the TSA (e.g. 'Basic ...' or 'Bearer ...'). Never logged or echoed."
},
{
"name": "PDFNATIVE_MCP_REVOCATION",
"choices": [
"ocsp",
"crl",
"ocsp,crl"
],
"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."
},
{
"name": "PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS",
"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_TIMEOUT_MS",
"format": "number",
"description": "Per-request timeout for TSA / OCSP / CRL calls in milliseconds, 1000-120000 (default 10000)."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"pdfnative-mcp": {
"command": "npx",
"args": [
"-y",
"pdfnative-mcp@1.7.0"
],
"env": {
"PDFNATIVE_MCP_OUTPUT_DIR": "<YOUR_PDFNATIVE_MCP_OUTPUT_DIR>",
"PDFNATIVE_MCP_CACHE_DIR": "<YOUR_PDFNATIVE_MCP_CACHE_DIR>",
"PDFNATIVE_MCP_PORT": "<YOUR_PDFNATIVE_MCP_PORT>",
"PDFNATIVE_MCP_HTTP_TOKEN": "<YOUR_PDFNATIVE_MCP_HTTP_TOKEN>",
"PDFNATIVE_MCP_MAX_INFLATE_BYTES": "<YOUR_PDFNATIVE_MCP_MAX_INFLATE_BYTES>",
"PDFNATIVE_MCP_CREATION_DATE": "<YOUR_PDFNATIVE_MCP_CREATION_DATE>",
"SOURCE_DATE_EPOCH": "<YOUR_SOURCE_DATE_EPOCH>",
"PDFNATIVE_MCP_TSA_URL": "<YOUR_PDFNATIVE_MCP_TSA_URL>",
"PDFNATIVE_MCP_TSA_AUTH": "<YOUR_PDFNATIVE_MCP_TSA_AUTH>",
"PDFNATIVE_MCP_REVOCATION": "<YOUR_PDFNATIVE_MCP_REVOCATION>",
"PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS": "<YOUR_PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS>",
"PDFNATIVE_MCP_NETWORK_TIMEOUT_MS": "<YOUR_PDFNATIVE_MCP_NETWORK_TIMEOUT_MS>"
}
}
}
}Cline
{
"mcpServers": {
"pdfnative-mcp": {
"command": "npx",
"args": [
"-y",
"pdfnative-mcp@1.7.0"
],
"env": {
"PDFNATIVE_MCP_OUTPUT_DIR": "<YOUR_PDFNATIVE_MCP_OUTPUT_DIR>",
"PDFNATIVE_MCP_CACHE_DIR": "<YOUR_PDFNATIVE_MCP_CACHE_DIR>",
"PDFNATIVE_MCP_PORT": "<YOUR_PDFNATIVE_MCP_PORT>",
"PDFNATIVE_MCP_HTTP_TOKEN": "<YOUR_PDFNATIVE_MCP_HTTP_TOKEN>",
"PDFNATIVE_MCP_MAX_INFLATE_BYTES": "<YOUR_PDFNATIVE_MCP_MAX_INFLATE_BYTES>",
"PDFNATIVE_MCP_CREATION_DATE": "<YOUR_PDFNATIVE_MCP_CREATION_DATE>",
"SOURCE_DATE_EPOCH": "<YOUR_SOURCE_DATE_EPOCH>",
"PDFNATIVE_MCP_TSA_URL": "<YOUR_PDFNATIVE_MCP_TSA_URL>",
"PDFNATIVE_MCP_TSA_AUTH": "<YOUR_PDFNATIVE_MCP_TSA_AUTH>",
"PDFNATIVE_MCP_REVOCATION": "<YOUR_PDFNATIVE_MCP_REVOCATION>",
"PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS": "<YOUR_PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS>",
"PDFNATIVE_MCP_NETWORK_TIMEOUT_MS": "<YOUR_PDFNATIVE_MCP_NETWORK_TIMEOUT_MS>"
}
}
}
}VS Code
{
"servers": {
"pdfnative-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"pdfnative-mcp@1.7.0"
],
"env": {
"PDFNATIVE_MCP_OUTPUT_DIR": "<YOUR_PDFNATIVE_MCP_OUTPUT_DIR>",
"PDFNATIVE_MCP_CACHE_DIR": "<YOUR_PDFNATIVE_MCP_CACHE_DIR>",
"PDFNATIVE_MCP_PORT": "<YOUR_PDFNATIVE_MCP_PORT>",
"PDFNATIVE_MCP_HTTP_TOKEN": "<YOUR_PDFNATIVE_MCP_HTTP_TOKEN>",
"PDFNATIVE_MCP_MAX_INFLATE_BYTES": "<YOUR_PDFNATIVE_MCP_MAX_INFLATE_BYTES>",
"PDFNATIVE_MCP_CREATION_DATE": "<YOUR_PDFNATIVE_MCP_CREATION_DATE>",
"SOURCE_DATE_EPOCH": "<YOUR_SOURCE_DATE_EPOCH>",
"PDFNATIVE_MCP_TSA_URL": "<YOUR_PDFNATIVE_MCP_TSA_URL>",
"PDFNATIVE_MCP_TSA_AUTH": "<YOUR_PDFNATIVE_MCP_TSA_AUTH>",
"PDFNATIVE_MCP_REVOCATION": "<YOUR_PDFNATIVE_MCP_REVOCATION>",
"PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS": "<YOUR_PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS>",
"PDFNATIVE_MCP_NETWORK_TIMEOUT_MS": "<YOUR_PDFNATIVE_MCP_NETWORK_TIMEOUT_MS>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"pdfnative-mcp": {
"command": "npx",
"args": [
"-y",
"pdfnative-mcp@1.7.0"
],
"env": {
"PDFNATIVE_MCP_OUTPUT_DIR": "<YOUR_PDFNATIVE_MCP_OUTPUT_DIR>",
"PDFNATIVE_MCP_CACHE_DIR": "<YOUR_PDFNATIVE_MCP_CACHE_DIR>",
"PDFNATIVE_MCP_PORT": "<YOUR_PDFNATIVE_MCP_PORT>",
"PDFNATIVE_MCP_HTTP_TOKEN": "<YOUR_PDFNATIVE_MCP_HTTP_TOKEN>",
"PDFNATIVE_MCP_MAX_INFLATE_BYTES": "<YOUR_PDFNATIVE_MCP_MAX_INFLATE_BYTES>",
"PDFNATIVE_MCP_CREATION_DATE": "<YOUR_PDFNATIVE_MCP_CREATION_DATE>",
"SOURCE_DATE_EPOCH": "<YOUR_SOURCE_DATE_EPOCH>",
"PDFNATIVE_MCP_TSA_URL": "<YOUR_PDFNATIVE_MCP_TSA_URL>",
"PDFNATIVE_MCP_TSA_AUTH": "<YOUR_PDFNATIVE_MCP_TSA_AUTH>",
"PDFNATIVE_MCP_REVOCATION": "<YOUR_PDFNATIVE_MCP_REVOCATION>",
"PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS": "<YOUR_PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS>",
"PDFNATIVE_MCP_NETWORK_TIMEOUT_MS": "<YOUR_PDFNATIVE_MCP_NETWORK_TIMEOUT_MS>"
}
}
}
}Let your agent find its tools
Find servers like pdfnative MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.