fillwise-mcp
v0.1.1
Published
MCP server for FillWise: fill PDF forms with AI from any MCP client
Readme
FillWise MCP server
An MCP (Model Context Protocol) server that lets AI assistants such as Claude Desktop, Claude Code and Cursor fill PDF forms through the FillWise API (POST /api/v1/pdf/fill). Runs over stdio.
Tools:
fill_pdf: takes a PDF path on disk, source text and optional attachments, writes the filled PDF next to the original (<name>.filled.pdfby default).fill_pdf_base64: same, but takes the PDF as base64 and returns base64. For clients without filesystem access.
Both work with AcroForm PDFs (real form fields, mode: acroform) and digital flat PDFs (no fields, values are drawn at computed positions, mode: flat). Scanned PDFs without a text layer are rejected. Review the result before using it, especially in flat mode.
Limits (set by the API): PDF up to 20 MB, data up to 60000 characters, up to 4 attachments (jpeg, png, webp or pdf, up to 5 MB each), pages as a string like "1, 3-6".
Requirements
- Node.js 18 or newer.
- A FillWise API key. Create one at https://fillwise.ai/account, section "API keys". Fills made through the API spend the account's regular fill quota.
Install and run
From npm (published, https://www.npmjs.com/package/fillwise-mcp):
npx -y fillwise-mcpFrom this repository:
cd mcp && npm install
FILLWISE_API_KEY=fw_live_... node mcp/src/index.jsEnvironment variables:
FILLWISE_API_KEY(required)FILLWISE_API_URL(optional, defaulthttps://fillwise.ai)
Claude Desktop
Add to claude_desktop_config.json (Settings, Developer, Edit Config):
{
"mcpServers": {
"fillwise": {
"command": "npx",
"args": ["-y", "fillwise-mcp"],
"env": { "FILLWISE_API_KEY": "fw_live_..." }
}
}
}Running from a local checkout instead: "command": "node", "args": ["/absolute/path/to/fillwise_app/mcp/src/index.js"].
Claude Code
claude mcp add fillwise -e FILLWISE_API_KEY=fw_live_... -- npx -y fillwise-mcpCursor
Add to .cursor/mcp.json in the project (or ~/.cursor/mcp.json globally):
{
"mcpServers": {
"fillwise": {
"command": "npx",
"args": ["-y", "fillwise-mcp"],
"env": { "FILLWISE_API_KEY": "fw_live_..." }
}
}
}Example prompt
"Fill /Users/me/forms/w9.pdf with the data from /Users/me/forms/company-profile.txt" or paste the details directly: "Fill /Users/me/forms/w9.pdf: JLH Associates LLC, 123 Main St, Trenton NJ 08601, EIN 12-3456789".
Errors
The tools return plain messages for the API error codes: missing or invalid key (401), scanned PDF (422), spent quota or rate limit (429), AI provider failure (502, the fill is not charged).
