Skip to main content
The Blink PDF MCP server is a hosted Streamable HTTP endpoint at 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 server https://identity.blinkpdf.io, scopes pdf:render and optional offline_access. Discovery lives at https://mcp.blinkpdf.io/auth.md and 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:
Never commit the secret. Reference it through an environment variable in your client config, as shown below.

OAuth (remote connectors)

If your client supports remote MCP OAuth, register against https://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.
Paste this into .cursor/mcp.json in your project, or ~/.cursor/mcp.json for every workspace. That is the whole connection.
.cursor/mcp.json
Export API key
If Cursor does not expand ${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)
Open Customize (or Cursor Settings → MCP), enable blinkpdf, and confirm the tool list includes 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.
Render and fill can take several seconds. Set a generous tool timeout — timeout: 600000 (ms) in Claude Code, tool_timeout_sec = 600 in Codex. The client defaults (~60s) can fire before a large render or fill completes.
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.”
The fill loop is 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