Documentation

Connect other clients

Claude Code, ChatGPT, and any other MCP client can render PDFs through Inkrun. Which endpoint you use depends on how the client authenticates.

Pick your endpoint

Your client…EndpointAuth
supports OAuth connectors (claude.ai, Claude Desktop, ChatGPT)https://inkrun.dev/api/mcpOAuth — sign in once, no key
can send custom headers (Claude Code, Cursor, VS Code, scripts)https://mcp.inkrun.dev/mcpAPI key — Authorization: Bearer sk_...

For the API-key endpoint, create a key in the dashboard under API & MCP (https://inkrun.dev/api-mcp) — it looks like sk_... and is shown once. Both endpoints expose the same five tools as the Claude connectors.

Claude Code

Register Inkrun as a remote HTTP server, passing your API key as a header:

bash
claude mcp add --transport http inkrun https://mcp.inkrun.dev/mcp --header "Authorization: Bearer sk_..."
  • By default the server is registered for the current project. Add --scope user to make it available everywhere.
  • Check the connection with the /mcp command inside Claude Code — inkrun should show as connected.
  • Then just ask: "Render the README as a PDF with the technical-manual template."

ChatGPT

ChatGPT connectors can't send a static API-key header, so ChatGPT uses the OAuth endpoint — the same one as claude.ai and Claude Desktop: https://inkrun.dev/api/mcp.
AvailabilityCustom connectors (ChatGPT calls them apps) require a paid ChatGPT plan and developer mode. Tool-calling connectors like Inkrun run in regular chats only with developer mode enabled.

1. Enable developer mode

In ChatGPT, go to Settings → Apps & Connectors → Advanced settings and turn on Developer mode.

2. Add Inkrun

Under Settings → Apps & Connectors, choose Create and fill in:

FieldValue
NameInkrun
MCP server URLhttps://inkrun.dev/api/mcp
AuthenticationOAuth

3. Sign in to authorize

ChatGPT opens Inkrun's login. Sign in once — ChatGPT receives its own OAuth token; there's nothing to copy back.

4. Render from a chat

Enable the Inkrun app in a conversation and ask for a PDF. The render shows up in your History (https://inkrun.dev/history), counts against your quota, and ChatGPT replies with a download link.

Any other MCP client

Clients that support remote streamable HTTP servers with custom headers (Cursor, VS Code, and most agent frameworks) connect to the API-key endpoint. The config shape varies by client, but it always comes down to the URL plus the header:

json
{
  "mcpServers": {
    "inkrun": {
      "url": "https://mcp.inkrun.dev/mcp",
      "headers": { "Authorization": "Bearer sk_..." }
    }
  }
}

(Field names differ — e.g. VS Code uses servers with "type": "http" — but URL + header is all Inkrun needs.) If your client supports OAuth connectors instead, point it at https://inkrun.dev/api/mcp and sign in.

What the client can do

The same five tools as the Claude connectors:

ToolWhat it does
create_pdfRender Markdown → themed PDF, store it, return a download URL. Accepts template, theme, format, title — plus sendEmailTo + senderName (and optional emailMessage) to email the PDF to someone as a branded download link valid for 3 days (paid plans — on the free tier the PDF still renders, but the email is skipped with a notice).
list_templatesList your saved templates plus the built-ins.
create_templateCreate a reusable style option (theme + accent + fonts + format).
get_stylesReturn a theme's CSS + page config.
get_chart_syntaxExplain the chart fenced-block syntax for embedding charts.

See Templates → Charts for embedding charts in a render.

Troubleshooting

  • 401 from mcp.inkrun.dev. The Authorization: Bearer sk_... header is missing or the key was revoked. Create a fresh key in the dashboard under API & MCP and update your client config.
  • ChatGPT won't add the app / authorization fails. Check the URL is exactly https://inkrun.dev/api/mcp, that Authentication is set to OAuth, and that developer mode is on. Then remove and re-add the app and sign in again.
  • Tools don't appear in Claude Code. Run /mcp to see the connection status; re-add with the exact command above if it shows an error.
  • 429 / quota exceeded. You've hit your monthly render quota — see quotas.
Inkrun © 2026