Justfill Pdf Forms
About
Fill any PDF form with AI agents — ML field detection on scans, visual review loop, reusable templates, and native AcroForm fill via justfill.app.
Details
- Author
- mrmaciej1
- Downloads
- 318
- Categories
- Productivity, Other, File Management, Automation, AI
Jump to
- Opens PDFs (including scanned images) and detects form fields
- Three resolution modes: saved template (deterministic), AcroForm (native), ML detection
- Confidence scores (0–1) for each ML-detected field, with raw score preserved
- Preview renders with color-coded field boxes and filled values before committing
- Field editing (add, update, remove) with batch operations and bulk pruning
- Saves reviewed layouts as templates for deterministic future fills
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Justfill Pdf FormsCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install the server with uv tool install ./mcp-server (or pip install ./mcp-server), then run justfill-mcp login to authorize once. Configure your MCP client with "command": "justfill-mcp". Alternatively, set the JUSTFILL_API_KEY environment variable or use JUSTFILL_EMAIL/JUSTFILL_PASSWORD as fallback. Tools include open_pdf, render_preview, fill_pdf, save_template, and field editing tools.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"justfill pdf forms": {
"justfill": {
"command": "uvx",
"args": [
"justfill-mcp"
]
}
}
}
}
McpServers
{
"justfill": {
"command": "uvx",
"args": [
"justfill-mcp"
]
}
}
Fill existing PDF forms from JSON, Excel, or CSV with reviewed field mappings via MCP.
Let AI agents (Claude, ChatGPT, n8n — any MCP client) detect, review and fill PDF form fields throughjustfill.app.
If the source data is already in a spreadsheet and you need one filled copy of the same existing PDF per row, an MCP client is optional. The guided browser workflow imports XLSX or CSV, maps columns to reviewed PDF fields, previews each record, and exports the approved PDFs in a ZIP.
Try the five-row PDF mail merge sample— no card or sales call.
The repository also includes the exact deterministic workflow JSON, synthetic test PDF, production evidence and a separate two-pass vision workflow for an unfamiliar form. Both call the hosted MCP endpoint with standard HTTP Request nodes and can be inspected before adding credentials.
Inspect the source workflows and evidence, or follow thestep-by-step n8n setup.
Install the same reviewed MCP tools plus the included PDF workflow guidance:
gemini extensions install https://github.com/mrmaciej1/justfill-mcp
The extension manifest lives at the repository root and uses the publishedjustfill-mcppackage. Gemini CLI asks for normal third-party extension consent before enabling it.
ML confidence iscalibrated: the detector's raw scores are not probabilities (its server-side filter accepts boxes from raw ~0.02 and auto-accepts at raw 0.15), so they are mapped onto 0–1 to mean what you'd expect — ≥0.75 "detector is sure", 0.4–0.75 "probably right, glance at the preview", <0.4 "borderline accept, verify". The raw detector score is kept on each field asraw_score.
The correction loop (render_preview→add/update/remove_field) exists precisely because ML detection has false positives and negatives. A false positive costs nothing (leave it unfilled or remove it); a false negative is visible on the preview and fixable with oneadd_fieldcall. Once reviewed,save_templatemakes every future fill of that form deterministic.
Authorize once (opens the browser, one click while logged in to justfill.app):
Then the config needs no credentials at all:
{ "mcpServers": { "justfill": { "command": "justfill-mcp" } } }
For a zero-install configuration, useuvxdirectly:
{ "mcpServers": { "justfill": { "command": "uvx", "args": ["justfill-mcp"] } } }
Alternatives, in the order the server checks them:
- JUSTFILL_API_KEYenv — create a key at justfill.app → Account → API Keys and put"env": {"JUSTFILL_API_KEY": "jf_live_…"}in the config.
- The key saved byjustfill-mcp login(~/.config/justfill/credentials.json).
- JUSTFILL_EMAIL+JUSTFILL_PASSWORD— legacy fallback; an API key is better (no password in config files, revocable per client, never expires mid-session).
- open_pdf(path, min_confidence=0.0, max_pages=10, force_detect=False)— template → AcroForm → ML resolution order. Accepts scanned images too (jpg/png/tiff → converted to PDF, deterministically, so templates still match).force_detect=Trueignores a saved template and re-runs ML.
- render_preview(page_index)— page image with labeled field boxes (blue = deterministic, green/orange/red = ML confidence)
- render_filled_preview(values, page_index)— the same page with your values drawn in place (checkboxes get an X). Costs no fills — check before you fill.
- list_fields(page_index?)
- add_field(x, y, w, h, name, page_index, field_type, align?, vertical_align?)— coords in % of page, top-left origin
- update_field(field_id, …)/remove_field(field_id)
- update_fields([{field_id, …}, …])/remove_fields([ids])— batch versions
- prune_fields(field_type?, confidence_below?, width_below?, height_below?, page_index?, exclude_ids?)— bulk-delete detection noise in one call (criteria AND-ed, removed ids returned)
- fill_pdf(values, output_path, flatten=True)—values={field_id: text}; responds withwarningsfor values that will be shrunk/truncated to fit
- save_template(name)— persist the reviewed layout for deterministic repeat fills
- list_templates()
Text alignment:align=left|center|right,vertical_align=top|middle|bottom— set per field (e.g.rightfor RTL forms,centerfor boxed digits). Persisted in templates.
open_pdf("~/forms/w-9.pdf") → acroform, 27 fields, confidence 1.0 fill_pdf({"f1": "Jane Doe", …}, "~/out/w-9-filled.pdf")
open_pdf("~/forms/scan.jpg") → converted to PDF; ml, 34 fields render_preview(0) → agent sees noise + one missed line prune_fields(field_type="cell", width_below=3) → 16 removed in one call add_field(x=18, y=62.5, w=40, h=3, name="Phone") render_filled_preview({…}) → values sit right, no overflow fill_pdf({…}, "~/out/filled.pdf") save_template("Client intake form") → next time: deterministic
- Auth is a regular justfill.app account; tokens auto-refresh on expiry.
- Usage and document-output rules are enforced by the same account service as the web app.fill_pdfreports whether the output is clean or watermarked.
- One PDF open at a time per server session (by design — keeps ids stable).
- This repository mirrors released versions of the MCP client (development happens in a private monorepo alongside the justfill.app backend). Bug reports and feature requests are very welcome in the issue tracker here.
A server for processing PDF files, allowing text and table extraction, metadata retrieval, and file listing within a specific directory.
Automated document processing and extraction
Universal document generation and conversion MCP. Generate PDF/DOCX/XLSX from templates+JSON (invoices, contracts, reports), batch generation, 100+ format conversions.
MCP-enabled invoicing platform for invoice creation, PDF export, and billing operations.
Validate DOIs against a real citation database, format references in 2900+ CSL styles (APA, IEEE, Chicago, Nature, etc.), and catch hallucinated academic references before they reach your paper or documentation or pitch deck. Manage citation collections, import/export BibTeX, and batch-process references. 29 tools.
MCP server for Paperless-ngx document management. 43 tools for AI-powered document organization - full CRUD on documents, tags, correspondents, document types, storage paths, and custom fields.
Generate documents, process PDFs, and manage e-signature workflows using the PDFGate API.
Read text, metadata, and page count from PDF files securely within the project context.
A server for manipulating PDF files, including merging, page extraction, and searching.
Set up and interact with your unstructured data processing workflows in Unstructured Platform
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




