pdf-filler-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pdf-filler-mcpFill out /tmp/application.pdf with my personal data"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
pdf-filler-mcp
An MCP server that lets Claude fill any PDF form — scanned or AcroForm — through a browser-based drag-and-drop editor.
Editor — drag, reposition and edit fields directly on the rendered PDF page:

Result — the generated PDF with all fields overlaid:

How it works
Claude renders the PDF to images and inspects the layout
Claude places markers on each field and iterates until placement is correct
Claude opens the editor — a self-contained HTML page where you drag fields, edit values and click Fertig
PDF is generated automatically — the editor POSTs to a local receiver which runs headless Playwright to produce the final PDF
The entire stack runs locally. No data leaves your machine.
Related MCP server: formfill-mcp
Tools exposed
Tool | Description |
| Render all pages to PNG at a given DPI, returns scale factor |
| Overlay numbered coloured marker dots on a page for iterative placement verification |
| Generate a multi-page drag-and-drop HTML editor pre-filled with field values |
| Directly overlay text on a PDF without opening the browser editor |
| Merge per-page PDFs into a single file |
| Retrieve saved field layout for a known form type |
| Save verified field layout so the same form can be filled again instantly |
| Start the local HTTP receiver that auto-generates the PDF on Fertig |
| Block until the user clicks Fertig and the PDF is ready |
Prerequisites
Python 3.9+
pymupdf (
pip install pymupdf)pypdf (
pip install pypdf) — for mergingNode.js + Playwright — for the auto-PDF-generation step (
npm i -g playwright)
Installation
1. Clone
git clone https://github.com/patroqueeet/pdf-filler-mcp.git ~/.claude/pdf-filler2. Register with Claude Code
Add to ~/.mcp.json:
{
"mcpServers": {
"pdf-filler": {
"command": "python3",
"args": ["~/.claude/pdf-filler/filler.py", "serve"]
}
}
}Restart Claude Code — the pdf_* tools will be available in any session.
Typical workflow
User: Fill out /tmp/application.pdf with my personal data
Claude:
1. pdf_render → get page images + scale_factor
2. pdf_preview → place marker dots, read result image, adjust
3. pdf_memory_get → check if layout is already saved
4. pdf_receiver_start → start PDF receiver on port 7789
5. pdf_editor_multi → open editor in browser
6. pdf_receiver_wait → wait for user to click Fertig
→ returns: { done: true, output_path: "/tmp/application_filled.pdf" }Editor features
Click to create a field anywhere on the document image
Drag the ⣿ handle to reposition
Tab between fields; inline editing
Checkbox type available via the ➕ button
Multi-page navigation with per-page field state
Print CSS hides all editor chrome — only text overlays are printed
Running the tests
pip install pymupdf pypdf pytest pytest-timeout
pytest tests/ -vLicense
MIT — see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/patroqueeet/pdf-filler-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server