MCP quick start
The StGB Operome MCP server speaks JSON-RPC 2.0 over Streamable HTTP. Stateless, POST-only. Anonymous tier: 60 requests/min per client. Registered tier: 600/min with a bearer token (request one below).
Endpoint
https://operome.dev/mcpFrom any command line
A plain REST convenience layer sits beside the MCP endpoint. Same evaluator, same telemetry, same rate limits. No JSON-RPC, no client library - just GET requests with query parameters. Pass the section as a paragraph number (e.g. 211) or by id (e.g. Murder), and every other query parameter is treated as a variable assignment (Name=true|false|unknown or a numeric value).
curl "https://operome.dev/api/evaluate?section=211&KillsPerson=true"
curl "https://operome.dev/api/sections"
Returns {section, result, derivation, missing, escalations} as JSON. For the section list: {sections: [{id, ref, title_en, chapter}, ...]}.
Claude Code
{
"mcpServers": {
"stgb-operome": {
"transport": {
"type": "http",
"url": "https://operome.dev/mcp"
}
}
}
}Codex (OpenAI)
{
"mcp": {
"servers": {
"stgb-operome": {
"url": "https://operome.dev/mcp",
"headers": { "Accept": "application/json, text/event-stream" }
}
}
}
}curl — list tools
curl -X POST 'https://operome.dev/mcp' \
-H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl — evaluate a section
curl -X POST 'https://operome.dev/mcp' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{
"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {
"name": "stgb_evaluate",
"arguments": {
"id": "AbuseOfPersonUnderCare",
"facts": {
"VictimUnderEighteen": "true",
"UnderCare": "true",
"Torments": "true"
}
}
}
}'Tools reference
| Tool | Parameters | Returns |
|---|---|---|
stgb_list_sections List sections, optionally filtered by chapter. | chapter? : string | Array<{id, ref, title_en, chapter}> |
stgb_get_section Full record for a section by id. | id : string | Full section record (variables, computables, rules, markup, flags) |
stgb_get_schema Synthesised XSD-style schema for the section. | id : string | XSD string |
stgb_evaluate Evaluate a single section deterministically (Kleene K3). | id : string, facts : {var → "true"|"false"|"unknown"|<number>} | {composite, result, derivation[], missing[], escalations[]} |
stgb_master_rule Evaluate MasterRule (§13). ExceptionActApplies derived from §32 / §34 / §228 vs §35. | facts | Same shape as stgb_evaluate |
stgb_search Search in titles, variable surfaces and rule bodies. | query : string | Array<{id, ref, title_en, chapter}> |
Request an API key
Single field, no account, no password. We email your key once. Anonymous use does not require this — it only raises your rate limit to 600 requests/min.