{ "name": "pdfnative-mcp", "version": "1.6.0", "description": "Model Context Protocol (MCP) server for PDF: generate PDF/A documents with tables, images, charts, barcodes, SVG and forms; sign and verify PAdES signatures (B-B to B-LTA, RFC 3161, OCSP/CRL); fill AcroForms; merge, split, encrypt; extract text; preview layout. 28 tools on the pdfnative engine, no network by default, for Claude, Cursor, ChatGPT and any MCP client.", "mcpName": "io.github.Nizoka/pdfnative-mcp", "keywords": [ "mcp", "mcp-server", "model-context-protocol", "modelcontextprotocol", "mcp-registry", "pdf", "pdf-generation", "pdfnative", "pdf-a", "pdf-a-2b", "pdf-a-3b", "archival-pdf", "pdf-ua", "tagged-pdf", "validate-pdf", "pades", "digital-signature", "sign-pdf", "verify-pdf", "signature-verification", "long-term-validation", "ltv", "rfc3161", "document-timestamp", "ocsp", "crl", "acroform", "pdf-forms", "fill-pdf-form", "flatten-form", "merge-pdf", "split-pdf", "extract-pages", "encrypt-pdf", "decrypt-pdf", "password-protect-pdf", "aes-256", "pdf-charts", "vector-charts", "barcode", "qrcode", "svg", "watermark", "table-of-contents", "page-layout", "inspect-layout", "pdf-annotations", "pdf-metadata", "text-extraction", "factur-x", "zugferd", "invoice", "print-production", "prepress", "print-ready", "unicode", "emoji", "ai-governance", "human-in-the-loop", "claude", "claude-desktop", "cursor", "chatgpt", "llm", "agent-tools", "typescript" ], "homepage": "https://github.com/Nizoka/pdfnative-mcp#readme", "bugs": { "url": "https://github.com/Nizoka/pdfnative-mcp/issues" }, "repository": { "type": "git", "url": "git+https://github.com/Nizoka/pdfnative-mcp.git" }, "license": "MIT", "author": "Nizoka", "type": "module", "main": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js" } }, "bin": { "pdfnative-mcp": "./dist/cli.js" }, "files": [ "dist/", "LICENSE", "README.md", "CHANGELOG.md", "server.json", "llms.txt" ], "engines": { "node": ">=22" }, "sideEffects": false, "scripts": { "build": "tsc -p tsconfig.build.json", "dev": "tsc -p tsconfig.build.json --watch", "clean": "node -e \"import('node:fs').then(m=>m.rmSync('dist',{recursive:true,force:true}))\"", "lint": "eslint src --max-warnings 0", "typecheck": "tsc --noEmit", "typecheck:all": "npm run typecheck", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "examples:check": "vitest run tests/examples.test.ts", "verify:issue": "node scripts/verify-issue.mjs", "corpus:pdfa": "node scripts/generate-pdfa-corpus.mjs", "validate:pdfa": "npm run build && npm run corpus:pdfa && node scripts/validate-pdfa.mjs", "prepare": "npm run build", "prepublishOnly": "npm run clean && npm run lint && npm run typecheck && npm run build && npm run test" }, "dependencies": { "@modelcontextprotocol/server": "^2.0.0", "pdfnative": "^1.7.0", "zod": "^4.2.0" }, "devDependencies": { "@eslint/js": "^9.18.0", "@types/node": "^22.10.5", "@vitest/coverage-v8": "^4.1.5", "eslint": "^9.18.0", "typescript": "^5.7.3", "typescript-eslint": "^8.20.0", "vitest": "^4.1.5" }, "publishConfig": { "access": "public", "provenance": true } }