{"serverId":"mcp-registry/com.electionsmcp/electionsmcp","tools":[{"name":"get_simulation","fixed":{"name":"get_simulation","description":"Read the canonical simulation/scenario state, including candidates, race scope, geography overrides, active version identity, provenance, and optional summary or selected dot-path fields.","inputSchema":{"type":"object","required":["simulation_id"],"properties":{"fields":{"description":"Optional read shaping: the string \"summary\" → the compact identity card (target <5KB); an array of dot-paths (e.g. [\"id\",\"mode\",\"primary.asof\",\"primary.grain_pref\",\"updated_at\"]) → just those values from the document (plus mode_truth / campaign_identity / provenance as pickable top-level paths). Omit for the full state.","type":"string"},"simulation_id":{"type":"string"},"workspace_scope":{"type":"string","pattern":"^[uw]-[a-z0-9](?:[a-z0-9-]{0,61})$","maxLength":64,"minLength":3,"description":"Optional workspace for THIS call: use an exact personal/team ID from list_workspaces. Repeat on each call; it does not change the connection default. Must agree with MCP metadata and the effective HTTP workspace selector (header, otherwise connector URL). OAuth connections can only use their granted workspace. Membership and campaign permissions still apply."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: fields. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":339,"tokensAfter":343}],"toolsChanged":1,"tokensSaved":0,"todo":[{"tool":"add_map_comment","params":["simulation_id"]},{"tool":"apply_swing_to_query","params":["simulation_id"]},{"tool":"apply_uniform_swing","params":["level","swing_pp","simulation_id","toward_candidate_id"]},{"tool":"commit_version","params":["scenario_id"]},{"tool":"compare_simulations","params":["level","limit","offset","simulation_id_a","simulation_id_b"]},{"tool":"create_scenario","params":["name","tags","boundary_version","expected_campaign_revision"]},{"tool":"diff_versions","params":["version_a","version_b","scenario_id"]},{"tool":"get_scenario","params":["scenario_id"]},{"tool":"get_simulation","params":["simulation_id"]},{"tool":"get_tally","params":["level","simulation_id"]},{"tool":"get_view","params":["cycle","simulation_id","expected_version_hash"]},{"tool":"list_flipped","params":["grain","level","limit","offset","simulation_id"]},{"tool":"list_map_comments","params":["simulation_id"]},{"tool":"list_primary_calendar","params":["party"]},{"tool":"list_scenarios","params":["limit"]},{"tool":"render_view","params":["simulation_id"]},{"tool":"roll_up_primary","params":["party","simulation_id"]},{"tool":"roll_up_race","params":["level","simulation_id"]},{"tool":"set_candidates","params":["level","candidates","simulation_id"]},{"tool":"set_performance","params":["geo_id","rebalance","simulation_id"]},{"tool":"set_primary_shares","params":["party","simulation_id"]},{"tool":"set_race_scope","params":["cycle","stage","simulation_id"]},{"tool":"set_turnout","params":["immig","college","hiUnemp","lowHome","highHome","simulation_id","toward_candidate_id"]},{"tool":"set_view","params":["cycle","simulation_id"]},{"tool":"share_simulation","params":["ttl_days","simulation_id"]},{"tool":"target_precincts","params":["limit","target_pct","candidate_id"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}