Install the MCP server
Connect an agent to Kestrel Markets over MCP in one command — Streamable HTTP, anonymous trial by default, one verified copy-paste snippet.
Kestrel Markets speaks the Model Context Protocol so an agent drives the platform natively — the same operations as the canonical HTTP face, projected as MCP tools. This page is the one verified install path: a single copy-paste snippet that connects on the first try.
Anonymous by default (ADR-0002)
The MCP face is dual-mode. It admits an anonymous trial with no key and no signup — discover the tools, mint a trial, run a free sim, reach a certified proof URL. OAuth 2.1 layers on only when you need wallet or human scope.
Connect
- Endpoint —
https://mcp.kestrel.markets/mcp(Streamable HTTP, protocol2025-11-25) - Required header —
Origin: https://mcp.kestrel.markets
The Origin header is mandatory, not optional. The transport validates it on
every request as DNS-rebinding protection (per the MCP spec); a request without an
allow-listed Origin is rejected with 403. The snippets below already carry it, so
they work as-is.
Claude Code / Claude Desktop
claude mcp add --transport http kestrel-markets https://mcp.kestrel.markets/mcp --header "Origin: https://mcp.kestrel.markets"That registers the server as kestrel-markets. Verify it connected:
claude mcp listAny MCP client (mcpServers config)
For clients configured by file (Claude Desktop's claude_desktop_config.json and
other Streamable-HTTP-aware clients), add:
{
"mcpServers": {
"kestrel-markets": {
"type": "http",
"url": "https://mcp.kestrel.markets/mcp",
"headers": {
"Origin": "https://mcp.kestrel.markets"
}
}
}
}What you get
initialize, then tools/list returns the projected tool set — the seven public
ADR-0004 operations, each a thin equal projection of the canonical HTTP endpoint:
capability_discovery— the always-available self-description of the platformcatalog— browse the free derived-data catalogvalidate— check a control document without spendingsimulate— run a metered, certified sim over a datasetgrade— the signed black-box receipt every sim certifiesproof— resolve a public, re-verifiable certified proof URLoffers— the 402 continuation quoted against work already underway
Nothing about the funnel changes from the Quickstart — MCP is the same three requests in a different envelope. No raw licensed market data is ever served over any face; only derived, certified artifacts.
OAuth (wallet + human scope)
The anonymous trial can never carry paper, broker, live, or wallet scope. To
settle an Offer and resume an Operation you authorize with a signer over OAuth 2.1.
Discovery is standard:
curl -sS https://mcp.kestrel.markets/.well-known/oauth-protected-resourceThat Protected-Resource-Metadata document names the authorization server and the grantable scopes. See Activation for the settle-and-resume path.
Registry listing
Kestrel Markets is listed in the Model Context Protocol registry. The canonical
server.json manifest lives in the repository at docs/mcp/server.json; it declares
the Streamable-HTTP remote and the mandatory Origin header, matching this page
exactly.