PDF Tools
The local PDF workflow for Claude Desktop and MCP hosts: fill, sign, merge, split, extract, and analyze PDFs without sending files to a web app.
README
PDF Tools for Claude Desktop and Local MCP Hosts
The local PDF workflow for Claude Desktop and MCP hosts: fill, sign, merge, split, extract, and analyze PDFs without sending files to a web app.
Instead of just opening a PDF, PDF Tools lets Claude fetch PDF URLs to your machine, inspect documents visually, fill forms, save reusable profiles, add signature/date zones, merge and split files, reorganize pages visually, extract structured data, and analyze document content locally.
This package targets Claude Desktop and other local MCP hosts today. It does not yet include a remote connector for Claude Cowork / web-hosted Claude.
Install
Claude Desktop
- Download the latest
.mcpbfrom Releases - Double-click the
.mcpbfile to install it in Claude Desktop
The extension is also available in the Claude Extensions directory.
Claude Desktop settings include an Allowed PDF Directories field. By default,
PDF Tools can access ~/Documents, ~/Downloads, and ~/Desktop. Add any other
folder you want Claude to use before asking it to read, fill, sign, merge, or save
PDFs there. Saved profiles and signatures live in the extension's private local
store and do not need to be added manually.
Cursor / Other MCP Hosts
{
"mcpServers": {
"pdf-tools": {
"command": "node",
"args": ["/full/path/to/PDF-Tools/server/index.js"]
}
}
}
Why It's Different
Claude already knows how to read PDFs in limited ways. PDF Tools goes much further:
- Interactive viewer: page navigation, zoom, search, fullscreen, text selection, and form-field sidebar
- Form workflows:
fill_pdf,read_pdf_fields,bulk_fill_from_csv, and reusable profiles - Sign mode: signature/date zone detection, saved or drawn local signatures, text stamping, inspect-region, and preview-to-zone flows
- URL-to-PDF workflows: fetch HTTP(S) PDF links to the local machine when sandboxed web fetches are blocked
- Page organization: merge, split, rotate, reorder, and apply full page plans in one pass
- Extraction and analysis: page-bounded reads, text search, page/region rendering, CSV export, page-level analysis, metadata, and validation
- Local-first: files stay on your machine
- Directory sandbox: Claude Desktop users can choose which local folders PDF Tools may read from or write to
What You Can Do
Interactive PDF Viewer
- View PDFs with page navigation, zoom, search, and fullscreen
- Select and copy text directly from pages
- See form fields in a sidebar with fill status
- Use visual page management to reorder, rotate, and remove pages before saving a new copy
URL-to-PDF Workflows
- Download PDFs from HTTP(S) URLs to your local machine
- Open downloaded PDFs immediately in the viewer for fill, sign, page management, extraction, or analysis
- Use the local MCP host for cases where Claude's normal web/proxy fetch path cannot retrieve the PDF
- Keep downloaded PDFs inside user-approved local directories
Forms and Reusable Profiles
- Fill W-9s, 1099s, rental applications, waivers, and any fillable PDF
- Save personal or business details as reusable profiles
- List, load, and apply saved profiles so repeated forms take seconds instead of minutes
- Bulk fill many PDFs from CSV data and validate required fields before submission
Sign Mode and Local Signatures
- Detect likely signature, initials, and date zones with model-readable coordinates
- Switch to the viewer's Sign tab to place signatures, dates, or text on detected zones
- Draw or reuse saved local signatures
- Inspect a region, preview it, and turn it into a typed signing zone when automatic detection is not enough
- Keep signing edits local, with active-document tracking and backup behavior for same-file mutations
Page Organization Tools
- Merge multiple PDFs into one document
- Split PDFs by exact page ranges or regular intervals
- Rotate and reorder pages
- Apply a full page plan in one pass to reorder, rotate, and delete pages while preserving the original
Extraction and Analysis
- Read document text for summarization, question answering, and research workflows
- Extract structured data to CSV
- Inspect page-level details like orientation, text presence, images, and likely blank pages
- Review metadata such as page count, dimensions, form fields, and file size
Great Fit For
- Researchers reviewing papers and reports
- Operators processing forms and back-office PDFs
- Lawyers organizing contracts and comparing versions
- Accountants handling tax documents
- Anyone who wants a serious PDF workflow in Claude without sending files to a web app
Example Prompts
View and Inspect
- "Open my W-9 and show me the fields"
- "Display the contract PDF in my Documents folder"
- "Search this report for every mention of indemnification"
- "Download this PDF URL locally, open it, and tell me what needs to be filled out"
Fill Forms
- "Fill this W-9 with my business info: Company Name LLC, 123 Main St, Tax ID 12-3456789"
- "Use my work profile to fill this application"
- "Save this data as a reusable profile called advisor-office"
Sign and Date
- "Find every place this PDF needs a signature or date"
- "Open Sign mode so I can draw and place my signature"
- "Add sign-here and date boxes to this completed form"
- "Inspect the signature block on page 5 and create a custom signing zone there"
Organize Pages
- "Merge these three contracts into one PDF"
- "Split this report every 10 pages"
- "Rotate page 3 by 90 degrees"
- "Open Manage Pages so I can reorder and delete pages visually"
Analyze and Extract
- "Summarize this research paper"
- "Extract all text from this scanned invoice"
- "Render page 1 of this scanned invoice so you can inspect it visually"
- "Render just the signature block on page 3 so you can inspect it visually"
- "Read pages 8 through 10 of this contract"
- "Search this PDF for every mention of governing law"
- "Export all the filled fields from these PDFs into a CSV"
- "Analyze this PDF for blank pages and sideways pages"
Core Tools
Viewer and Reading
display_pdffetch_pdf_from_urllist_pdfsread_pdf_contentread_pdf_pagesrender_pdf_pagerender_pdf_regionsearch_pdf_textget_pdf_resource_uri
Forms and Profiles
read_pdf_fieldsfill_pdfbulk_fill_from_csvsave_profileload_profilelist_profilesfill_with_profilevalidate_pdf
Signatures
detect_signature_zonesadd_signature_fieldprepare_signing_packetcreate_signaturelist_signaturesload_signatureapply_signatureapply_text
Organization and Page Management
merge_pdfssplit_pdfrotate_pdf_pagesreorder_pdf_pagesapply_page_plan
Extraction and Analysis
extract_to_csvget_pdf_infoget_page_analysis
Active Document and Host Helpers
get_active_documentset_active_documentget_pdf_resource_uriread_pdf_bytesreveal_in_finder
Build From Source
git clone https://github.com/Open-Document-Alliance/PDF-Tools
cd PDF-Tools
npm install
npm run build:ui
npm install -g @anthropic-ai/mcpb
mcpb pack
Development
<details> <summary>Development and maintainer details</summary>
Project Structure
PDF-Tools/
├── server/index.js # MCP server entry point
├── server/helpers.js # Shared helper functions
├── ui/ # Interactive viewer source (TypeScript)
├── dist-ui/ # Built viewer (single-file HTML)
├── test/ # Unit tests (Vitest)
├── manifest.json # Extension metadata
├── manifest.mcpb.json # MCPB packaging manifest
├── package-for-friend.js # Share-bundle packaging script
└── docs/ # Maintainer and release docs
Common Commands
npm install
npm run dev:ui
npm run smoke:ui-dev
npm run smoke:ui-sign
npm run smoke:ui-inspect
npm run smoke:ui-preview-zone
npm run smoke:ui-draw
npm run build:ui
npm test
node server/index.js
mcpb pack
node package-for-friend.js
Viewer Dev Mode
npm run dev:ui starts the Vite viewer with a mocked ext-apps host and a real local MCP subprocess behind /__dev__/tool.
- Default URL:
http://127.0.0.1:5173/?pdf_path=example-fw9.pdf - You can point at another file with
?pdf_path=/absolute/path/to/file.pdf - The dev bridge is serve-only;
npm run build:uistill produces the production single-file viewer for packaging npm run smoke:ui-devstarts the dev server on a throwaway port, verifies the HTML loads, and round-trips a realdisplay_pdftool call through/__dev__/toolnpm run smoke:ui-signboots the dev server, opens a real browser session withagent-browser, switches to sign mode, and verifies a sign-panel interaction opens a signing modalnpm run smoke:ui-inspectboots the dev server, opens a real browser session withagent-browser, switches to sign mode, arms inspect-region, drags a rectangle, and verifies the region preview modal opensnpm run smoke:ui-preview-zoneboots the dev server, opens a real browser session, drives inspect-region, creates a zone from the preview modal, and verifies the sign modal opens on that new custom zonenpm run smoke:ui-drawboots the dev server, opens the draw-signature modal in a real browser session, sketches a small stroke, fills the save fields, and verifies the modal closes after saving
Maintainer Docs
docs/MAINTAINERS.md— architecture and operationsdocs/RELEASE.md— release checklistdocs/SUPPORT.md— issue triage
</details>
Upstream Dependencies
- MCP spec: https://github.com/modelcontextprotocol
- MCPB CLI: https://github.com/modelcontextprotocol/mcpb
- MCP Apps: https://github.com/modelcontextprotocol/ext-apps
- SDK:
@modelcontextprotocol/sdk
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。