MCP server
The corpus, served to AI agents over JSON-RPC — the same consent and ownership gates as the REST API.
Endpoint
One endpoint, speaking JSON-RPC 2.0 (the Model Context Protocol): POST /api/v1/mcp. It authenticates the same way the rest of the API does — an Auth0 JWT or a brs_ token — but requires the corpus:read scope specifically. Nothing a tool call returns exceeds what the same identity could already reach over REST: the consent gate (public / anon / private) and the org-ownership check both run inside the same rules the REST corpus and replay-report endpoints use, not a second copy of them.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_signatures",
"arguments": { "query": "checkout 5xx burst never paged", "topK": 3 }
}
}Methods
initialize, ping, tools/list, tools/call, resources/list, resources/templates/list, resources/read.
Tools
| Tool | Arguments | Returns |
|---|---|---|
search_signatures | query (string, required), class? (one of the six canonical classes), topK? (1–20, default 5) | Semantic search over the corpus — the same contract POST /corpus/search answers to. |
get_signature | signatureKey (string, required, e.g. sig_checkout_5xx) | One signature by key. |
classify_replay | orgId (string, required), replayId (string, required) | The classified report of one replay — 404 rather than 403 outside the caller’s org, so a tenant’s existence is never confirmed to an agent that cannot see it. |
explain_class | class (one of the six canonical classes, required) | What the class is, plus up to three corpus examples the caller is entitled to see. |
Resources
One resource per canonical failure class, at corpus://signatures/{class} — reading one returns the class's explanation plus up to 50 signatures the caller may see. See Guides for the same six classes explained in prose.