Pdfnative MCP Server
by nizokaio.github.Nizoka/pdfnative-mcpv1.7.0
PDF MCP: generate PDF/A & PDF/X-4, sign & verify PAdES (LTV), forms, merge, split, encrypt. 28 tools
context tax
queued
security
queued
cold start
queued
freshness
Active15d ago
Install Pdfnative MCP server
Install in Claude Code
claude mcp add pdfnative -e PDFNATIVE_MCP_HTTP_TOKEN='<pdfnative-mcp-http-token>' -e PDFNATIVE_MCP_TSA_AUTH='<pdfnative-mcp-tsa-auth>' -- npx -y pdfnative-mcpInstall in Cursor
{
"mcpServers": {
"pdfnative": {
"command": "npx",
"args": [
"-y",
"pdfnative-mcp"
],
"env": {
"PDFNATIVE_MCP_HTTP_TOKEN": "<pdfnative-mcp-http-token>",
"PDFNATIVE_MCP_TSA_AUTH": "<pdfnative-mcp-tsa-auth>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"pdfnative": {
"command": "npx",
"args": [
"-y",
"pdfnative-mcp"
],
"env": {
"PDFNATIVE_MCP_HTTP_TOKEN": "<pdfnative-mcp-http-token>",
"PDFNATIVE_MCP_TSA_AUTH": "<pdfnative-mcp-tsa-auth>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"pdfnative": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"pdfnative-mcp"
],
"env": {
"PDFNATIVE_MCP_HTTP_TOKEN": "<pdfnative-mcp-http-token>",
"PDFNATIVE_MCP_TSA_AUTH": "<pdfnative-mcp-tsa-auth>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"pdfnative": {
"command": "npx",
"args": [
"-y",
"pdfnative-mcp"
],
"env": {
"PDFNATIVE_MCP_HTTP_TOKEN": "<pdfnative-mcp-http-token>",
"PDFNATIVE_MCP_TSA_AUTH": "<pdfnative-mcp-tsa-auth>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| PDFNATIVE_MCP_OUTPUT_DIR | — | — | Absolute path of a sandboxed directory where outputMode='file' may write PDFs. Unset: every tool returns base64 only (file output disabled). |
| PDFNATIVE_MCP_CACHE_DIR | — | — | 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_PORT | — | — | 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 | — | yes | 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 | — | — | 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 | — | — | 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 | — | — | 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 | — | — | 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 | — | yes | Optional Authorization header value sent to the TSA (e.g. 'Basic ...' or 'Bearer ...'). Never logged or echoed. |
| PDFNATIVE_MCP_REVOCATION | — | — | '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 | — | — | 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). |
| PDFNATIVE_MCP_NETWORK_TIMEOUT_MS | — | — | Per-request timeout for TSA / OCSP / CRL calls in milliseconds, 1000-120000 (default 10000). |
Freshness
Active — last maintenance signal 15d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-09-24 · 15d ago · GitHub
Latest release
2026-09-24 · 15d ago · GitHub · v1.7.0
Package published
no data · npm/PyPI
Registry entry updated
2026-09-24 · 15d ago · official registry · v1.7.0
FAQ
›How do I install the Pdfnative MCP server in Claude Code?
Run: claude mcp add pdfnative -e PDFNATIVE_MCP_HTTP_TOKEN='<pdfnative-mcp-http-token>' -e PDFNATIVE_MCP_TSA_AUTH='<pdfnative-mcp-tsa-auth>' -- npx -y pdfnative-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Pdfnative require an API key?
Yes. It expects PDFNATIVE_MCP_HTTP_TOKEN, PDFNATIVE_MCP_TSA_AUTH, of which 2 are secrets.
›Can I use Pdfnative as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Pdfnative in the official MCP registry?
Yes, as io.github.Nizoka/pdfnative-mcp.
Alternatives to Pdfnative
Other productivity & office MCP servers.