kestrel.markets

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

  • Endpointhttps://mcp.kestrel.markets/mcp (Streamable HTTP, protocol 2025-11-25)
  • Required headerOrigin: 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 list

Any 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 platform
  • catalog — browse the free derived-data catalog
  • validate — check a control document without spending
  • simulate — run a metered, certified sim over a dataset
  • grade — the signed black-box receipt every sim certifies
  • proof — resolve a public, re-verifiable certified proof URL
  • offers — 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-resource

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

On this page