{
    "name": "pdfnative-mcp",
    "version": "1.0.0",
    "description": "Model Context Protocol (MCP) server bridging the zero-dependency pdfnative v1.2 library — generate PDFs (PDF/A-1b/2b/2u/3b), embed barcodes & QR codes, sign and **verify** PAdES documents (RSA / ECDSA P-256 CMS), render 18 scripts including emoji, build smart tables and AcroForms, embed images, embed files (Factur-X / ZUGFeRD PDF/A-3), extract text, and inspect existing PDFs — from any MCP-compatible AI client (Claude, Cursor, ChatGPT, Continue, Zed, Windsurf, Cline, Roo Code, …).",
    "mcpName": "io.github.nizoka/pdfnative-mcp",
    "keywords": [
        "mcp",
        "mcp-server",
        "mcp-2026",
        "mcp-registry",
        "model-context-protocol",
        "modelcontextprotocol",
        "pdf",
        "pdfnative",
        "pdf-generation",
        "pdf-a",
        "pdf-a-1b",
        "pdf-a-2b",
        "pdf-a-2u",
        "pdf-a-3b",
        "tagged-pdf",
        "pdf-accessibility",
        "pades",
        "pades-b-b",
        "pades-b-lt",
        "cms",
        "signature-verification",
        "verify-pdf",
        "acroform",
        "accessibility",
        "barcode",
        "qrcode",
        "code128",
        "ean13",
        "datamatrix",
        "pdf417",
        "digital-signature",
        "encryption",
        "rsa",
        "rsa-sha256",
        "ecdsa",
        "ecdsa-p256",
        "x509",
        "unicode",
        "bidi",
        "opentype",
        "emoji",
        "noto",
        "arabic",
        "hebrew",
        "thai",
        "devanagari",
        "bengali",
        "tamil",
        "cjk",
        "vietnamese",
        "factur-x",
        "zugferd",
        "embedded-files",
        "text-extraction",
        "smart-tables",
        "inspect",
        "document-ai",
        "agent-tools",
        "ai",
        "llm",
        "tools",
        "claude",
        "claude-desktop",
        "cursor",
        "chatgpt",
        "chatgpt-desktop",
        "continue-dev",
        "zed-editor",
        "windsurf",
        "cline",
        "roo-code",
        "stdio",
        "http",
        "streamable-http",
        "typescript",
        "esm",
        "zero-dependency"
    ],
    "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",
        "typecheck": "tsc --noEmit",
        "typecheck:all": "npm run typecheck",
        "test": "vitest run",
        "test:watch": "vitest",
        "test:coverage": "vitest run --coverage",
        "prepare": "npm run build",
        "prepublishOnly": "npm run clean && npm run lint && npm run typecheck && npm run test && npm run build"
    },
    "dependencies": {
        "@modelcontextprotocol/sdk": "^1.29.0",
        "pdfnative": "^1.2.0",
        "zod": "^3.23.8"
    },
    "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
    }
}
