https://mcp.blinkpdf.io/mcp. There’s nothing to install — authenticate, point your client at the endpoint, and your agent can render Markdown or fill a form. One paste of the snippet below uses the same bp_ key as REST POST /v1/render. The tool list includes inspect_form and fill_form next to render_pdf. Do not mint a fill key. Do not request pdf:fill.
Choose one auth path:
- OAuth 2.1 + PKCE — preferred for remote connectors that support MCP OAuth. Resource
https://mcp.blinkpdf.io/mcp, authorization serverhttps://identity.blinkpdf.io, scopespdf:renderand optionaloffline_access. Discovery lives athttps://mcp.blinkpdf.io/auth.mdand the/.well-known/*URLs listed in the MCP overview. - API key — same
bp_*keys as the REST API, for IDEs and clients that only support static headers. MCP forwards the key to REST, which remains the authority for limits and billing.
1
Get credentials
API key (IDEs and CLIs)
Create a key in the API Keys section of your dashboard if you don’t have one yet.Present the key with either header —Authorization is preferred:OAuth (remote connectors)
If your client supports remote MCP OAuth, register againsthttps://identity.blinkpdf.io (dynamic client registration where available), open the consent screen, and present the access token as Authorization: Bearer <token>. Request offline_access only when you need refresh tokens. Full agent-oriented steps: auth.md.2
Configure your client
Pick your agent. The examples below use an API key header path (the common IDE setup). Each snippet is one paste: same endpoint, same
bp_ key, and after you connect the tool list includes inspect_form and fill_form next to render_pdf. No extra OAuth step beyond what render already uses.- Cursor
- Claude Code
- Codex
- Other clients
Paste this into If Cursor does not expand Open Customize (or Cursor Settings → MCP), enable blinkpdf, and confirm the tool list includes
.cursor/mcp.json in your project, or ~/.cursor/mcp.json for every workspace. That is the whole connection..cursor/mcp.json
Export API key
${env:BLINKPDF_API_KEY} in remote headers, paste the Bearer value instead — still one server, still the same bp_ key:.cursor/mcp.json (inline Authorization)
inspect_form and fill_form next to render_pdf. Same bp_ key as render_pdf. Do not add a second server, a fill key, or a pdf:fill scope.3
Render or fill
Once connected, confirm the tool list includes
render_pdf, inspect_form, and fill_form. Then ask in plain language:- “Render this README as a PDF and give me the download link.”
- “Inspect this form, fill givenName with Ada and agree with true, and give me the download link.”
- “Turn the Markdown report below into a styled PDF.”
inspect_form → validate_fill → fill_form — see MCP fill. The agent can also keep a file (persist: true on render_pdf or fill_form, or persist_pdf afterward), list or delete stored PDFs (list_pdfs, delete_pdf), list themes (list_themes), stage local images for blink://asset/<id> references (upload_image), and dry-run a request (validate_render_pdf) before rendering. See the MCP server overview for the full tool set.Agents that load skills from /.well-known/agent-skills/ can read render-pdf and fill-form. Those artifacts name the tools; they still use this same server paste and the same bp_ key.Troubleshooting
For what a successful call returns and how download links expire, see the MCP server overview.
References
- Blink PDF auth.md
- Cursor — MCP
- Claude Code — MCP
- Codex — MCP
- MCP transports
- fill-form skill (
inspect_form→fill_form) - render-pdf skill