> ## 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.

# MCP overview

> Connect Claude or Cursor to Unfurl so agents publish and read documents without leaving the chat.

# MCP overview

**Model Context Protocol (MCP)** is a standard way for AI apps to call **tools** — real actions on real systems — while you stay in the conversation.

For Unfurl, that means Claude or Cursor can **publish HTML** and **fetch document metadata or content** without copy-paste or manual uploads.

## Why it matters

LLM workflows already produce HTML. MCP closes the gap between "the model wrote it" and "it lives at a shareable URL." You describe what you want; the tool runs on our side; you get back `document_id`, `version_id`, and `share_url`.

## Create an API key first

MCP authorization uses **OAuth**, but you prove access by pasting a **dashboard API key** on Unfurl’s authorize page. Create the key **before** you add the MCP server in Claude or Cursor:

1. Sign in at [unfurl.pub](https://unfurl.pub).
2. Open **[Dashboard → API keys](https://unfurl.pub/dashboard/api-keys)**.
3. Enter a **label** (for example `MCP` or `Claude`) and create a new key.
4. **Copy the full secret** right away — it starts with `oodoc_` and is shown **only once**. If you lose it, revoke the key and create another.

Keep the secret ready; you will paste it when the browser opens the Unfurl **Connect** page during setup.

## Unfurl MCP endpoint

MCP runs on a dedicated host so it does not share routes with the marketing site or dashboard:

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

Use this URL when you add Unfurl as an MCP server in Claude or Cursor (see the [Claude quickstart](/getting-started/quickstart-claude) and [Cursor quickstart](/getting-started/quickstart-cursor)).

When you connect, complete **OAuth** in the browser. On the Unfurl authorize page, paste the **API key** you created above so your assistant can call the tools on your behalf.

## Available tools

| Tool               | Purpose                                                              |
| ------------------ | -------------------------------------------------------------------- |
| `publish_document` | Create a new document or push a new version to an existing one       |
| `get_document`     | Load metadata and optional HTML for a document you already published |
| `update_document`  | Change title or description without publishing new HTML              |
| `delete_document`  | Permanently delete a document and its share links                    |

Full parameter lists and examples live in the [API reference](/api-reference). The same operations are available over [REST](/api-reference/rest-api) if you need HTTP.

<CardGroup cols={2}>
  <Card title="publish_document" icon="upload" href="/api-reference/publish-document" />

  <Card title="get_document" icon="download" href="/api-reference/get-document" />

  <Card title="update_document" icon="pen" href="/api-reference/update-document" />

  <Card title="delete_document" icon="trash" href="/api-reference/delete-document" />
</CardGroup>
