Releases: Open-Document-Alliance/PDF-Tools
PDF Tools v0.8.6: New Sign Mode and URL-to-PDF Workflows
PDF Tools v0.8.6: New Sign Mode and URL-to-PDF Workflows
PDF Tools v0.8.6 adds the new Sign mode to the MCPB viewer and makes signing/form workflows more dependable in Claude Desktop and other local MCP hosts.
The biggest upgrade is that PDFs can now move from "view/fill/manage pages" into an actual signing workflow: Claude can find signature/date zones, the viewer exposes a Sign tab, users can draw or reuse signatures, and date/signature boxes can be placed on the PDF. When Claude detects where a signature or date belongs, it now gets exact, visible coordinates in the tool response, not just hidden structured metadata. That makes it easier for Claude to explain what it found, inspect tricky PDFs, and place signatures on the line instead of near the line.
If you use PDF Tools for W-9s, business forms, municipal applications, rotated pages, or local-first PDF workflows, this is the build to install.
Highlights
- Added the new viewer Sign mode: Signature and Date zones, saved/drawn signatures, manual signature fields, signing packets, text stamping, inspect-region, region preview, and preview-to-zone flows.
- Validated Sign mode on W-9 signature/date rows so detected zones land on the actual signing row, not on printed labels.
- Added visible coordinate output to
detect_signature_zones, including page,x,y, width, height, label, confidence, and source. - Fixed rotated-page signing overlays so signatures and dates rotate with the page instead of remaining upright on sideways pages.
- Added page-bounded reading and search tools:
read_pdf_pagesandsearch_pdf_text, so Claude can work with targeted excerpts instead of always reading a whole document. - Added visual rendering tools:
render_pdf_pageandrender_pdf_region, including a macOS PDF renderer fallback for tougher scanned or image-heavy PDFs. - Added
fetch_pdf_from_url, giving Claude a local-machine path for downloading PDF URLs that often fail from sandboxed shell/web fetches. - Added Claude Desktop allowed-directory sandbox settings so users can explicitly control which local folders PDF Tools may read from or write to.
- Hardened same-document save behavior across fill/sign/text/page-management flows so follow-up edits keep using the active working document instead of creating confusing duplicate files.
- Preserved quoted CSV values, including values with commas, in bulk fill workflows.
- Hardened XFA form display after
force_xfa=truefills, including a Claude Desktop sanity check that rendered the filled output withoutInvalid PDF Structure. - Added a non-standard municipal PDF fixture from Sandy Springs, GA to the golden placement checks, with pinned SHA256 bytes and required release-gate coverage.
- Rebuilt and reinstalled the final
0.8.6MCPB in Claude Desktop after adversarial review, then validated coordinate detection, W-9 display, Sandy Springs display, and XFA output display. - Validated the ZIP/share-package path by extracting it into a clean temporary directory, installing production dependencies with an isolated npm cache, and launching the server over MCP stdio.
Since the Last Public Release
The previous public GitHub release was v0.7.3, so v0.8.6 includes more than the final placement polish. The broader release adds the Sign tab/mode, signature and date zone handling, region inspection/rendering, PDF URL fetching, safer local directory controls, active-document lifecycle hardening, and a much larger automated/manual validation suite.
This release also improves Claude's task reliability by breaking PDF work into more purpose-built MCP tools. Instead of one brittle "download/read/fill/sign" operation, Claude can now fetch a PDF URL locally, read bounded page ranges, search text, render full pages or regions, detect signature/date zones, and then use Sign mode to apply the result.
Validation
Release gates completed for this build:
npm test: passed19files /179tests, with the known Vitest close-timeout warning after successful completion.RELEASE_GATES=1 npm test -- test/golden-set-placement.test.js: passed, including the required URL-backed Sandy Springs fixture.npm run build:ui: passed.npm run smoke:ui-dev: passed.- Claude Desktop reinstall: passed with installed extension version
0.8.6. - Claude Desktop W-9 coordinate/display sanity: passed.
- Claude Desktop XFA output display sanity: passed.
- Claude Desktop Sandy Springs display/signature-zone sanity: passed.
- Playwright MCP checks for inspect-region, preview-to-zone, draw-signature, and rotated overlays: passed.
- Clean extracted share-package MCP stdio install: passed with
37tools exposed. - MCPB artifact inspection: passed; generated local evidence files such as
*-sign.png,.playwright-mcp/, and.test-tmp*/are not included.
One known test-infrastructure caveat remains: npm run smoke:ui-preview-zone is still flaky in the agent-browser harness. The product behavior it covers was validated through Playwright MCP and recorded in the durable test ledger.
Artifacts
Attach these files to the GitHub release:
pdf-toolkit-mcp.mcpbpdf-toolkit-mcp.zip
SHA256:
e754aee83ee7a3a4ecdfb6e7d54b6404a3a84c199552afdb3b1adac7ee7e8104 pdf-toolkit-mcp.mcpb
ad61574c42d5c4446fdd05a216ab1abc33220abe668de3a118c1df612ae9ff55 pdf-toolkit-mcp.zip
Install
Claude Desktop users should download pdf-toolkit-mcp.mcpb from this release and double-click it to install.
Users of Cursor or another local MCP host can use pdf-toolkit-mcp.zip or the source checkout and point their MCP config at server/index.js.
Compatibility Notes
PDF Tools remains local-first: PDFs, saved profiles, and saved signatures stay on the user's machine. This release targets Claude Desktop and local MCP hosts; it does not add a remote connector for Claude Cowork / web-hosted Claude.
v0.7.3
Fix: Viewer crash in Claude Desktop
pdfjs-dist 5.6.205 (upgraded in v0.7.2) uses Map.prototype.getOrInsertComputed — an ES2025 API only available in Chrome 134+. Claude Desktop's Electron ships an older Chromium, causing "Failed to render page" errors for every PDF in the interactive viewer.
Changes
- Pin
pdfjs-distto5.4.624(last compatible version) - Add
viewer-compattest to catch Chromium-incompatible APIs in future builds - Add upgrade safeguards to CLAUDE.md and release checklist
Install
Download pdf-toolkit-mcp.mcpb and open it in Claude Desktop.
v0.7.2
PDF Tools v0.7.2
This patch release fixes a few regressions in the interactive viewer and page-management flow, with a focus on correctness and cross-platform behavior.
Fixed
-
Fixed
Manage Pagessave behavior on Windows-style file paths.- The viewer now builds output paths correctly for both POSIX and Windows paths when saving managed PDFs.
-
Fixed rotated-page orientation detection in
get_page_analysis.- Page analysis now accounts for page rotation metadata, so 90°/270° rotated pages are classified by their displayed orientation instead of their raw media-box dimensions.
-
Fixed the page-manager save flow so the viewer reopens the saved PDF directly.
- The app now consumes the returned tool result itself instead of relying on host-side forwarding behavior.
-
Fixed stderr suppression so it no longer silences unrelated concurrent writes.
- Warning suppression is now scoped to the async operation that needs it, reducing packaging/runtime risk in multi-request scenarios.
Internal improvements
-
Added targeted regression tests for:
- Windows/POSIX host path handling
- rotated-page analysis
- tool-result payload parsing
- scoped stderr suppression
-
Synced the Cursor share bundle with the runtime fixes so the packaged stdio server matches the main server behavior.
Verification
Release build checks completed successfully:
npm testnpm run build:uimcpb packnode package-for-friend.js
Release artifacts
Attached to this release:
pdf-toolkit-mcp-0.7.2.mcpbpdf-toolkit-mcp.zip
v0.7.1
PDF Tools v0.7.1
This is a patch release focused on runtime consistency and packaging.
What changed
- upgraded the MCP, viewer, and PDF toolchain
- updated
pdfjs-distto5.6.205 - updated
@modelcontextprotocol/sdkto1.29.0 - synced the Cursor share bundle with the main runtime
- fixed share-package drift in metadata, helper files, and built viewer assets
- updated the share installer flow to consistently use
pdf-tools - tightened packaging rules so local repo files are less likely to leak into the Desktop bundle
Validation
Built and checked locally with:
npm testnpm run build:uinode package-for-friend.jsmcpb pack- MCP stdio smoke tests against both the main server and the share server
Artifacts
pdf-toolkit-mcp.mcpbfor Claude Desktoppdf-toolkit-mcp.zipfor Cursor and other stdio MCP hosts
v0.7.0 — Visual Page Manager + AI Page Analysis
What's New
Visual Page Manager
- "Manage Pages" mode in the PDF viewer — toggle between reading and page management
- Thumbnail grid with lazy rendering (IntersectionObserver, 120px thumbnails)
- Pointer-events drag to reorder pages — works in all MCP App sandboxes
- Click to select (single, Shift+range, Ctrl/Cmd+multi), rotate CW/CCW, mark for delete
- "Save as new file" applies all changes in one pass — original is never modified
- Keyboard accessible (Tab, Space, Arrow keys) with ARIA roles and focus management
- Reduced motion support via
prefers-reduced-motion
New Tools
apply_page_plan — Reorder, rotate, and delete PDF pages in a single operation. Accepts a plan object with page_order (which pages to keep, in what order) and rotations (per-page rotation degrees). Pages omitted from the order are deleted. Saves as a new file.
get_page_analysis — Analyze every page in a PDF: dimensions, orientation (portrait/landscape), text length, first 100 characters of text, and image presence. Automatically identifies blank pages and pages with minority orientation. Claude uses this to suggest cleanup actions like removing blank backs and rotating sideways pages.
Also Included
DESIGN.md— full design system for the MCP App UI- Test suite: 16 new tests for both tools (35 total, vitest)
- Integer validation for page numbers, password forwarding to pdfjs-dist
- Partial write cleanup on failure
Install
Download pdf-toolkit-mcp.mcpb below and open it with Claude Desktop, or install from the Claude Desktop extension directory.
Full changelog: v0.6.0...v0.7.0
v0.6.0 — Merge, Split, Rotate, Reorder
What's New
PDF Tools now handles the most common PDF operations — merge, split, rotate, and reorder pages — all locally on your computer. No uploading to web tools required.
5 New Tools
- merge_pdfs — Combine multiple PDFs into a single document with visual verification
- split_pdf — Split by page ranges (
"1-5,6-10") or at regular intervals ("every 5") - rotate_pdf_pages — Rotate specific or all pages by 90°, 180°, or 270°
- reorder_pdf_pages — Rearrange pages in any order
- get_pdf_info — Quick metadata lookup (page count, file size, dimensions, form fields)
Improvements
- Manipulation tools open the interactive viewer so you can immediately see the result
- New
loadPdfhelper centralizes PDF loading with better error messages - Profile name validation prevents path traversal (security fix)
- CSV filename sanitization in bulk_fill_from_csv (security fix)
- Fixed
setRotationAPI to use pdf-lib'sdegrees()helper - First automated tests (19 unit tests for page range parsing via vitest)
- 3 new prompts in the extension listing for merge/split/rotate scenarios
- Updated listing: "PDF Tools - View, Fill, Merge, Split, Extract, Analyze"
Stats
- 19 tools total (was 14)
- 12 files changed, 1,649 insertions
- 19 automated tests (first test suite for the project)
Full Changelog
v0.5.1
Tool Annotations for Anthropic MCP Directory
Adds MCP tool annotations to all 14 tools as required by Anthropic's directory review (#21).
Changes:
- All tools now include
annotationswithtitle,readOnlyHint,destructiveHint,idempotentHint, andopenWorldHint - Fixed
.mcpbignore—pdf-toolkit-mcp-share/was leaking into the bundle (stalepdf-filler-mcp-share/pattern) - Added
read_pdf_bytestomanifest.jsontools array
v0.5.0
Interactive PDF Viewer
PDF Tools now includes a full interactive PDF viewer powered by PDF.js, rendered inline in Claude Desktop conversations via MCP Apps.
New: display_pdf tool
- View any PDF with page navigation, zoom, and fullscreen
- Search text across all pages with highlighted results
- Select and copy text directly from PDFs
- Automatically detects form fields and shows them in a sidebar with fill progress
- Keyboard shortcuts (arrow keys, Ctrl+F, +/-, Escape)
- Dark mode support via host theme sync
- Page position saved per document
How it works
The viewer uses chunked byte streaming (read_pdf_bytes) via the MCP Apps ext-apps SDK. PDF.js loads pages on demand through PDFDataRangeTransport — no need to load the entire file into memory.
Other changes
- Upgrade to MCP Apps ext-apps SDK v1.2.2
- Upgrade MCP SDK to v1.27.1, @napi-rs/canvas to v0.1.97
- Manifest version upgraded to 0.3
- Tool descriptions now include local filesystem path hints to prevent Claude from using container paths
read_pdf_fieldsanddisplay_pdfdescriptions updated to prevent redundant tool calls- Profile directory migrated from
~/.pdf-filler-profilesto~/.pdf-toolkit-files(automatic migration on first run) - Author updated to Open Document Alliance
- New
view_and_analyze_pdfprompt - Added Vite build pipeline for single-file HTML viewer
- Added
scripts/reinstall.shfor development testing
Artifacts
pdf-toolkit-mcp.mcpb— Claude Desktop extension (double-click to install)
Full Changelog
v0.4.1
PDF Tools v0.4.0 - Document Analysis & Intelligence
🚀 What's New in v0.4.0
🎯 Expanded Scope: Now PDF Tools
Renamed to better reflect the comprehensive PDF capabilities beyond just form filling.
✨ New Capabilities
- 📖 Document Analysis - Analyze research papers, contracts, technical manuals (300+ pages)
- 📊 Data Extraction - Extract tables and structured data from any PDF type
- 🔍 Contract Comparison - Compare multiple versions to identify changes
- 📝 Enhanced Prompts - 10+ specialized prompts for different use cases:
- Research paper analysis & literature review
- Contract comparison & legal review
- Financial statement extraction
- Technical documentation summarization
- Bulk invoice processing
- Interactive Q&A sessions
🛠 Technical Improvements
- Better environment variable handling for default directories
- Enhanced resource URI generation for Claude's PDF API
- Improved documentation and examples
- Extended keyword coverage for discoverability
📦 Installation
For Claude Desktop
Download pdf-filler-simple.dxt and install via Settings → Extensions
For Cursor IDE
Download pdf-filler-mcp.zip, unzip, and run the installer
🎯 Perfect For
- Researchers analyzing academic papers
- Lawyers comparing contracts
- Engineers reviewing technical specs
- Businesses processing invoices
- Anyone working with complex PDFs
💡 Quick Start
Just ask Claude:
- "Analyze this research paper and extract key findings"
- "Compare these two contracts and show me what changed"
- "Extract all tables from this financial report to CSV"
- "Fill this W-9 with my business information"
📖 Full Documentation
See the README for complete usage instructions