pdfops-mcp
MCP serverDocs & knowledgeGive your AI a set of reliable PDF tools it can use on demand. Once added, your AI can inspect form fields, fill out forms, and merge PDFs, including invoice documents, with the same dependable result every time.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Then ask your AI: use the pdf inspect tool from pdfops-mcp
Details
Available today. Use it as a step in a pipeline you build, or from your connected AI.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
After adding it, point your AI at a PDF form or a group of documents and ask it to inspect, fill, or merge them.
What your AI can do with it
- Inspect the fields inside a PDF form
- Fill out PDF forms
- Merge multiple PDFs into one document
- Fill out invoice forms
- Combine invoice PDFs into a single file
Install pdfops-mcp
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user pdfops-mcp 'https://pdfops.dev/api/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://pdfops.dev/api/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=pdfops-mcp&config=eyJ1cmwiOiJodHRwczovL3BkZm9wcy5kZXYvYXBpL21jcCJ9Open the link and Cursor adds the server at that address.
ChatGPT
https://pdfops.dev/api/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add pdfops-mcp --url 'https://pdfops.dev/api/mcp'Run it once, then sign in with codex mcp login pdfops-mcp if the server asks for an account.
From the project's README
As published by pdfops/pdfops-mcp in README.md.
MCP server that gives AI agents deterministic PDF tools, backed by the PDFops API: inspect AcroForm fields, fill forms, merge PDFs, and generate invoices — no Chromium, no native deps, nothing to host.
Beside a local agent, tools operate on file paths, so PDF bytes never transit the model context: your agent says "fill /tmp/form.pdf and save to /tmp/out.pdf" and gets a one-line confirmation back. Every PDF input also accepts an https:// URL or a data:application/pdf;base64,… URI, and every output can be returned inline instead of written — which is what makes the server work on hosted runtimes (see below).
Install
Claude Code
claude mcp add pdfops -- npx -y pdfops-mcp
# with a key:
claude mcp add pdfops -e PDFOPS_API_KEY=pdfops_live_… -- npx -y pdfops-mcp
Claude Desktop (claude_desktop_config.json) / Cursor (.cursor/mcp.json)
{
"mcpServers": {
"pdfops": {
"command": "npx",
"args": ["-y", "pdfops-mcp"],
"env": { "PDFOPS_API_KEY": "pdfops_live_…" }
}
}
}
VS Code (.vscode/mcp.json, note the servers key and type)
{
"servers": {
"pdfops": {
"type": "stdio",
"command": "npx",
"args": ["-y", "pdfops-mcp"],
"env": { "PDFOPS_API_KEY": "pdfops_live_…" }
}
}
}
Any other stdio client (Windsurf, Cline, Zed, your own agent): command npx, args -y pdfops-mcp. Per-client walkthrough and a real tool-call transcript: pdfops.dev/mcp.
PDFOPS_API_KEY is optional — without it you get the keyless trial (100 requests/IP/month). A free key (250/month, no card) takes one field at pdfops.dev/pricing.
Tools
| Tool | What it does |
|---|---|
pdf_inspect | List a PDF's form fields (names, types, options, values) + a paste-ready fill template. Call first on unfamiliar PDFs. |
pdf_fill | Fill AcroForm fields → write the filled PDF. Optional flatten bakes values in and drops the form. |
pdf_merge | Merge ≥2 PDFs in order → write the result. |
pdf_invoice | Structured data → complete invoice PDF. Deterministic: same input, byte-identical output. |
pdfops_usage | Quota check for the configured key. |
Hosted endpoint (no install)
PDFops also runs this server for you at https://pdfops.dev/api/mcp (Streamable HTTP). It needs an API key, which is free at https://pdfops.dev/pricing#free-key:
claude mcp add --transport http pdfops https://pdfops.dev/api/mcp --header "Authorization: Bearer $PDFOPS_API_KEY"
Sources must be https:// URLs or data: URIs, and results come back inline. Setup for Cursor and VS Code: https://pdfops.dev/mcp#remote.
Running remotely (Smithery, Glama hosted, cloud IDE gateways)
A hosted MCP runtime executes this server on a machine where your agent's file paths do not exist. Nothing changes in the config — pass sources the server can reach and skip output_path:
- Inputs (
pdf_path,pdf_paths): anhttps://URL the server can fetch (≤4 MB per PDF, ≤4.5 MB per request — the API's limits), or adata:application/pdf;base64,…URI for small files. - Outputs: omit
output_pathandpdf_fill/pdf_merge/pdf_invoicereturn the PDF inline as an embeddedapplication/pdfresource (pdfops://filled.pdf, …) that the client saves. Withoutput_pathset, the file is written where the server runs.
Locally, absolute paths keep working exactly as before and remain the recommended form — bytes stay off the model context.
Example prompts
- "What fields does ~/forms/fw9.pdf have?" →
pdf_inspect - "Fill ~/forms/fw9.pdf for Ada Lovelace, 12 Analytical Way, London; save it flattened as ~/out/w9-ada.pdf" →
pdf_inspect, thenpdf_fillwithflatten: true - "Fill the onboarding form once per row of contractors.csv into ~/out/" → one
pdf_inspect, thenpdf_fillper row - "Merge ~/out/w9-ada.pdf, ~/docs/nda.pdf and ~/docs/cover.pdf into one packet, cover first" →
pdf_merge - "Invoice Globex for 3 days of consulting at $650, 8.5% tax, due in 30 days" →
pdf_invoice - "How many PDFops requests do I have left this month?" →
pdfops_usage
Example agent flow
"Fill the W-9 template at ~/docs/w9.pdf for Ada Lovelace and merge it with ~/docs/cover.pdf"
pdf_inspect→ discovers field names + fill templatepdf_fill→ writes the filled W-9pdf_merge→ writes the combined packet
Links
API docs: pdfops.dev/docs · OpenAPI: pdfops.dev/openapi.json · Typed client: pdfops-sdk · Questions: hello@pdfops.dev
Privacy Policy
This server runs on your machine and sends only what a tool call needs to the PDFops API (https://pdfops.dev): the PDF bytes you point it at, the field values you supply, and your API key if you set one. PDFops processes the request in memory and returns the result; it does not store your documents. API requests are logged with usage metadata to run quotas and the service. The full policy is at https://pdfops.dev/privacy. Questions: hello@pdfops.dev.
MIT © PDFops
Tools it offers (5)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
pdf_inspectpdf_fillpdf_mergepdf_invoicepdfops_usage
Signals
- Last commit
- Sep 2026
- Weekly downloads
- 509
- Weekly_downloads
- 509 weekly_downloads
Advanced
- Delivery
- pdfops-mcp MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
dev-pdfops-pdfops-mcp- Source
- github.com/pdfops/pdfops-mcp
- Hosted endpoint
https://pdfops.dev/api/mcp
More in Docs & knowledge
MCP server · mnemoverse
More in Docs & knowledgeagent-native-slides
MCP server · builderio
More in Docs & knowledgedatasinking
MCP server · heubme2020
More in Docs & knowledgeTransloadit Media Processing
MCP server · transloadit
More in Docs & knowledgeknowl
MCP server · dat999zx
More in Docs & knowledgeemailmd
MCP server · anypost
More in Docs & knowledge