프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 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

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

  • npmNode.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는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • 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

  • 이 카테고리의 다른 서버 2197개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 2197개 중 81%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 2197개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

pdfnative MCP — PDF generation, PAdES signing & introspection, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: PDFNATIVE_MCP_HTTP_TOKEN, PDFNATIVE_MCP_TSA_AUTH

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.8.0)은 6일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 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,276MIT6일 전 업데이트
설치

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에게 묻기