formfill-mcp
Fill any interactive PDF form from your AI agent β tax forms, HR paperwork, legal documents β in a single tool call. Supports W-9, W-4, I-9, lease agreements, insurance forms, and more.
Ask AI about formfill-mcp
Powered by Claude Β· Grounded in docs
I know everything about formfill-mcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
FormFill MCP
Fill any PDF form from your AI agent β in a single tool call.
Tax forms Β· HR paperwork Β· Legal documents Β· Lease agreements Β· Insurance claims
If it has fillable fields, FormFill can fill it.
Get API Key Β· View on Smithery Β· Built by Plenitudo AI
How It Works
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β 1. Inspect β β 2. Fill β β 3. Done β
β β β β β β β β
β list_form_ β β fill_form β β Filled PDF β
β fields β β β β saved to disk β
β β β β β β
β Returns every β β Writes values, β β Open in β
β field name, β β saves output β β Preview or β
β type & value β β file β β send anywhere β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
Most AI workflows collapse at the last mile: the agent understands the form but can't write to it. FormFill closes that gap with three focused tools.
Tools
| Tool | Description | When to use |
|---|---|---|
list_form_fields | Returns every fillable field β name, type, and current value | First step: discover what's in the form |
fill_form | Fill a PDF with provided field values and save the result | Standard forms (1β5 pages) |
fill_form_multipage | Same as fill_form, page-by-page for large documents | Complex multi-page forms (6+ pages) |
Works With
Any MCP-compatible host:
- Claude Desktop β add to
claude_desktop_config.json - Cursor β MCP server config
- Cline β same config pattern
- Continue β same config pattern
- Any agent that supports the Model Context Protocol
Supported Form Types
| Category | Examples |
|---|---|
| Tax | W-9, W-4, 1040, Schedule C, state forms |
| HR | I-9, onboarding packets, benefits enrollment, PTO |
| Legal | NDAs, lease agreements, contracts, disclosures |
| Insurance | Claims forms, enrollment applications |
| Real Estate | Purchase agreements, rental applications, disclosures |
| Education | Admissions, financial aid, transcripts |
Pricing
| Tier | Price | Monthly Fills |
|---|---|---|
| Free | $0 | 50 fills |
| Pro | $9.99 / month | Unlimited |
Get your API key at formfill.plenitudo.ai
Quick Start
1. Get an API key
Sign up at formfill.plenitudo.ai β free tier available immediately.
2. Connect to Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"formfill": {
"command": "/Users/YOUR_USERNAME/Projects/formfill-mcp/venv/bin/python",
"args": ["/Users/YOUR_USERNAME/Projects/formfill-mcp/server.py"]
}
}
}
Restart Claude Desktop. You'll see the π¨ tools icon β FormFill is connected.
3. Fill your first form
List the fillable fields in /Users/me/Desktop/w9.pdf using API key ff_free_abc123
Fill the form at /Users/me/Desktop/w9.pdf with:
name: Jane Smith
TIN: 12-3456789
address: 123 Main St, Austin TX 78701
Save to /Users/me/Desktop/w9_filled.pdf
API key: ff_free_abc123
Example Prompts
W-9 (tax):
Fill the W-9 at ~/Desktop/fw9.pdf with my name "John Smith", SSN "123-45-6789",
address "456 Oak Ave, Boston MA 02101". Business type: Individual/sole proprietor.
Save to ~/Desktop/fw9_filled.pdf. API key: ff_free_abc123
Rental application:
Fill the rental application at ~/Desktop/rental_app.pdf with these values:
[paste field values]. Save to ~/Desktop/rental_filled.pdf. API key: ff_free_abc123
Multi-page contract:
Fill the 8-page NDA at ~/Desktop/nda.pdf. My name: Jane Smith, Company: Acme Corp,
Date: March 28 2026. Use fill_form_multipage. API key: ff_free_abc123
Response Format
Success:
{
"ok": true,
"output_path": "/Users/me/forms/w9_filled.pdf",
"fields_filled": 12,
"invalid_fields": []
}
Error:
{"ok": false, "error": "Invalid API key"}
{"ok": false, "error": "Usage limit reached. Upgrade at https://formfill.plenitudo.ai"}
{"ok": false, "error": "File not found: /Users/me/missing.pdf"}
Self-Hosting
git clone https://github.com/knportal/formfill-mcp.git
cd formfill-mcp
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python manage_keys.py create --tier free
python server.py
# β MCP server running on http://localhost:8000
For remote agent access, deploy the included Cloudflare Worker (worker.js).
Architecture
server.py β MCP server (3 tools)
auth.py β API key validation + usage tracking (SQLite)
stripe_webhook.py β Stripe subscription webhook handler
worker.js β Cloudflare Worker (remote proxy)
manage_keys.py β Key management CLI
data/keys.db β API key store
data/usage.db β Monthly usage counters
Contributing & Security
- CONTRIBUTING.md β dev setup and PR guidelines
- SECURITY.md β responsible disclosure policy
License
MIT β Copyright Β© 2025 Plenitudo AI
