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

# MCP Server

> Connect AI agents to Pulse via the Model Context Protocol.

> Bring Pulse to your AI agents: extract, split, schema, and tables as tools they can call.

The **Pulse MCP server** lets AI agents in Claude, Codex, VS Code, and other MCP clients
work with documents (parsing them, applying schemas, splitting by topic, and pulling
tables) by calling tools, the same way they call any other MCP tool.

Run it either way; the tools are the same:

* **Hosted**: point your client at `https://mcp.runpulse.com/mcp` (Streamable HTTP).
  Nothing to install.
* **Local**: run `uvx pulse-mcp` on your machine (stdio). Agents can then also extract
  **local files** straight from disk.

<CardGroup cols={3}>
  <Card title="Agent quickstart" icon="rocket" href="/mcp/agent-quickstart">
    Connect an agent and run the first document workflow.
  </Card>

  <Card title="Connect a client" icon="plug" href="/mcp/connecting">
    Connect Codex, Claude Desktop, Claude Code, or VS Code, hosted or local.
  </Card>

  <Card title="Tools & workflows" icon="wrench" href="/mcp/tools">
    The full tool reference and end-to-end agent examples.
  </Card>
</CardGroup>

***

## What is MCP?

The **Model Context Protocol (MCP)** is an open standard that lets AI agents discover and
call external tools. Instead of you wiring HTTP calls into your application, the agent
reads each tool's plain-English description, decides which tool to call, fills in the
arguments, and chains the results together on its own.

That makes Pulse available wherever your agent already lives: ask Claude to "extract the
totals from this invoice," and it will call Pulse's `extract` and `apply_schema` tools and
hand you back structured JSON, without you writing any extraction code.

***

## When to use the MCP server

<CardGroup cols={2}>
  <Card title="Use the MCP server" icon="robot">
    You're working inside an **agent or chat client** (Claude, Codex, an MCP-enabled
    app) and want it to read and structure documents on demand, deciding the steps itself.
  </Card>

  <Card title="Use the SDK / API" icon="code" href="/quickstart">
    You're building a **deterministic pipeline** or batch job in your own code. The
    [Python / TypeScript SDKs](/quickstart) and [REST API](/api-reference/introduction)
    give you precise, repeatable control.
  </Card>
</CardGroup>

***

## Tools

The server exposes eight tools. Most agent work starts with `extract` and then chains the
returned `extraction_id` into the others.

| Tool              | What it does                                                                                               |
| ----------------- | ---------------------------------------------------------------------------------------------------------- |
| `extract`         | Parse a document at a URL (or, locally, a file path) into markdown (and optionally HTML, figures, chunks). |
| `apply_schema`    | Apply a JSON schema to a prior extraction to get structured JSON.                                          |
| `generate_schema` | AI-generate or refine a JSON extraction schema from a prompt.                                              |
| `split_document`  | Split a prior extraction into topic-based page ranges.                                                     |
| `extract_tables`  | Pull tables out of a prior extraction (HTML or markdown).                                                  |
| `batch_extract`   | Extract many documents in one asynchronous batch.                                                          |
| `run_pipeline`    | Run a saved multi-step Pulse pipeline on a document.                                                       |
| `get_job`         | Poll any asynchronous job by `job_id` for its status and result.                                           |

See [Tools & workflows](/mcp/tools) for full parameters, return shapes, and examples.

***

## Next steps

<CardGroup cols={2}>
  <Card title="Connect a client" icon="plug" href="/mcp/connecting">
    Configuration for Codex, Claude Desktop, Claude Code, and VS Code.
  </Card>

  <Card title="Get an API key" icon="key" href="https://platform.runpulse.com">
    Create a key in the Pulse Platform to authenticate the connector.
  </Card>
</CardGroup>
