> ## Documentation Index
> Fetch the complete documentation index at: https://00doc-web.vercel.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect MCP

> Three ways to connect an AI client to Unfurl — one-command install, custom connector, or API key.

# Connect MCP

Pick the path that matches your client. All three talk to the same hosted server:

```
https://mcp.unfurl.pub/mcp
```

The interactive setup page is [unfurl.pub/connect](https://unfurl.pub/connect).

## Choose a path

<Tabs>
  <Tab title="One-command install">
    Best for coding agents (Claude Code, Cursor, Codex). Installs the MCP server and the Unfurl agent skill.

    ```bash theme={null}
    npx unfurl-install
    ```

    Target a specific client:

    ```bash theme={null}
    npx unfurl-install --client=claude
    npx unfurl-install --client=cursor
    npx unfurl-install --client=codex
    ```

    Restart the client (or open a new session). On first publish, sign in at Unfurl and click **Allow**.
  </Tab>

  <Tab title="Custom connector">
    Best when you want to paste the MCP URL in the app — Claude Desktop, Claude.ai, ChatGPT, Cursor, Codex Desktop, and other MCP clients. No terminal required.

    1. Copy `https://mcp.unfurl.pub/mcp`.
    2. In your app, open connector / MCP settings and add a **custom** or **remote** MCP server.
    3. Paste the URL and save.
    4. On first use, sign in at Unfurl and click **Allow**.

    Example config (Cursor, Claude Desktop, and similar JSON-based clients):

    ```json theme={null}
    {
      "mcpServers": {
        "unfurl": {
          "url": "https://mcp.unfurl.pub/mcp"
        }
      }
    }
    ```

    OAuth creates a managed **MCP connector** key for your workspace. You do not paste a key on the Unfurl authorize page.
  </Tab>

  <Tab title="API key">
    Use a dashboard API key for the [REST API](/docs/api-reference/rest-api), scripts, and MCP clients that let you attach HTTP headers to a remote server.

    1. Sign in and open **[Dashboard → API keys](https://unfurl.pub/dashboard/api-keys)**.
    2. Create a key and copy the full `oodoc_…` secret — it is shown **only once**.
    3. Send it as `X-Api-Key: oodoc_…` or `Authorization: Bearer oodoc_…` on REST requests.

    If your MCP client supports custom headers on a remote URL, you can attach the same key instead of (or alongside) OAuth:

    ```json theme={null}
    {
      "mcpServers": {
        "unfurl": {
          "url": "https://mcp.unfurl.pub/mcp",
          "headers": {
            "Authorization": "Bearer oodoc_YOUR_KEY"
          }
        }
      }
    }
    ```

    Free workspaces include **1** API key. Pro includes unlimited keys. OAuth connector keys appear in the dashboard with an **MCP connector** badge and count toward the key limit.
  </Tab>
</Tabs>

## Per-client guides

<CardGroup cols={2}>
  <Card title="Claude" icon="robot" href="/docs/guides/setup-mcp-claude" />

  <Card title="Cursor" icon="code" href="/docs/guides/setup-mcp-cursor" />

  <Card title="Codex" icon="terminal" href="/docs/guides/setup-mcp-codex" />

  <Card title="ChatGPT" icon="comments" href="/docs/guides/setup-mcp-chatgpt" />
</CardGroup>

## After you connect

Ask your assistant to publish a one-line HTML page. You should get back `document_id` and `share_url`. For small later edits, prefer [`edit_document`](/docs/api-reference/edit-document) over republishing the whole file.

<Card title="MCP overview" icon="plug" href="/docs/core-concepts/mcp-overview" />


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.