← Browse

@open-document-alliance/pdf-tools

A

MCP server package pdf-tools

mcp_servermcp

Install

agr install @open-document-alliance/pdf-tools --target claude

This artifact does not publish files for Claude.

Document

{ "name": "pdf-tools", "version": "0.9.5", "description": "PDF Tools MCP server for Claude Desktop", "type": "module", "main": "server/index.js", "license": "MIT", "engines": { "node": "^20.19.0 || >=22.12.0" }, "scripts": { "pretest": "node scripts/check-node-version.mjs", "prebuild:ui": "node scripts/check-node-version.mjs", "dev:ui": "vite --host 127.0.0.1", "smoke:ui-dev": "node scripts/dev-ui-smoke.mjs", "smoke:ui-sign": "node scripts/dev-ui-sign-smoke.mjs", "smoke:ui-sign-rotated": "node scripts/dev-ui-rotated-sign-smoke.mjs", "smoke:ui-inspect": "node scripts/dev-ui-inspect-smoke.mjs", "smoke:ui-preview-zone": "node scripts/dev-ui-preview-zone-smoke.mjs", "smoke:ui-name-zone": "node scripts/dev-ui-name-zone-smoke.mjs", "smoke:ui-operation-mode-race": "node scripts/dev-ui-operation-mode-race-smoke.mjs", "smoke:ui-app-lifecycle": "node scripts/dev-ui-app-lifecycle-smoke.mjs", "smoke:ui-draw": "node scripts/dev-ui-draw-smoke.mjs", "smoke:ui-sign-polish": "node scripts/dev-ui-sign-polish-smoke.mjs", "smoke:mcpb": "node scripts/smoke-mcpb.mjs", "qpdf-wasm:fetch": "node vendor/qpdf-wasm/fetch-sources.mjs", "qpdf-wasm:smoke": "node vendor/qpdf-wasm/smoke.mjs", "qpdf-wasm:verify": "node vendor/qpdf-wasm/verify-reproducible.mjs", "test:layout-encrypted-oracle": "node scripts/generate-layout-encrypted-oracle.mjs", "test:contract:share": "node scripts/test-share-contract.mjs", "review:maintainer": "node scripts/maintainer-review.mjs", "build:ui": "vite build", "build:mcpb": "node scripts/build-mcpb.mjs", "test": "vitest run", "test:all": "node scripts/run-all-test-suites.mjs", "test:pdf-lib-worker": "vitest run test/pdf-lib-subprocess-boundary.test.js test/pdf-lib-worker-contract.test.js test/output-schema.test.js test/input-validation.test.js test/save-lifecycle.test.js", "test:node-native": "node scripts/run-node-test-suites.mjs", "test:concurrent": "node scripts/test-concurrent-suites.mjs" }, "repository": { "type": "git", "url": "https://github.com/Open-Document-Alliance/PDF-Tools.git" }, "homepage": "https://github.com/Open-Document-Alliance/PDF-Tools", "bugs": { "url": "https://github.com/Open-Document-Alliance/PDF-Tools/issues" }, "dependencies": { "@modelcontextprotocol/sdk": "^1.30.0", "@napi-rs/canvas": "^0.1.99", "pdf-lib": "1.17.1", "pdfjs-dist": "5.4.624" }, "devDependencies": { "@anthropic-ai/mcpb": "2.1.2", "@modelcontextprotocol/ext-apps": "1.7.4", "rolldown": "1.1.5", "vite": "^8.1.5", "vite-plugin-singlefile": "^2.3.3", "vitest": "^4.1.10" } }

Trustgrade A

  • passBody integrity

    Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.

  • warnType matchbest-effort: server code not analyzed

    Whether the artifact is really the kind of thing its metadata claims it is.

  • passFreshness

    How long since the source repository was last pushed to.

  • passPrompt injection

    Scans the artifact's own text for instructions aimed at your agent rather than at you.

  • passLicense

    Whether the source repository declares an SPDX license permissive enough to redistribute.

How the grade is calculated

Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:

  • Aevery check passed
  • Bone warning
  • Ctwo warnings
  • Dprompt injection or body integrity failed, or three warnings
  • Fone of those failed, and something else is wrong

These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.

Versions

  • git-06ab24dd0c742026-08-06