{"mcpVersion":"1.0","protocolVersion":"2024-11-05","server":{"name":"sanity-context-tabletop-arbiter-mcp","version":"1.0.0","description":"Official Sanity Context MCP Server for TableTop Arbiter. Deterministic rules resolution and errata overrides for competitive tabletop games & TCGs (Magic: The Gathering, Warhammer 40k, Catan, Gloomhaven, D&D). Supports Sanity Knowledge Base Mode & GROQ Mode."},"capabilities":{"tools":true,"resources":true,"prompts":true},"tools":[{"name":"initial_context","description":"Official Sanity Context tool: Serves as the starting point for the agent by providing an outline of each Knowledge Base the endpoint serves.","parameters":{"type":"object","properties":{}}},{"name":"knowledge_base_read","description":"Official Sanity Context tool: Reads the full content of one or more entries from the tournament Knowledge Bases using KB ID and entry paths.","parameters":{"type":"object","properties":{"kbId":{"type":"string","description":"The Knowledge Base ID (e.g. \"kb_mtg_comprehensive_rules_2024\")"},"entryPaths":{"type":"array","items":{"type":"string"},"description":"Array of entry paths to retrieve (e.g. [\"mtg/cr/604-3a-stack-scope\", \"mtg/errata/2024-04-ward-vs-fight\"])"}},"required":["entryPaths"]}},{"name":"groq_query","description":"Official Sanity tool: Evaluates a GROQ graph query directly against the Sanity Structured Content Lake.","parameters":{"type":"object","properties":{"query":{"type":"string","description":"GROQ query string (e.g. \"*[_type == \\\"ruleErrata\\\" && references($ruleId)]\")"},"params":{"type":"object","description":"Query parameters"}},"required":["query"]}},{"name":"resolve_tabletop_dispute","description":"Evaluates a tabletop game rule argument between players by querying Sanity structured core rules and overriding official tournament errata.","parameters":{"type":"object","properties":{"scenarioQuery":{"type":"string","description":"Description of the dispute or card interaction occurring at the table"},"gameFilter":{"type":"string","description":"Game name or ID (e.g. \"Magic: The Gathering\", \"Warhammer 40,000\", \"Catan\")"},"playerAClaim":{"type":"string","description":"Optional argument made by Player A"},"playerBClaim":{"type":"string","description":"Optional argument made by Player B"},"disputeId":{"type":"string","description":"Optional pre-calibrated dispute ID"}},"required":["scenarioQuery"]}},{"name":"get_rule_errata_diff","description":"Fetches the base printed rule and any overriding tournament errata documents that reference and supersede it.","parameters":{"type":"object","properties":{"ruleId":{"type":"string","description":"The unique ID of the base game rule"}},"required":["ruleId"]}},{"name":"query_tournament_knowledge_lake","description":"Queries Sanity Content Lake for rules, official FAQ rulings, and tournament errata using GROQ structured traversal.","parameters":{"type":"object","properties":{"query":{"type":"string","description":"Keywords or rules section code (e.g. \"CR 702.21a\", \"Deep Strike 9 inches\")"},"gameFilter":{"type":"string","description":"Optional target game name"}},"required":["query"]}},{"name":"fetch_supported_games","description":"Returns the catalog of supported tabletop games and their governing tournament circuits.","parameters":{"type":"object","properties":{}}}]}