Categories › Knowledge & Everyday › Government & public data
Model and map any 2028 U.S. race down to the precinct: scenarios, swing, turnout, and roll-ups.
Remote server: your requests and data go to www.electionsmcp.com. Claude Code: claude mcp add --transport http electionsmcp https://www.electionsmcp.com/mcp · Claude app: Settings → Connectors → Add custom connector.
The tools this server listed when we connected to it, in its own words.
resolve_geography — Turn a place name or shorthand into its canonical geo_id — resolve natural-language or structured location input. Handles "CA-03"/"NC-4" (coresolve_candidate — WHO holds or runs for WHAT — turn a candidate/officeholder name into their seat + next race. Given a name (full, last-name, or a registry alsearch_candidates — BROWSE the canonical candidate registry WITHOUT a name — the nameless companion to resolve_candidate (which requires a name). Filter the reglookup_address — Resolve a US street address, ZIP, state, or U.S. House district and show workspace campaigns covering the result. Street addresses return a list_contests — Discover contests for a geography and election cycle. Filter general, primary (dem_primary/rep_primary), or all stages; count describes the election_calendar — The election planning calendar. National form ({cycle}) returns federal contests, governors and by_state office lists; state form ({state,cyset_performance — Set a candidate's vote share, such as the Democratic candidate to 54%, in one specific county, district, state, or precinct (the general-eletarget_precincts — Return structured precinct model rows: precinct_id, name, county, county_fips, baseline_share, modeled_share, ballots_est, overridden, and gcreate_scenario — Create a new Scenario (a modeled path) — optionally inside a Race and seeded from a contest_id or an existing scenario (import_from). Seeds get_view — Read the exact map/view state the application renders for a canonical scenario: headline totals, selected geography, modeled feature colors,render_view — A headless server-rendered IMAGE of the map — the rendered view a viewer sees, as SVG or PNG, WITHOUT a browser (tk_0b6d3501 P2). For a scenrender_chart — share_comparison compares candidate shares for two saved versions of one model or two same-contest statewide general-election models. Returnset_view — Set the active scenario view and selected map context: race stage, calendar playhead, geography grain, result source, selected feature, cameget_scenario — A Scenario at its latest version (or a specified version_id): metadata (incl. latest_hash) + the version's top_line (margin / EC / viabilitycommit_version — Save the scenario's current state as a new immutable, hash-stamped version in the append-only chain. Records a diff vs the parent version anlist_scenarios — Page saved scenarios/simulations in this workspace by updated_at descending and scenario_id ascending, without version blobs. Returns scenardiff_versions — Structured diff between two immutable versions. Raw before/after remain stored override patches (null means no saved override). Precinct celget_early_voting_turnout — Read early voting, absentee/mail, election-day, and provisional vote-method breakdowns alongside registered-voter, ballots-cast, and undervoget_county_voter_turnout_and_registration — Read county voter registration, party registration (DEM/REP/UNA/Other), voting-age population, 2024/2022/2020/2026 ballots cast and turnout get_state_historical_turnout — Read 50-year statewide prior-cycle turnout and vote totals (1976 through 2026 across all 50 states and DC): ballots cast, registered voters,get_live_early_vote_returns — Read live 2026-11-03 General Election pre-election mail ballot requests, mail ballots returned, early in-person ballots, and ballot compositget_precinct_election_returns — Read precinct-level election returns and normalized early-voting, absentee/mail, election-day, and provisional breakdowns across 87.7M preciget_county_officials — Read current local, county, municipal, judicial, and school-board officials (40,431 local officials; 97,231 total officials) by 5-digit counget_county_economic_and_wealth_profile — Read a county’s economic vitality dossier (Census 15-sector business patterns, establishments, employees, payroll, average annual wage, new billing_status — BILLING — your subscription state: {billing_enabled, logged_in, plan (personal|team|null), status, active, renews, can_save}. billing_enableconnection_status — WHO AM I — how THIS session is authenticated and which workspace this request resolved to. Returns authentication fields plus workspace {worset_candidates — Replace the entire candidate roster for a simulation+level in one call (add / edit / remove / reorder). Each candidate: {id?, name, party, cset_turnout — Set the turnout (mobilization) model. PRESIDENT (default, unchanged): each dial is a percentage-point boost toward toward_candidate_id in coadd_map_comment — Leave a Google-Docs-style COMMENT on the scenario map — a threaded, resolvable discussion anchored to a place. CAMPAIGN ISOLATION: when worklist_map_comments — List one campaign's map comments on a scenario (oldest-first), each with its campaign_id, anchor, author, body, @mentions, parent_id, and reapply_uniform_swing — Apply an incremental swing in points toward one candidate at the requested office. A saved race_scope restricts writes to that state or distget_tally — Compute the current per-candidate tally for a simulation+level. For President: state-aggregated EVs. For others: feature counts. For level:"list_simulations — List saved simulations in this workspace (id, name, level, cycle, mode, contest_id, last-modified; rows stamped with an identity also carry get_simulation — Read the canonical simulation/scenario state, including candidates, race scope, geography overrides, active version identity, provenance, anlist_flipped — List baseline-to-model winner changes. Defaults to state for statewide offices, county for president, and district for house/state legislatucompare_simulations — Compare two simulations. Without grain, returns the existing chamber/feature comparison. With grain:county|precinct and one state, compares share_simulation — Mint a public, read-only link to the exact canonical scenario/version. Authenticate for durable workspace ownership; revoke_share disables troll_up_race — Roll up precincts to a race outcome under the current simulation. Sums baseline votes for all precincts inside the district boundary, applyiapply_swing_to_query — Apply a uniform swing or an explicit per-precinct weights vector to a filtered cohort in one atomic call. Weights select only their named IDget_campaign_onboarding — CAMPAIGN ONBOARDING — guide a campaign manager or joining staff member through setup in their connected AI. Read one step or the complete guNot tested by KitScout yet. When our harness runs it, pros, cons and the tasks we tried appear here, with the date and evidence.