原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

pdfnative MCP — PDF generation, PAdES signing & introspection

作者:Nizoka版本 1.8.0i★ –i在你的电脑上运行
注册名称io.github.Nizoka/pdfnative-mcp

安装

概览

作者提供的说明(英文原文)

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

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 文档、表格与办公
  • 你需要填写:PDFNATIVE_MCP_HTTP_TOKEN, PDFNATIVE_MCP_TSA_AUTH

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: PDFNATIVE_MCP_OUTPUT_DIR, PDFNATIVE_MCP_OUTPUT_BASE_URL, PDFNATIVE_MCP_CACHE_DIR, PDFNATIVE_MCP_FONT_DIR, PDFNATIVE_MCP_PORT, PDFNATIVE_MCP_HTTP_TOKEN, PDFNATIVE_MCP_MAX_INFLATE_BYTES, PDFNATIVE_MCP_CREATION_DATE, SOURCE_DATE_EPOCH, PDFNATIVE_MCP_TSA_URL, PDFNATIVE_MCP_TSA_AUTH, PDFNATIVE_MCP_REVOCATION, PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS, PDFNATIVE_MCP_NETWORK_TIMEOUT_MS

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "pdfnative": {
      "command": "npx",
      "args": [
        "-y",
        "pdfnative-mcp"
      ],
      "env": {
        "PDFNATIVE_MCP_OUTPUT_DIR": "your-value",
        "PDFNATIVE_MCP_OUTPUT_BASE_URL": "your-value",
        "PDFNATIVE_MCP_CACHE_DIR": "your-value",
        "PDFNATIVE_MCP_FONT_DIR": "your-value",
        "PDFNATIVE_MCP_PORT": "your-value",
        "PDFNATIVE_MCP_HTTP_TOKEN": "your-value",
        "PDFNATIVE_MCP_MAX_INFLATE_BYTES": "your-value",
        "PDFNATIVE_MCP_CREATION_DATE": "your-value",
        "SOURCE_DATE_EPOCH": "your-value",
        "PDFNATIVE_MCP_TSA_URL": "your-value",
        "PDFNATIVE_MCP_TSA_AUTH": "your-value",
        "PDFNATIVE_MCP_REVOCATION": "your-value",
        "PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS": "your-value",
        "PDFNATIVE_MCP_NETWORK_TIMEOUT_MS": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add pdfnative --env PDFNATIVE_MCP_OUTPUT_DIR=your-value --env PDFNATIVE_MCP_OUTPUT_BASE_URL=your-value --env PDFNATIVE_MCP_CACHE_DIR=your-value --env PDFNATIVE_MCP_FONT_DIR=your-value --env PDFNATIVE_MCP_PORT=your-value --env PDFNATIVE_MCP_HTTP_TOKEN=your-value --env PDFNATIVE_MCP_MAX_INFLATE_BYTES=your-value --env PDFNATIVE_MCP_CREATION_DATE=your-value --env SOURCE_DATE_EPOCH=your-value --env PDFNATIVE_MCP_TSA_URL=your-value --env PDFNATIVE_MCP_TSA_AUTH=your-value --env PDFNATIVE_MCP_REVOCATION=your-value --env PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS=your-value --env PDFNATIVE_MCP_NETWORK_TIMEOUT_MS=your-value -- npx -y pdfnative-mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "pdfnative": {
      "command": "npx",
      "args": [
        "-y",
        "pdfnative-mcp"
      ],
      "env": {
        "PDFNATIVE_MCP_OUTPUT_DIR": "your-value",
        "PDFNATIVE_MCP_OUTPUT_BASE_URL": "your-value",
        "PDFNATIVE_MCP_CACHE_DIR": "your-value",
        "PDFNATIVE_MCP_FONT_DIR": "your-value",
        "PDFNATIVE_MCP_PORT": "your-value",
        "PDFNATIVE_MCP_HTTP_TOKEN": "your-value",
        "PDFNATIVE_MCP_MAX_INFLATE_BYTES": "your-value",
        "PDFNATIVE_MCP_CREATION_DATE": "your-value",
        "SOURCE_DATE_EPOCH": "your-value",
        "PDFNATIVE_MCP_TSA_URL": "your-value",
        "PDFNATIVE_MCP_TSA_AUTH": "your-value",
        "PDFNATIVE_MCP_REVOCATION": "your-value",
        "PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS": "your-value",
        "PDFNATIVE_MCP_NETWORK_TIMEOUT_MS": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "pdfnative": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "pdfnative-mcp"
      ],
      "env": {
        "PDFNATIVE_MCP_OUTPUT_DIR": "your-value",
        "PDFNATIVE_MCP_OUTPUT_BASE_URL": "your-value",
        "PDFNATIVE_MCP_CACHE_DIR": "your-value",
        "PDFNATIVE_MCP_FONT_DIR": "your-value",
        "PDFNATIVE_MCP_PORT": "your-value",
        "PDFNATIVE_MCP_HTTP_TOKEN": "your-value",
        "PDFNATIVE_MCP_MAX_INFLATE_BYTES": "your-value",
        "PDFNATIVE_MCP_CREATION_DATE": "your-value",
        "SOURCE_DATE_EPOCH": "your-value",
        "PDFNATIVE_MCP_TSA_URL": "your-value",
        "PDFNATIVE_MCP_TSA_AUTH": "your-value",
        "PDFNATIVE_MCP_REVOCATION": "your-value",
        "PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS": "your-value",
        "PDFNATIVE_MCP_NETWORK_TIMEOUT_MS": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • PDFNATIVE_MCP_OUTPUT_DIR env
    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 env
    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, perce…
  • PDFNATIVE_MCP_CACHE_DIR env
    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…
  • PDFNATIVE_MCP_FONT_DIR env
    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 na…
  • PDFNATIVE_MCP_PORT env
    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 机密 env
    Opt-in bearer token for the HTTP transport (>= 16 chars, no whitespace). When set, /mcp requires 'Authorization: Bearer ' or answers 401. Never logged.
  • PDFNATIVE_MCP_MAX_INFLATE_BYTES env
    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 env
    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…
  • SOURCE_DATE_EPOCH env
    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 env
    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.…
  • PDFNATIVE_MCP_TSA_AUTH 机密 env
    Optional Authorization header value sent to the TSA (e.g. 'Basic ...' or 'Bearer ...'). Never logged or echoed.
  • PDFNATIVE_MCP_REVOCATION env
    '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. Re…
  • PDFNATIVE_MCP_NETWORK_ALLOWED_HOSTS env
    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…
  • PDFNATIVE_MCP_NETWORK_TIMEOUT_MS env
    Per-request timeout for TSA / OCSP / CRL calls in milliseconds, 1000-120000 (default 10000).

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 Nizoka 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“文档、表格与办公”中的其他服务器比较i

  • 星标数多于此分类中其他 3538 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 3538 个服务器的 81% 更新
  • 基础检查结果等于或优于此分类中其他 3538 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

pdfnative MCP — PDF generation, PAdES signing & introspection 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:PDFNATIVE_MCP_HTTP_TOKEN, PDFNATIVE_MCP_TSA_AUTH

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.8.0)于6天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Agent-Native Calendar

作者:BuilderIO

Agent-Native Google Calendar - manage events, sync, and public booking

在云端运行★ 7,620MIT2个月前更新
安装

Excel MCP Server

作者:haris-musa

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

在你的电脑上运行★ 4,276MIT7天前更新
安装

MCP Server for Excel

作者:sbroenne

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

在你的电脑上运行★ 847MIT4天前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

pdfnative-mcp

MCP server for PDF generation, PDF/A archival, PDF/X-4 print exchange, spot colours, right-to-left and 32-script text, JPEG 2000, fine typography, PAdES signing with long-term validation, AcroForms, merge/split, encryption and layout preview — 28 tools and 7 prompts on the pdfnative engine (zero-dependency, ISO 32000-1 compliant), for Claude Desktop, Cursor, ChatGPT and any Model Context Protocol client.


✨ Features

pdfnative-mcp exposes 28 production-grade tools to any MCP host:

ToolPurpose
generate_basic_pdfMulti-page documents from 13 block kinds — heading, paragraph, list, table, image (JPEG/PNG/JPEG 2000), link, toc (printed table of contents), barcode, svg, formField, chart, pageBreak, spacer — every DocumentBlock the engine offers. Embedded newlines auto-split into paragraphs. Optional pdfA, pdfx *(new in v1.7.0)*, print, metadata, embedFonts, watermark, outline, layout options (pageSize, margins, headerTemplate / footerTemplate, compress, debug, encrypt), typography *(new in v1.7.0)* and CMYK colours *(new in v1.7.0)*.
inspect_layout *(new in v1.6.0)*Read-only pagination dry run of the same blocks (+ title, footerText, pdfA, normalize, embedFonts, font, pageSize, margins, headerTemplate, footerTemplate, typography): page count and where every block lands, no PDF produced.
add_barcodeQR Code, Code 128, EAN-13, Data Matrix, PDF417 — embedded in a single-page PDF.
add_international_text32 Unicode scripts — Gujarati, Gurmukhi, Kannada, Malayalam and Odia *(new in v1.8.0)*, Lao, Tai Tham, New Tai Lue, Tai Le and Cham *(v1.7.0)* — plus Latin, math and COLRv1 colour emoji (flag / ZWJ sequences, skin-tone modifiers), with BiDi & OpenType shaping; multi-lang per document.
add_tableTabular reports with smart fields (wrap, repeatHeader, zebra, caption, minRowHeight, cellPadding).
add_formCreate a new interactive AcroForm PDF with text fields, text areas, checkboxes, radio buttons, dropdowns, list boxes (+ placeholder hint text).
read_form_fieldsRead-only enumeration of an existing AcroForm's field tree (names, types, values, widgets).
fill_formFill and/or flatten an existing AcroForm (non-destructive incremental update).
add_chartNative vector charts v2 — bar / barH / stackedBar / stackedBarH / line / area / scatter / pie / donut, secondary axis, log & time scales, data labels, per-value bar colours and optional series labels *(new in v1.8.0)* (pure PDF path operators, PDF/A-safe).
embed_imageEmbed a JPEG, PNG or JPEG 2000 image *(image/jp2, new in v1.8.0)* (base64) into a titled PDF document (align, alt text for tagged output).
prepare_signature_placeholderOptional step 1 of the sign workflow — create a PDF with a /Sig placeholder (signer metadata, subFilter, reserveTimestamp baked in).
sign_pdfPAdES B-B / B-T CMS signature (RSA-SHA256/384/512, ECDSA-SHA256 P-256; profile: 'pades', timestamp, certChainDerBase64, multiple signatures, pinnable signingTime). Auto-injects a placeholder when needed.
add_ltv *(new in v1.6.0)*PAdES B-LT — embed a /DSS with certificates + OCSP/CRL material (operator-configured provider, or caller-supplied offline material composed by the engine — `match: 'all''chain'`, *new in v1.8.0*).
timestamp_pdf *(new in v1.6.0)*PAdES B-LTA — append an RFC 3161 /DocTimeStamp from the operator-configured TSA; re-run to extend the archival chain.
verify_pdfVerify every PAdES signature and document timestamp (integrity + signature value + optional chain trust; a /DocTimeStamp counts in allValid like any signature); ltv: true reports the B-B…B-LTA level.
validate_pdfValidate a Tagged PDF for PDF/UA (ISO 14289-1) structural conformance, or with standard: 'pdf-x-4' *(new in v1.7.0)* the structural prerequisites of PDF/X-4 (ISO 15930-7) — read-only, not a certified preflight.
add_attachmentGenerate a PDF/A-3 document with embedded files (Factur-X / ZUGFeRD invoices).
extract_attachmentsRead-only extraction of embedded files (Factur-X / ZUGFeRD XML round-trip) with byte-for-byte payloads.
extract_textUnicode text extraction (resolves /ToUnicode; logical order for right-to-left and Indic text, tagged or not) with optional positioned runs; onStreamError *(new in v1.8.0)*; opens encrypted PDFs via password.
inspect_pdfRead-only inspection: PDF version, page count, encryption (+ precise encryptionInfo), PDF/A claim, PDF/X claim (pdfX, *new in v1.7.0*), signatures (+ inventory, /DSS, document timestamps), page boxes, /Trapped, attachments, placeholder state, annotations: true inventory of existing page annotations.
update_metadata *(new in v1.6.0)*Rewrite /Info title / author / subject / keywords (+ XMP, dates included) of an existing PDF as an incremental update; pin modDate for reproducible bytes.
encrypt_pdfRe-secure a PDF with AES-128 / AES-256 (owner/user passwords, permissions, password rotation).
decrypt_pdfEmit an unencrypted copy of an RC4 / AES-128 / AES-256 document.
merge_pdfsConcatenate 2–50 PDFs into one via pdfnative's page-tree API (page boxes preserved).
split_pdfSplit one PDF into one document per page range (multi-output).
extract_pagesPull an arbitrary page subset into a single PDF.
annotate_pdfAdd markup annotations (highlight, note, square/circle, line, freetext) and link annotations *(new in v1.8.0)* as a visual overlay — not a redaction.
draft_governance_issueDraft a governance-compliant GitHub issue locally for human review; never submits, no network.

New in v1.8.0:

  • 🎨 Spot colours — print.spotColours declares inks with a process alternate; { spot, tint } (a /Separation plate) and { inks: { … } } (a /DeviceN mix) are accepted wherever a colour is — table borders, templates, watermarks, charts, SVG, annotations. An undeclared ink is refused by name.
  • ↔️ Right-to-left documents — direction: 'auto' | 'ltr' | 'rtl' on the nine document tools, inspect_layout and each paragraph; untagged output carries /ActualText on right-to-left and reordered shaped runs (actualText: false to opt out), so extract_text returns reading order with or without a PDF/A claim.
  • 🌏 32 Unicode scripts — add_international_text gains gu (Gujarati), pa (Gurmukhi), kn (Kannada), ml (Malayalam) and or (Odia); every shaper names its glyphs in ToUnicode, so Tai Tham passes PDF/A-2u too.
  • 🖼️ JPEG 2000 — mimeType: 'image/jp2' (a JP2 file or a raw codestream) on embed_image, the image block and image watermarks, embedded as /JPXDecode without re-encoding; PDFA1_JPX_IMAGE under PDF/A-1, PDFA_JPX_IMAGE for an opacity channel.
  • 🖨️ PDF/X-4 + PDF/A-2 dual claim — pdfx: 'pdfx4' combines with pdfA: 'pdfa2b' | 'pdfa2u' in one file; pdfa1b and pdfa3b are refused with the engine's own message.
  • 🔗 Link annotations — annotate_pdf type: 'link' adds a /URI link to an existing page (http: / https: / mailto:).
  • 🔤 Operator fonts — PDFNATIVE_MCP_FONT_DIR registers the operator's .ttf / .otf files at boot (parsed by the engine, ≤ 64 files); font: ' ' on generate_basic_pdf, inspect_layout and add_international_text draws that face first — FONT_NOT_FOUND lists the slugs. See docs/guides/FONTS.md.
  • 🌐 File mode behind a reverse proxy — PDFNATIVE_MCP_OUTPUT_BASE_URL maps the sandbox to a public base URL: file-mode results carry url and name it instead of the host's path (issue #66); pure string formatting, never requested.
  • 📊 Charts — series[].colors (one colour per bar) and an optional series label ("Series N" otherwise).
  • 🔏 LTV, ECDSA — add_ltv mode: 'offline' composes /DSS + /VRI through the engine (match: 'all' | 'chain'); verify_pdf verifies ECDSA through the engine's ecdsaVerifyHash (the local P-256 code is gone).
  • 📖 extract_text — a content stream over the decompression cap is now PDF_PARSE_FAILED naming the remedy (onStreamError: 'skip' restores the 1.7.0 empty page); inspect_pdf decodes /Info text strings (UTF-16BE titles read back as text).
  • 🤝 Governance as resources — pdfnative://governance/policy and pdfnative://governance/rules serve the AI-governance contract byte-identical to the repository (always listed); 13 engine diagnostics (4 new), 48 error codes (FONT_NOT_FOUND), prepare_signature_placeholder.blocks takes 5000 items like generate_basic_pdf (llama.cpp grammar, issue #65); calls carrying password are never cached.
  • 🧪 Hardening — the pdfnative 1.9 release pipeline (guard → build → publish → attest → registry: Trusted Publishing, SHA-512-pinned npm client, registry bytes attested with three SBOMs, server.json published to the MCP registry with the workflow's OIDC identity), ClusterFuzzLite over five boundary targets, workflow-lint (zizmor + actionlint) as a required check, block-mode egress on the Linux jobs whose hosts are baselined (audit mode with a dated reason elsewhere), CodeQL on the workflows, Node 26 advisory, a pack-manifest

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx