> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spoolpdf.nandra.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP (ChatGPT, Claude, Cursor)

> Render PDFs from chat without pasting an API key.

Production MCP URL: `https://mcp.spoolpdf.nandra.dev/mcp`

<Steps>
  <Step title="Open MCP in the dashboard">
    Sign in at [spoolpdf.nandra.dev](https://spoolpdf.nandra.dev) and open [MCP](https://spoolpdf.nandra.dev/mcp).
  </Step>

  <Step title="Connect the client">
    Paste the URL as a custom connector (ChatGPT / Claude) or remote MCP server (Cursor). Complete SpoolPDF login and consent. Renders bill to that account.
  </Step>
</Steps>

No `spool_live_…` key goes in the chat client. Disconnect from `/mcp` to block further MCP renders (dashboard logout does not disconnect).

## Tool

`render_pdf` accepts the same optional fields as `POST /v1/render`: header/footer, margins, waits, cookies, sandbox, pages, inject, auth, metadata, and the rest.

Example prompt:

```
Render https://example.com/ to PDF.
Header: Acme Co
Footer: Page {{page}} / {{total}}
```

Success is JSON: `download_url`, `expires_at`, `request_id`, and `usage_count` (omitted for sandbox).

## Usage and expiry

* Each successful MCP render increments the same monthly usage as `POST /v1/render`, unless `sandbox` is true.
* Opening the download link does not count.
* `download_url` is valid for 72 hours, then GET returns `410` (`download_expired`). That does not refund usage.

Public http(s) URLs only. Private hosts return `ssrf_blocked`. Prefer HTML when you control the markup.
