Skip to content
VS Code

pdfnative MCP — PDF/A & PDF/X-4 generation, PAdES signing & introspection for VS Code

io.github.nizoka/pdfnative-mcp

PDF MCP: generate PDF/A & PDF/X-4, sign & verify PAdES (LTV), forms, merge, split, encrypt. 28 tools

client:VS Code transport:stdio runtime:npm

Install pdfnative MCP — PDF/A & PDF/X-4 generation, PAdES signing & introspection in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "pdfnative-mcp-output-dir",
      "description": "PDFNATIVE_MCP_OUTPUT_DIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pdfnative-mcp-cache-dir",
      "description": "PDFNATIVE_MCP_CACHE_DIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pdfnative-mcp-port",
      "description": "PDFNATIVE_MCP_PORT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pdfnative-mcp-http-token",
      "description": "PDFNATIVE_MCP_HTTP_TOKEN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pdfnative-mcp-max-inflate-bytes",
      "description": "PDFNATIVE_MCP_MAX_INFLATE_BYTES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pdfnative-mcp-creation-date",
      "description": "PDFNATIVE_MCP_CREATION_DATE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "source-date-epoch",
      "description": "SOURCE_DATE_EPOCH",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pdfnative-mcp-tsa-url",
      "description": "PDFNATIVE_MCP_TSA_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pdfnative-mcp-tsa-auth",
      "description": "PDFNATIVE_MCP_TSA_AUTH",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pdfnative-mcp-revocation",
      "description": "PDFNATIVE_MCP_REVOCATION",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pdfnative-mcp-network-allowed-hosts",
      "description": "PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pdfnative-mcp-network-timeout-ms",
      "description": "PDFNATIVE_MCP_NETWORK_TIMEOUT_MS",
      "password": true
    }
  ],
  "servers": {
    "pdfnative-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "pdfnative-mcp"
      ],
      "env": {
        "PDFNATIVE_MCP_OUTPUT_DIR": "${input:pdfnative-mcp-output-dir}",
        "PDFNATIVE_MCP_CACHE_DIR": "${input:pdfnative-mcp-cache-dir}",
        "PDFNATIVE_MCP_PORT": "${input:pdfnative-mcp-port}",
        "PDFNATIVE_MCP_HTTP_TOKEN": "${input:pdfnative-mcp-http-token}",
        "PDFNATIVE_MCP_MAX_INFLATE_BYTES": "${input:pdfnative-mcp-max-inflate-bytes}",
        "PDFNATIVE_MCP_CREATION_DATE": "${input:pdfnative-mcp-creation-date}",
        "SOURCE_DATE_EPOCH": "${input:source-date-epoch}",
        "PDFNATIVE_MCP_TSA_URL": "${input:pdfnative-mcp-tsa-url}",
        "PDFNATIVE_MCP_TSA_AUTH": "${input:pdfnative-mcp-tsa-auth}",
        "PDFNATIVE_MCP_REVOCATION": "${input:pdfnative-mcp-revocation}",
        "PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS": "${input:pdfnative-mcp-network-allowed-hosts}",
        "PDFNATIVE_MCP_NETWORK_TIMEOUT_MS": "${input:pdfnative-mcp-network-timeout-ms}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

pdfnative MCP — PDF/A & PDF/X-4 generation, PAdES signing & introspection in other clients