{ "name": "@aryanbv/pdf-toolkit-mcp", "version": "0.3.1", "mcpName": "io.github.AryanBV/pdf-toolkit-mcp", "description": "MCP server for PDF manipulation — 22 tools: render pages to images for vision, Markdown/template→PDF, AES-256 encrypt, form-preserving merge/split, fill forms, search, compare, QR codes, watermark. Zero-config, TypeScript-native.", "type": "module", "bin": { "pdf-toolkit-mcp": "dist/index.js" }, "main": "dist/index.js", "files": [ "dist", "README.md", "LICENSE" ], "scripts": { "build": "tsc", "dev": "tsc --watch", "start": "node dist/index.js", "inspect": "npx @modelcontextprotocol/inspector node dist/index.js", "pretest": "npm run build", "test": "vitest run", "test:watch": "vitest", "test:cov": "vitest run --coverage", "lint": "eslint .", "lint:fix": "eslint . --fix", "format": "prettier --write .", "format:check": "prettier --check .", "prepack": "npm run build", "prepare": "husky || exit 0" }, "keywords": [ "mcp", "mcp-server", "pdf", "pdf-lib", "pdf-merge", "pdf-split", "pdf-create", "pdf-rotate", "pdf-encrypt", "pdf-watermark", "pdf-tools", "fill-form", "model-context-protocol", "claude", "typescript", "ai-tools", "markdown", "react-pdf", "template", "qr-code", "barcode" ], "license": "MIT", "engines": { "node": ">=20" }, "dependencies": { "@bwip-js/node": "^4.8.0", "@hyzyla/pdfium": "^2.1.13", "@modelcontextprotocol/sdk": "^1.29.0", "@neslinesli93/qpdf-wasm": "^0.3.0", "@pdfme/pdf-lib": "^5.5.10", "@react-pdf/renderer": "^4.5.1", "diff": "^9.0.0", "fontkit": "^2.0.0", "jpeg-js": "^0.4.4", "mdast-util-to-markdown": "^2.1.2", "pngjs": "^7.0.0", "react": "^19.2.6", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "unified": "^11.0.5", "unpdf": "^1.4.0", "zod": "^3.25.0" }, "devDependencies": { "@types/diff": "^7.0.2", "@types/fontkit": "^2.0.9", "@types/mdast": "^4.0.4", "@types/node": "^22.0.0", "@types/pixelmatch": "^5.2.6", "@types/pngjs": "^6.0.5", "@types/react": "^19.2.15", "@vitest/coverage-v8": "^3.2.4", "eslint": "^9.39.4", "eslint-config-prettier": "^10.1.8", "husky": "^9.1.7", "lint-staged": "^17.0.5", "pixelmatch": "^7.2.0", "prettier": "^3.8.3", "tsx": "^4.21.0", "typescript": "^5.7.0", "typescript-eslint": "^8.60.0", "vitest": "^3.2.4" }, "overrides": { "fast-uri": ">=3.1.2", "hono": ">=4.12.18", "@hono/node-server": "^1.19.13", "ip-address": ">=10.1.1", "qs": ">=6.15.2", "ws": ">=8.20.1" }, "lint-staged": { "*.{ts,tsx}": [ "eslint --fix", "prettier --write" ], "*.{json,md,yml,yaml}": [ "prettier --write" ] } }