A comprehensive PDF toolkit for Claude that enables document analysis, data extraction, form filling, and comparison. Works with both Claude Desktop (as an extension) and Cursor (as an MCP server).
Perfect for dedicated Claude Desktop users who want PDF filling built-in.
Perfect for developers who want PDF filling while coding in Cursor.
- π Analyze Documents - Extract and analyze full PDF content (300+ pages)
- π Extract Data - Pull tables, text, and structured data from any PDF
- π Compare Contracts - Identify changes between document versions
- βοΈ Fill Forms - Automate form completion (W-9, 1099, I-9, etc.)
- π List & Organize - Browse and manage PDF collections
- π Password Support - Handle encrypted and protected PDFs
- ποΈ OCR Support - Extract text from scanned documents
- π Bulk Fill from CSV - Fill multiple PDFs using data from spreadsheets
- π€ Profile System - Save and reuse common form data
- π€ Extract to CSV - Export data from filled PDFs to spreadsheets
- β Form Validation - Check for missing required fields
- π Easy Sharing - Share with friends via simple installer package
- Download the latest .mcpb file from Releases
- Double-click the
.mcpb
file to install in Claude Desktop
Or manually:
- Open Claude Desktop
- Go to Settings β Developer β Edit Config
- The
.mcpb
file will auto-configure itself when opened
NOTE: The extension is also available in the Claude Extensions directory. If installing from there doesn't work with your Claude Desktop version, use the .mcpb
file from our releases instead.
git clone https://github.com/silverstein/pdf-filler-simple
cd pdf-filler-simple
npm install
npm install -g @anthropic-ai/mcpb
mcpb pack
# Install the generated .mcpb file in Claude Desktop
- Download pdf-filler-mcp.zip from Releases
- Unzip the file anywhere
- Mac users: Double-click
install.command
- All users: Or run
./smart-install.sh
in Terminal - Restart Cursor - Look for "pdf-filler" with "11 tools enabled"
git clone https://github.com/silverstein/pdf-filler-simple
cd pdf-filler-simple
npm install
# Add to your ~/.cursor/mcp.json:
{
"mcpServers": {
"pdf-filler": {
"command": "node",
"args": ["/full/path/to/pdf-filler-simple/server/index.js"]
}
}
}
# Restart Cursor
Works the same way in both Claude Desktop and Cursor! Ask Claude to:
"List all PDFs in my Documents folder" "Show me PDF files in /Users/myname/Downloads"
"What form fields are in this PDF file?" "Read the form fields from application.pdf on my Desktop"
"Fill this W-9 PDF with my business information" "Fill the PDF at /path/to/form.pdf with John Doe as the name and save it to filled-form.pdf"
"Fill the template.pdf with data from employees.csv and save all PDFs to /Users/me/filled-forms/" "Use the 'employee_name' column for filenames"
"Save this as my 'work' profile: name John Doe, title Software Engineer, company Tech Corp" "Fill application.pdf using my work profile and save to filled-app.pdf"
"Extract all data from these PDFs to summary.csv"
"Validate if all required fields are filled in application.pdf"
"Read the content of this PDF: /path/to/document.pdf" "Convert this PDF to markdown format" "Extract all text from my estate planning PDF" "Summarize the main points in this contract PDF" "What does this PDF say about payment terms?" "Analyze this scanned invoice PDF" (automatically uses OCR)
Note: The read_pdf_content
tool automatically handles both text-based and scanned PDFs
# For Cursor users - creates easy installer
node package-for-friend.js
# Share the generated pdf-filler-mcp.zip
# For Claude Desktop users
dxt pack
# Share the generated .dxt file
Cursor Users:
- Double-click installer (Mac)
- Smart terminal installer (all platforms)
- Auto-detects paths - no manual configuration
- Safe installation - moves files to permanent location
Claude Desktop Users:
- Simple .dxt file install
- Built-in extension experience
This solution uses:
- MCP (Model Context Protocol) for both Claude Desktop and Cursor integration
- pdf-lib for PDF manipulation
- Node.js for the server runtime
pdf-filler-simple/
βββ server/index.js # MCP server (works for both!)
βββ package.json # Node.js dependencies
βββ manifest.json # Claude Desktop extension metadata
βββ pdf-toolkit.dxt # Claude Desktop extension package
βββ pdf-filler-mcp-share/ # Cursor shareable package
βββ pdf-filler-mcp.zip # Cursor ready-to-share installer
βββ README.md # This file
Same 11 tools work in both Claude Desktop and Cursor:
- list_pdfs - Lists all PDF files in a specified directory
- read_pdf_fields - Extracts form field information from a PDF (supports password parameter)
- fill_pdf - Fills a PDF form with provided data (supports password parameter)
- bulk_fill_from_csv - Fill multiple PDFs using CSV data (supports password parameter)
- save_profile - Save form data as a reusable profile
- load_profile - Load a saved profile
- list_profiles - List all saved profiles
- fill_with_profile - Fill a PDF using a saved profile (supports password parameter)
- extract_to_csv - Extract data from PDFs to CSV
- validate_pdf - Check for missing required fields (supports password parameter)
- read_pdf_content - Read and analyze full PDF content - extract text, summarize, convert formats, answer questions
For Claude Desktop:
- Claude Desktop (with developer mode enabled)
- Node.js 18+ (for building from source)
For Cursor:
- Cursor with MCP support
- Node.js 18+
Both support: macOS, Windows, Linux
"Fill this W-9 with my business info: Company Name LLC, 123 Main St, Tax ID 12-3456789"
"Use my 'personal' profile to fill this job application PDF"
"Fill 50 contract PDFs using the client data from contracts.csv"
"Read the fields from this encrypted PDF using password 'mypassword123'" "Fill this protected PDF with my data, the password is 'secure456'"
MIT
Pull requests welcome! This project supports both Claude Desktop extensions and Cursor MCP servers.
π Best of both worlds - use with Claude Desktop OR Cursor!
Perfect for W-9s, contracts, job applications, and any repetitive PDF form filling! πβ¨