autoform-mcp-server
v1.7.4
Published
MCP server for bulk PDF form filling. Detect fields, fill templates, and generate hundreds of PDFs from data — directly from Claude.
Maintainers
Readme
AutoForm MCP Server
MCP server for bulk PDF form filling. Detect fields, fill templates, and generate hundreds of PDFs from data — directly from Claude.
Quick Setup
Claude Code
Create .mcp.json in your project root:
{
"mcpServers": {
"autoform": {
"command": "npx",
"args": ["-y", "autoform-mcp-server"]
}
}
}Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"autoform": {
"command": "npx",
"args": ["-y", "autoform-mcp-server"]
}
}
}Config file location:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Tools (11)
PDF Analysis
| Tool | Description |
|------|-------------|
| autoform_get_pdf_info | Get page count and dimensions of a PDF |
| autoform_detect_fields | Detect AcroForm fields in interactive PDFs |
| autoform_analyze_static_pdf | Classify PDF type and suggest field positions for static PDFs |
Fill Single PDF
| Tool | Description |
|------|-------------|
| autoform_fill_pdf | Fill a PDF using AcroForm or a saved template |
| autoform_fill_at_coordinates | Write text at exact coordinates (for static PDFs Claude analyzes visually) |
Batch Generation
| Tool | Description |
|------|-------------|
| autoform_fill_batch_acroform | Generate multiple PDFs from an AcroForm PDF + data array |
| autoform_fill_batch_at_coordinates | Generate multiple PDFs from one template + data, using coordinates |
| autoform_generate_batch | Generate multiple PDFs using a saved template + data array |
Template Management
| Tool | Description |
|------|-------------|
| autoform_save_coordinates_as_template | Save PDF + field coordinates as a reusable template |
| autoform_import_template | Import a template JSON exported from the AutoForm web app |
| autoform_list_templates | List all saved templates |
Experimental Parameters (v1.7.0+)
All tools accept optional _session_id and _mode parameters for experimental instrumentation:
_session_id: Groups related tool calls inmetrics.jsonl(format:<pdf_id>_<mode>_<rep>)_mode: Labels the autonomy mode (1_manual_web,2_hybrid,3a_acroform,3b_vision)
Metrics (v1.7.0+)
Every tool call is logged to ~/.autoform-mcp/metrics.jsonl with:
- Timestamp, tool name, duration, success/error
- Per-field details: coordinates (PDF points), text written, field IDs
- Session and mode labels for experimental analysis
Usage Examples
Fill a certificate (Claude analyzes the PDF visually)
You: "Fill this certificate with the name Juan Pérez"
Claude:
1. Gets PDF dimensions with autoform_get_pdf_info
2. Analyzes the PDF visually to find where the name goes
3. Calls autoform_fill_at_coordinates with the exact position
→ Generates filled certificateBatch generate from data
You: "Generate certificates for: Ana García, Pedro López, María Torres"
Claude:
1. Calls autoform_fill_batch_at_coordinates with positions + data
→ Generates 3 PDFs + optional merged PDFSave and reuse a template
You: "Save this certificate layout for future use"
Claude:
1. Calls autoform_save_coordinates_as_template
→ Template saved
You: "Generate 50 certificates using the saved template with this data..."
Claude:
1. Calls autoform_generate_batch with template name + data
→ Generates 50 PDFsFill interactive PDF forms (AcroForm)
You: "Detect and fill the fields in this form"
Claude:
1. Calls autoform_detect_fields → finds form fields
2. Calls autoform_fill_pdf with field values
→ Generates filled formDistribution Modes
When a template has repeated fields (e.g., 3 fields named "nombre"):
sequential(default): Each field consumes a different data row. 9 rows + 3 fields = 3 documents.repeat: One row fills ALL fields with the same name. 9 rows = 9 documents.
Storage
All data is stored in ~/.autoform-mcp/ on the user's machine:
~/.autoform-mcp/
├── templates/ ← Saved templates (JSON + PDF files)
└── output/ ← Generated PDFs- Windows:
C:\Users\<name>\.autoform-mcp\ - macOS/Linux:
~/.autoform-mcp/
You can override the output path in any tool using the output_path or output_dir parameter.
How It Works
- Uses
pdf-libfor PDF manipulation (no external services) - All processing happens locally — no data leaves your machine
- Zero vulnerabilities — only 3 dependencies
License
MIT
