
# MCP

Baton is discoverable and usable over the [Model Context Protocol](https://modelcontextprotocol.io). An MCP-aware agent can find Baton, read its catalog, and price a baton without a single line of Baton-specific integration code.

## Discovery

The MCP manifest is served at:

```
https://api.relaystation.ai/.well-known/mcp.json
```

It advertises the JSON-RPC endpoint and the available tools. The endpoint itself is:

```
POST https://api.relaystation.ai/mcp
```

It speaks JSON-RPC 2.0. Call `tools/list` to enumerate what is available, `tools/call` to invoke a tool.

## Tools

Baton exposes read-only discovery tools over MCP:

- **`baton.prices`** — returns the named preconfigs (Drop / Pass / Scratchpad / Checkpoint / Ledger) and their default shapes — fast-start prefills, not priced SKUs.
- **`baton.quote`** — prices a baton shape you describe (a preconfig ref, or a custom size/duration), returning the engine-computed charge.

These let an agent discover what Baton offers and what a given baton would cost, entirely through MCP. Creating and writing batons is done against the HTTP API — `POST /v1/baton` and friends — where the x402 payment flow lives; see [x402 wire format](/docs/x402).

## Other discovery surfaces

MCP is one of four ways to discover Baton programmatically:

- **`/.well-known/mcp.json`** — the MCP manifest (this page).
- **`/openapi.json`** — the full OpenAPI 3.1 specification, also rendered with a try-it console at [API reference](/api-reference).
- **`/llms.txt`** — a concise, LLM-friendly capability summary.
- **`/llms-full.txt`** — the long-form version: every endpoint, the five-group model, the payment wire formats.

A `/v1/baton/system/info` endpoint returns a machine-readable descriptor tying these together — the network, the payment modes, the five-group model + the named preconfigs, and the discovery URLs.
