io.github.CloudCorpRecords/racemodel
OCI · GHCR.IO/CLOUDCORPRECORDS/RACEMODEL · 2 COMPONENTS
Model and map U.S. election races: scenarios, swing, turnout and precinct-level roll-ups.
Available components
Last scanned (9 hours ago)
Scores higher than 37% of OCI servers
Category Data and Analytics
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
- Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability52
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 18363 tokens (~382/item across 48 items; 48 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management3
- Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage95
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 84% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 48 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 48 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 36
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed oci/ghcr.io/cloudcorprecords/racemodel@0.1.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | oci |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_map_comment ~1,095
Leave a Google-Docs-style COMMENT on the scenario map — a threaded, resolvable discussion anchored to a place. CAMPAIGN ISOLATION: when working inside a campaign, pass campaign_id; the scenario must be filed under it…
| Name | Type | Req | Description |
|---|---|---|---|
| attachments | array | – | Attachments on the message: [{name,url,mime,size,object_path?,kind?}]. An UPLOADED FILE rides as the object_path returned by /api/chat-upload — the bucket is private, so each read mints a fresh short… |
| audience_scope | object | – | Who can read this discussion or assignment. Replies and work originating in a discussion inherit its audience. |
| body | string | yes | The comment text (supports @mentions by email/handle). |
| campaign_id | string | – | Campaign that owns this War Room message. The simulation must be tagged into it. Omit only for scenario-global discussion. |
| canvass_data | object | – | Optional structured data for a field pin: { label, status, support_score, contacted_at, … } — anything your campaign tracks per pin. |
| canvass_kind | string | – | Make this a color-coded FIELD-MAP PIN (Map View canvassing) instead of a plain comment: supporter (green) | voter (amber) | door (blue) | target (red) | note (teal). Use with a point anchor (lng+lat)… |
| category | string | – | UNIFIED WAR ROOM OBJECTS: what kind of floater this placement is. Every category shares the same anchor model and starts a thread; the category drives the icon, the War Room grouping, and which paylo… |
| feature_id | string | – | Anchor to this feature (5-digit county FIPS / precinct external_id / 2-digit state FIPS / district GEOID). |
| icon_type | string | – | The icon/subtype within the category — e.g. note: why|risk|fact|question; target: by role; canvass: the drop kind; action: follow_up|call|door|research|decision. |
| idempotency_key | string | – | Optional retry key. Replays return the same post and immutable context instead of duplicating the message. |
| lat | number | – | Free-point anchor latitude (use with lng). |
| level | string | – | Feature anchor level (county|precinct|state|house|state_senate|state_assembly). Defaults to the sim level. |
| lng | number | – | Free-point anchor longitude (use with lat). |
| object | object | – | Anchor the comment to an OBJECT (a strategy / strategy step / annotation / version / candidate / workspace person / canonical report widget), not a map place — the comment is ABOUT that object. A per… |
| parent_id | string | – | Reply to this comment id (creates a thread; inherits the parent's anchor). |
| payload | object | – | Category-specific structured fields, stored as-is. Examples — target: { priority, channel, universe_ref }; action: { status, assignee, due_at, priority }; need: { qty, unit, urgency }; event: { event… |
| region_kind | string | – | What grain the regions[] ids are (precinct|county|state|district). Defaults to the anchor level. |
| regions | array | – | The post's MANY-TO-MANY location — the region/turf/shapefile ids this post covers (a multi-area comment's selected regions, a canvass turf, a target's shapes). ONE comment can anchor to MANY areas: p… |
| report_context | object | – | Bind this discussion to the exact immutable report widget the user is viewing. The report and widget must belong to simulation_id and the caller's workspace; the resulting receipt uses that report's… |
| simulation_id | string | yes | – |
| title | string | – | Optional short name for the post (a strategy/target/event has one; plain chat does not — feeds fall back to a body excerpt). Indexed for full-text search alongside body. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
apply_swing_to_query ~947
Apply a uniform swing or an explicit per-precinct weights vector to a filtered cohort in one atomic call. Weights select only their named IDs, support canonical statewide mechanisms, and optionally rescale a persuasion…
| Name | Type | Req | Description |
|---|---|---|---|
| assumption | string | – | mode calls that move ballots: stored on the lever's audit entry. |
| filter | object | yes | Precinct property → condition map within the requested geography. Properties: external_id, GEOID, name, state, county, county_fips, shape_id, votes_dem, votes_rep, votes_total, pct_dem_lead, official… |
| level | string | – | The office these swung precincts model — folds them into that race's state rollup (same tag as set_precinct_pcts). REQUIRED for mode:"turnout"/"mixed" (the ballots ride that race's lever kernel; pres… |
| max_precincts | integer | – | Safety cap on how many precincts get mutated. |
| mix | number | – | mode:"mixed" only — the fraction of swing_pp delivered via persuasion (the rest via turnout). |
| mode | string | – | HOW the swing happens (EM-008). persuasion = conversion (×2 margin, ballots hold); turnout = one-sided ballots (×1 margin, votes_total moves); mixed = mix persuasion + the rest turnout. Omit for the… |
| simulation_id | string | yes | – |
| source | string | – | mode calls that move ballots: stored on the lever's audit entry. |
| state | string | yes | Postal, FIPS, or resolve_geography slug ("us-pa") — required, scopes the query (EM-056: all formats accepted; also fills from geo_id). |
| swing_pp | number | – | Percentage-point swing toward the target candidate. mode:"turnout": the percent of each precinct's ballots added for the target side. |
| target_margin_pp | number | – | Alternative to swing_pp: desired margin of the target party over the other major party, as a percentage of all modeled ballots in the filtered cohort. Requires mode:persuasion, explicit toward_candid… |
| toward_candidate_id | string | – | The candidate id receiving the swing (e.g. "D", "R", or a custom id). Inferred to the level's first candidate of opposite party if omitted. |
| weights | object | – | Alternative to swing_pp: exact precinct external_id -> signed swing percentage points. Only these IDs change; all must be inside the state/filter with canonical ballots. Requires explicit D/R target,… |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
apply_uniform_swing ~277
Apply an incremental swing in points toward one candidate at the requested office. A saved race_scope restricts writes to that state or district and refuses a different office or unresolved geography. Unscoped and…
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | YYYY-MM-DD timeline point at which to evaluate the decayed swing. Default: decay_start_date (full magnitude). Only used when decay_halflife is set. |
| decay_halflife | number | – | Optional. Half-life in DAYS: past decay_start_date the applied swing halves every this-many days (exponential fade toward baseline). Omit for a permanent swing (today's behavior). |
| decay_start_date | string | – | YYYY-MM-DD the shift lands / peaks (decay measured forward from here). Default: today. Only used when decay_halflife is set. |
| level | string | yes | – |
| simulation_id | string | yes | – |
| swing_pp | number | yes | – |
| toward_candidate_id | string | – | – |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
billing_status ~128
BILLING — your subscription state: {billing_enabled, logged_in, plan (personal|team|null), status, active, renews, can_save}. billing_enabled is false until the server is configured with Stripe; while it is false,…
| Name | Type | Req | Description |
|---|---|---|---|
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
call_tool ~94
Run any other tool you are authorized for that is not in this list. Find it and its exact input schema with get_catalog (search, a workflow, or {tool: name}), then call call_tool({ name, arguments }). The named tool…
| Name | Type | Req | Description |
|---|---|---|---|
| arguments | object | – | That tool's arguments, exactly as its get_catalog schema describes. |
| name | string | yes | The exact tool name, as get_catalog returns it. |
No output schema declared.
No examples provided.
commit_version ~330
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 and the recomputed top_line, and returns a content `hash` (+ `prev_hash`…
| Name | Type | Req | Description |
|---|---|---|---|
| annotation_ids | array | – | Optional — annotation ids (pins/highlights/notes on this sim) this version explains. Validated against the sim's annotations; unknown ids are reported in `unlinked` and dropped, never invented. |
| include_diff | boolean | – | Inline the full before/after diff in the response (can be very large). Default false: return compact diff_stats only; fetch the full diff via diff_versions when needed. |
| insight_ids | array | – | Optional — insight ids (ins_…) this version explains. Validated against the sim's insights; unknown ids are reported in `unlinked` and dropped. |
| scenario_id | string | yes | – |
| summary | string | – | Human-readable note on what changed, e.g. "Flipped Orange County to D+40". |
| title | string | – | Optional SHORT card title (<=80 chars), distinct from the longer summary — what the VERSIONS card shows as its heading, e.g. "Orange County flip". |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
compare_simulations ~398
Compare two simulations. Without grain, returns the existing chamber/feature comparison. With grain:county|precinct and one state, compares exact saved canonical vote rows: margin(B)-margin(A), winners, flips, ballots…
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id_a | string | – | Optional campaign custody for A when the model belongs to multiple readable campaigns. Does not grant access. |
| campaign_id_b | string | – | Optional campaign custody for B when the model belongs to multiple readable campaigns. Does not grant access. |
| expected_hash_a | string | – | Optional expected immutable version hash for A; mismatches refuse. |
| expected_hash_b | string | – | Optional expected immutable version hash for B; mismatches refuse. |
| format | string | – | Local comparison table format; CSV/GeoJSON add a private complete-file download URL. |
| grain | string | – | Return canonical local outcomes instead of a chamber tally. county|precinct for president/statewide races; district|precinct for House and state-legislative races. |
| level | string | yes | – |
| limit | integer | – | – |
| offset | integer | – | – |
| simulation_id_a | string | yes | – |
| simulation_id_b | string | yes | – |
| state | string | – | Required for county/precinct comparison: one state postal code or FIPS. |
| version_a | string | – | Difference comparison: exact saved version of A. Omit only when its latest version matches the live model. |
| version_b | string | – | Difference comparison: exact saved version of B. Omit only when its latest version matches the live model. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
connection_status ~118
WHO AM I — how THIS session is authenticated and which workspace this request resolved to. Returns authentication fields plus workspace {workspace_id, role, selection_source}. Modern MCP clients select a workspace with…
| Name | Type | Req | Description |
|---|---|---|---|
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
create_scenario ~342
Create a new Scenario (a modeled path) — optionally inside a Race and seeded from a contest_id or an existing scenario (import_from). Seeds an immutable baseline version (v1). Returns scenario_id + version_id. (A…
| Name | Type | Req | Description |
|---|---|---|---|
| baseline_id | string | – | Optional explicit source pin. Only 2024_president_mixed_grain is currently selectable. Known county sources return baseline_selection_unavailable; unreconciled sources return baseline_not_model_eligi… |
| boundary_version | string | – | – |
| campaign_id | string | – | Custom campaign to model inside its exact attached city boundary. |
| contest_id | string | – | Optional; sets the scenario's race_scope from a canonical contest_id. |
| expected_campaign_revision | integer | – | – |
| idempotency_key | string | – | Optional workspace-scoped retry key for listed races; required for custom campaign models. Identical retries return the same scenario and baseline version. Reusing a key with different creation input… |
| import_from | string | – | Optional; copy overrides+candidates from an existing scenario_id. |
| name | string | yes | – |
| race_id | string | – | Optional; the Race this scenario belongs to. |
| tags | array | – | – |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
diff_versions ~180
Structured diff between two immutable versions. Raw before/after remain stored override patches (null means no saved override). Precinct cells also include effective_before/effective_after shares with their…
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum changed precinct cells in this page. Summary counts cover the full version pair. |
| offset | integer | – | Use precinct_page.next_offset to continue in stable precinct-id order. |
| scenario_id | string | yes | – |
| version_a | string | yes | – |
| version_b | string | yes | – |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
election_calendar ~161
The election planning calendar. National form ({cycle}) returns federal contests, governors and by_state office lists; state form ({state,cycle}) returns a four-year horizon. Other statewide executive offices use the…
| Name | Type | Req | Description |
|---|---|---|---|
| cycle | integer | – | Defaults to the next election year from today. |
| state | string | – | Postal abbreviation ("PA") for the per-state 4-year horizon; omit for the national summary. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
get_campaign_onboarding ~151
CAMPAIGN ONBOARDING — guide a campaign manager or joining staff member through setup in their connected AI. Read one step or the complete guide: connection, campaign identity, team access, optional data imports, first…
| Name | Type | Req | Description |
|---|---|---|---|
| section | string | – | The next conversational step. Read connection first; all returns the complete guide when campaign tools are available. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
get_catalog ~355
DISCOVERY — browse workflow/category groups, search tool names and descriptions, or fetch one complete schema and AI guide with tool. No arguments returns a compact counted index of the authorized inventory. Core…
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Browse one category (e.g. "Scenario") in bounded pages. The category count is the full matching inventory, not this page length. |
| cursor | string | – | Opaque next_cursor from the previous discovery page. Keep the same query, category and workflow; restart if the authorized catalog changed. |
| expected_catalog_version | string | – | Optional catalog_version from a previous tools/list or get_catalog response. Returns catalog_changed so clients can detect schema drift and refresh cached bindings. |
| limit | integer | – | Maximum tool entries per discovery page, subject to the response byte budget. Repeat the same filters with next_cursor as cursor until null. |
| query | string | – | Text search over this session's retained tool names and descriptions. Ranked: exact name, name substring, then description matches. |
| tool | string | – | Exact retained tool name — returns the complete inputSchema and versioned AI guidance matching its use-<tool> MCP prompt when it is present in this session's tools/list. |
| workflow | string | – | Opt into a workflow from the compact index. Filters browsing or search within the authorized inventory; never grants access or changes the connection profile. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
get_county_economic_and_wealth_profile ~270
Read a county’s economic vitality dossier (Census 15-sector business patterns, establishments, employees, payroll, average annual wage, new SOS LLC/Corp formations, SEC Form D capital raises, Form 4/FEC major donors,…
| Name | Type | Req | Description |
|---|---|---|---|
| fips | string | – | Optional 5-digit county FIPS code (e.g. "06087" for Santa Cruz County CA, "36061" for New York County NY) for a full county dossier. |
| limit | integer | – | Maximum counties to return when ranking a state (default 50, max 200). |
| offset | integer | – | Pagination offset (default 0). |
| sort | string | – | Sort field when ranking counties in a state (default avg_annual_wage_usd). |
| state | string | – | Optional two-letter state code (e.g. "CA", "TX", "NY") to rank counties across a state. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
get_county_officials ~254
Read current local, county, municipal, judicial, and school-board officials (40,431 local officials; 97,231 total officials) by 5-digit county FIPS or state from RoutPoint v2.
| Name | Type | Req | Description |
|---|---|---|---|
| fips | string | – | Optional 5-digit county FIPS code (e.g. "48201" for Harris County TX, "17031" for Cook County IL). |
| limit | integer | – | Maximum officials to return (default 100, max 200). |
| office_level | string | – | Optional office level filter. |
| offset | integer | – | Pagination offset (default 0). |
| party | string | – | Optional party filter. |
| q | string | – | Optional name or title search query. |
| state | string | – | Optional two-letter state code (e.g. "TX", "IL", "CA"). |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
get_county_voter_turnout_and_registration ~275
Read county voter registration, party registration (DEM/REP/UNA/Other), voting-age population, 2024/2022/2020/2026 ballots cast and turnout percentages, 2020-to-2024 partisan swing, and competitiveness tiers across…
| Name | Type | Req | Description |
|---|---|---|---|
| county_fips | string | – | Optional 5-digit county FIPS code (e.g. "37183" for Wake NC, "04013" for Maricopa AZ). |
| limit | integer | – | Maximum counties to return (default 100, max 500). |
| offset | integer | – | Pagination offset (default 0). |
| sort | string | – | Sort order (default ballots_cast_2024). |
| state | string | – | Optional two-letter state code (e.g. "PA", "GA", "NC", "MI", "WI", "AZ", "NV", "TX"). |
| tier | string | – | Optional competitiveness tier filter. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
get_early_voting_turnout ~384
Read early voting, absentee/mail, election-day, and provisional vote-method breakdowns alongside registered-voter, ballots-cast, and undervote/overvote turnout statistics by race and candidate from RoutPoint v2…
| Name | Type | Req | Description |
|---|---|---|---|
| county_fips | string | – | Optional 5-digit county FIPS code (e.g. "48081", "37021") to scope returns and turnout to one county. |
| district | string | – | Optional district code filter for legislative or congressional races (e.g. "10", "11"). |
| election_date | string | – | Optional election date in YYYY-MM-DD format (e.g. "2024-11-05", "2026-03-03", "2026-08-18"). Defaults to the most recent covered election for the state. |
| election_type | string | – | Optional election stage filter. |
| include_precincts | boolean | – | When true, include per-precinct early voting, mail, election-day, and turnout breakdowns inside each race. |
| office | string | – | Optional office substring filter (e.g. "U.S. Senate", "Governor"). |
| office_level | string | – | Optional canonical office level filter. |
| source_id | string | – | Optional 64-character SHA-256 source identifier for a specific county/state return file. |
| state | string | yes | Two-letter state postal code (e.g. "TX", "NC", "GA", "FL", "PA", "MI", "AZ"). |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
get_live_early_vote_returns ~272
Read live 2026-11-03 General Election pre-election mail ballot requests, mail ballots returned, early in-person ballots, and ballot composition by voter registration party (DEM/REP/UNA/Other) from continuously…
| Name | Type | Req | Description |
|---|---|---|---|
| county_fips | string | – | Optional 5-digit county FIPS code (e.g. "37183"). |
| election_date | string | – | Election date in YYYY-MM-DD format (default "2026-11-03"). |
| include_precincts | boolean | – | With county_fips (Texas): also return cumulative 2026 early ballots per precinct, aggregated from the SOS early-voting roster. |
| limit | integer | – | Maximum county rows to return (default 100, max 500). |
| offset | integer | – | Pagination offset (default 0). |
| state | string | – | Optional two-letter state code (e.g. "NC", "VA", "GA", "PA"). |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
get_precinct_election_returns ~356
Read precinct-level election returns and normalized early-voting, absentee/mail, election-day, and provisional breakdowns across 87.7M precinct rows (linked to mapsmcp_precinct_id) from RoutPoint v2.
| Name | Type | Req | Description |
|---|---|---|---|
| contest_id | integer | – | Optional RoutPoint contest identifier for single-contest precinct returns. |
| county_fips | string | – | Optional 5-digit county FIPS code. |
| district | string | – | Optional legislative or congressional district code. |
| election_date | string | – | Optional election date in YYYY-MM-DD format. |
| election_id | integer | – | Optional RoutPoint election identifier. |
| election_type | string | – | Optional election stage (default general). |
| limit | integer | – | Maximum rows to return (default 100, max 500). |
| mapsmcp_precinct_id | string | – | Optional MapsMCP precinct UUID filter. |
| office | string | – | Optional office name filter. |
| office_level | string | – | Optional canonical office level. |
| offset | integer | – | Pagination offset (default 0). |
| party | string | – | Optional party filter. |
| state | string | – | Two-letter state postal code (e.g. "TX", "NC", "GA", "PA"). |
| workspace_scope | string | – | 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 HT… |
| year | integer | – | Optional election year (e.g. 2024, 2022, 2026). |
No output schema declared.
No examples provided.
get_scenario ~237
A Scenario at its latest version (or a specified version_id): metadata (incl. latest_hash) + the version's top_line (margin / EC / viability) + its content hash/prev_hash. EM-119: pass a version_id (or…
| Name | Type | Req | Description |
|---|---|---|---|
| expected_version_hash | string | – | Optional exact content hash from list_scenario_versions. Requires version_id; a mismatch is refused rather than returning a different saved model. |
| include_state | boolean | – | Include the full per-precinct `state` even for the latest version (for redrawing the map). |
| scenario_id | string | yes | – |
| version_id | string | – | Optional; defaults to the latest version. When set, the response includes the full per-precinct `state` for that version. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
get_simulation ~201
Read the canonical simulation/scenario state, including candidates, race scope, geography overrides, active version identity, provenance, and optional summary or selected dot-path fields.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | – | – | 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… |
| simulation_id | string | yes | – |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
get_state_historical_turnout ~215
Read 50-year statewide prior-cycle turnout and vote totals (1976 through 2026 across all 50 states and DC): ballots cast, registered voters, voting-age population, turnout percentage, DEM/REP vote shares, margin, and…
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum rows to return (default 100, max 500). |
| offset | integer | – | Pagination offset (default 0). |
| state | string | – | Optional two-letter state code (e.g. "PA", "GA", "MI", "WI", "CA", "TX"). |
| workspace_scope | string | – | 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 HT… |
| year | integer | – | Optional election year filter (1976 through 2026). |
No output schema declared.
No examples provided.
get_tally ~223
Compute the current per-candidate tally for a simulation+level. For President: state-aggregated EVs. For others: feature counts. For level:"senate" the default is the 50-state per-candidate race scoreboard; pass…
| Name | Type | Req | Description |
|---|---|---|---|
| chamber | boolean | – | level:"senate" only — return real chamber control ({D,R,I,seats_up,held_over,majority_status}) via the same math as senate_control, instead of the 50-state race scoreboard. |
| cycle | integer | – | Election cycle for chamber control (level:"senate", chamber:true); default 2028. Ignored otherwise. |
| level | string | yes | – |
| simulation_id | string | yes | – |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
get_view ~763
Read the exact map/view state the application renders for a canonical scenario: headline totals, selected geography, modeled feature colors, annotations, primary-calendar playhead, candidate roster, presence, and a…
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id_a | string | – | Optional campaign custody for A when the model belongs to multiple readable campaigns. Does not grant access. |
| campaign_id_b | string | – | Optional campaign custody for B when the model belongs to multiple readable campaigns. Does not grant access. |
| compare_simulation_id | string | – | Compare B against simulation_id (A), using D-minus-R margin(B) minus margin(A). Requires one explicit state and county/precinct grain; both saved general-election models must share office/cycle/elect… |
| cycle | integer | – | – |
| difference_scale_pp | number | – | Difference-only symmetric color extent: legend runs from negative this value through zero to positive this value. Omit to fit the largest absolute delta; out-of-scale values are disclosed as clamped. |
| expected_hash_a | string | – | Optional expected immutable version hash for A; mismatches refuse. |
| expected_hash_b | string | – | Optional expected immutable version hash for B; mismatches refuse. |
| expected_version_hash | string | – | – |
| grain | string | – | With a state scoped, the grain of the local features returned: "county" (default) or "precinct". Applies to a statewide-level race (senate/governor/exec — its own overrides) AND to a PRIMARY sim scop… |
| level | string | – | Which map the view renders. Default president (or whatever set_view last scoped). house = HOUSE CONTROL (per-state delegation winners + the 218 banner); state_senate/state_assembly = one state's cham… |
| simulation_id | string | yes | – |
| state | string | – | Optional postal code or 2-digit FIPS — scope the map to one state. president → its county breakdown; senate/governor/exec → that RACE's local county (default) or precinct features from its own overri… |
| version_a | string | – | Difference comparison: exact saved version of A. Omit only when its latest version matches the live model. |
| version_b | string | – | Difference comparison: exact saved version of B. Omit only when its latest version matches the live model. |
| version_id | string | – | Exact saved version for a custom city model. |
| view | string | – | difference uses compare_simulation_id as B and simulation_id as A; returns the zero-centered B-minus-A color scale and exact county/precinct rows. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
help ~112
Orient an AI client to campaign onboarding through get_campaign_onboarding, user-controlled election modeling, candidate and presidential-primary workflows, supported geography, scenario versions, contextual War Room…
| Name | Type | Req | Description |
|---|---|---|---|
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
list_contests ~199
Discover contests for a geography and election cycle. Filter general, primary (dem_primary/rep_primary), or all stages; count describes the returned top-level rows. National presidential primaries are discoverable in…
| Name | Type | Req | Description |
|---|---|---|---|
| cycle | integer | – | Defaults to the next election year from today. |
| geo_id | string | yes | "us" (national), a state as "us-pa" / postal "PA" / FIPS "42", or a district id — all accepted. |
| stage | string | – | primary selects the dem_primary and rep_primary variants; general excludes them; all returns both. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
list_flipped ~184
List baseline-to-model winner changes. Defaults to state for statewide offices, county for president, and district for house/state legislature. Explicit grain:county|precinct uses canonical integer local votes for a…
| Name | Type | Req | Description |
|---|---|---|---|
| grain | string | – | – |
| level | string | yes | – |
| limit | integer | – | – |
| offset | integer | – | – |
| simulation_id | string | yes | – |
| state | string | – | One postal code/FIPS for explicit county/precinct enumeration; may be inferred from a saved state race. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
list_map_comments ~213
List one campaign's map comments on a scenario (oldest-first), each with its campaign_id, anchor, author, body, @mentions, parent_id, and resolved state. Pass campaign_id inside a campaign; only that exact campaign is…
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | – | Exact campaign War Room to read. The simulation must be filed under it. |
| comment_ids | array | – | Read only these comments (a delta after a live event named them). The reply carries subset:true plus missing[] for ids that are not in this War Room. |
| include_resolved | boolean | – | Include resolved comments (default true). |
| simulation_id | string | yes | – |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
list_primary_calendar ~156
Read the 2028 primary calendar with source dates, schedule certainty, modeled delegate coverage, missing jurisdictions, and threshold basis. New calendars include the six DNC-approved early dates; other unverified…
| Name | Type | Req | Description |
|---|---|---|---|
| party | string | yes | – |
| simulation_id | string | – | Optional. If given (and party=D), returns the sim's user-defined Dem calendar when one is set. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
list_scenarios ~182
Page saved scenarios/simulations in this workspace by updated_at descending and scenario_id ascending, without version blobs. Returns scenario_id, name, level, cycle, contest_id, race_id, tags, durable_id, published…
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | Use previous next_offset with unchanged tags and limit. Ordered by updated_at descending, scenario_id ascending. Restart at 0 after inventory changes. |
| tags | array | – | Return only scenarios carrying any of these tags. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
list_simulations ~336
List saved simulations in this workspace (id, name, level, cycle, mode, contest_id, last-modified; rows stamped with an identity also carry created_by/updated_by member user_ids). Optional filters narrow a large…
| Name | Type | Req | Description |
|---|---|---|---|
| contest_id | string | – | Filter to sims bound to this contest_id. |
| cycle | integer | – | Filter by election cycle year (e.g. 2028). |
| level | string | – | Filter by office/level (e.g. president, senate, house, governor). |
| limit | integer | – | Max rows to return (pagination page size). |
| mode | string | – | Filter by president modeling mode: general | dem_primary_2028 | rep_primary_2028. |
| offset | integer | – | Rows to skip before returning (pagination cursor). |
| owner | string | – | Filter to sims created by this member user_id (the stable UUID from list_members) — "my sims" / "Dana's sims". Sims saved before identity stamping have no owner and never match. |
| q | string | – | Case-insensitive substring match on the simulation name. |
| race_id | string | – | Filter to sims bound to this race_id. |
| updated_since | string | – | Only sims modified at or after this ISO timestamp/date. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
lookup_address ~203
Resolve a US street address, ZIP, state, or U.S. House district and show workspace campaigns covering the result. Street addresses return a geocoded point and containing districts, with a precinct when coverage exists.…
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | A full street address ("123 Main St, Dallas, TX"), a 5-digit ZIP, a district code ("NC-4", "AK-AL"), a state name/abbreviation, or a canonical state/House geography ID. |
| include_officials | boolean | – | Attach the sitting officeholder for each resolved seat (from the committed legislator file). |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
primary_batch_edit ~535
ATOMIC batch-edit transaction for a PRIMARY scenario — validate, preview, apply, and roll back a whole SET of candidate / share / calendar edits as ONE transaction. Pass edits:[{op, ...}, …] where each entry carries…
| Name | Type | Req | Description |
|---|---|---|---|
| checkpoint_label | string | – | Optional label for the pre-batch rollback checkpoint version created on apply. |
| dry_run | boolean | – | DEFAULT true — preview only: returns before/after/delta/warnings/errors/viability_flags and writes NOTHING. Pass false to actually apply. |
| edits | array | yes | Ordered heterogeneous list of primary edits, each an object {op, …opArgs}. op is one of set_primary_shares, set_primary_county_shares, set_primary_precinct_shares, set_primary_candidates, set_primary… |
| expected_version_hash | string | – | Copy expected_version_hash from the setup dry run to refuse overwriting an intervening edit. Exact already-applied replay returns the existing version. |
| force | boolean | – | Apply despite soft WARNINGS (just-over-100 totals, viability flags, mode/geo/calendar notes). Still BLOCKS on hard errors (unknown candidate, malformed edit, shares over 100.5). Default false. |
| party | string | – | Default party (d/r) for edits that omit their own party. Defaults to the sim's primary party. |
| setup_evidence | object | – | For automatic public-profile initialization: {kind:"primary_profile_start",model:"geographic-context-v1",profile_version:"2026-09-05.v1",ranking:[{id,name}]}. Use the same ordered ranking; the server… |
| simulation_id | string | yes | The scenario/simulation to edit (sim_…). |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
render_chart ~1,355
share_comparison compares candidate shares for two saved versions of one model or two same-contest statewide general-election models. Returns canonical integer candidate votes, all-ballot shares, D-minus-R margins,…
| Name | Type | Req | Description |
|---|---|---|---|
| asof | integer|null | – | For the primary charts — evaluate the race at this calendar checkpoint (contests counted), the same asof roll_up_primary takes: standings/clinch totals, the momentum timeline's end, and the calendar… |
| campaign_id_a | string | – | Optional campaign custody for A when the model belongs to multiple readable campaigns. Does not grant access. |
| campaign_id_b | string | – | Optional campaign custody for B when the model belongs to multiple readable campaigns. Does not grant access. |
| clinch | boolean | – | ranking_board only — show each candidate's clinch line on the tiles (CLINCHES <state> · <date>, or how many delegates short). Default true; pass false for a name+delegates-only board. The response's… |
| compare_simulation_id | string | – | share_comparison only: alias for simulation_id_b. |
| context_simulation_id | string | – | seat_hemicycle / decisive_seats only — compute the WHOLE chamber rollup from THIS scenario (a linked national/statewide view's scenario) instead of simulation_id. Pair with overlay_from_simulation_id… |
| cycle | integer | – | Election cycle for seat_hemicycle / decisive_seats (defaults to the sim's cycle, else 2026) — drives the Senate class + governor calendar. |
| expected_hash_a | string | – | Optional expected immutable version hash for A; mismatches refuse. |
| expected_hash_b | string | – | Optional expected immutable version hash for B; mismatches refuse. |
| format | string | – | Image format. Default svg (png needs the resvg renderer; degrades to svg if absent). |
| highlight_race | object | – | Mark one race on the card (same shape as overlay_race): its dot wears an amber ring on seat_hemicycle, and decisive_seats always includes it on the board with its true closest-races rank. |
| level | string | – | share_comparison only: statewide office; defaults to the saved scope. Both versions must match office, state, cycle and general-election stage. |
| office | string | – | For seat_hemicycle / decisive_seats — which chamber (default house). state_senate/state_assembly also need state. |
| overlay_from_simulation_id | string | – | seat_hemicycle / decisive_seats only — the scenario that supplies the ONE overlaid race's modeled result. Travels with overlay_race; passing one without the other is refused (overlay_incomplete). |
| overlay_race | object | – | The single race to swap in from overlay_from_simulation_id: {office, state, district}. office must match the card's chamber; statewide offices need only state; house takes the district GEOID ("0604")… |
| party | string | – | For the primary charts — which party's race (defaults to the sim's primary mode). |
| share | boolean | – | PUBLISH to a hostable URL: mints a share token and returns share.hosted_image_url / hosted_svg_url that resolve for ANYONE (cross-workspace, embeddable). Default false. Revoke with revoke_share(token… |
| share_ttl_days | number | – | Days the shared URL stays live (default 90, max 365). Only with share:true. |
| simulation_id | string | – | Scenario to render; for share_comparison this is A, or the single model with version_a/version_b. |
| simulation_id_a | string | – | share_comparison only: A model, alternative to simulation_id. Conflicting aliases refuse. |
| simulation_id_b | string | – | share_comparison only: B model in the same contest. Omit for two explicit versions of A. |
| state | string | – | State postal or FIPS. Required for share_comparison and state-leg seat_hemicycle/decisive_seats. |
| style | object | – | Optional brand overrides for the supported themed charts. Does not remove attribution or change candidate colors or model data. |
| theme | string | – | Chart audience palette, using the map-theme registry. Supported by primary charts, swing_bars and chamber_control. Default control. |
| title | string | – | Optional eyebrow/title for the chart. |
| type | string | yes | Which widget. share_comparison = saved candidate shares before/after, with paired version anchors and one state. Primary: delegate_standings (bars+clinch), clinch_dial (gauge), delegate_momentum (lin… |
| version_a | string | – | Difference comparison: exact saved version of A. Omit only when its latest version matches the live model. |
| version_b | string | – | Difference comparison: exact saved version of B. Omit only when its latest version matches the live model. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
render_view ~1,657
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 scenario + level (president | senate | house | governor | the execs) it draws the…
| Name | Type | Req | Description |
|---|---|---|---|
| asof | integer|null | – | PRIMARY sims — render the delegate banner/standings AS OF this calendar checkpoint (contests counted; the same asof roll_up_primary / render_chart take). Omit to honor the scenario's STORED playhead… |
| campaign_id_a | string | – | Optional campaign custody for A when the model belongs to multiple readable campaigns. Does not grant access. |
| campaign_id_b | string | – | Optional campaign custody for B when the model belongs to multiple readable campaigns. Does not grant access. |
| compare_simulation_id | string | – | Compare B against simulation_id (A), using D-minus-R margin(B) minus margin(A). Requires one explicit state and county/precinct grain; both saved general-election models must share office/cycle/elect… |
| comparison_layout | string | – | Difference-only 1200x630 card: one B-minus-A map (default), or the same-grain A | B | B-minus-A maps with explicit legends. |
| difference_scale_pp | number | – | Difference-only symmetric color extent: legend runs from negative this value through zero to positive this value. Omit to fit the largest absolute delta; out-of-scale values are disclosed as clamped. |
| expected_hash_a | string | – | Optional expected immutable version hash for A; mismatches refuse. |
| expected_hash_b | string | – | Optional expected immutable version hash for B; mismatches refuse. |
| feature_id | string | – | Optional — a state fips (37) or county/precinct id (37xxx) to scope to its state. |
| features | array | – | CUSTOM MAP (president): an explicit list of geo_ids to include — county FIPS (5-digit), state FIPS (2-digit), or "us-xx". Hand-pick any counties across states; the map crops to exactly them. Combine… |
| format | string | – | Image format. Default svg (png needs the resvg renderer on the host; degrades to svg if absent). |
| geo_id | string | – | Optional — a geo slug like "us-nc" to scope to that state. |
| grain | string | – | When scoped to ONE state (state/geo_id/feature_id), the geographic grain to render: "county" (default) per-county; "precinct" per-precinct (finest, within-county) — both work at president level AND a… |
| layers | object | – | Draw saved highlight annotations on matching visible geography. Omit to honor set_view layers.highlights (default true); false hides them for this export only. Pins and notes are not rendered. |
| level | string | – | Which map to render. Default president. house = HOUSE CONTROL: states shaded by delegation majority, D/R seat tally, 218 banner (for one state's district map use grain:"house" with a state scope inst… |
| region | string | – | CUSTOM MAP — with region_group, render exactly ONE region in the group (its slug). |
| region_group | string | – | CUSTOM MAP — a saved workspace map region-group slug. Expands to its member counties or states; add region to render one named region. Ignored if states[] or features[] are passed. |
| share | boolean | – | PUBLISH this map to a hostable URL: mints a share token and returns share.hosted_image_url / hosted_svg_url + a public page_url (/f/<token>) that resolve for ANYONE — cross-workspace, embeddable in a… |
| share_ttl_days | number | – | Days the shared URL stays live (default 90, max 365). Only with share:true. |
| simulation_id | string | yes | – |
| state | string | – | Optional — scope the image to a state (postal "NC" or 2-digit FIPS). president → that state's per-county choropleth; senate/governor/exec → that RACE's LOCAL county map from its own overrides (5-digi… |
| states | array | – | CUSTOM MAP (president): a list of states (postal "PA" or 2-digit FIPS) → a cropped county choropleth of just those states' counties, in their real relative positions, zoomed to the region. Combine wi… |
| theme | string | – | MAP THEME preset for the rendered image (list_map_themes: control | analyst | field | civic | accessible | broadcast | terrain) — the SAME token resolution the live wall uses, so a civic-themed repor… |
| title | string | – | CUSTOM MAP: a title for the card (e.g. "Rust Belt swing"). Defaults to the state list (or the region group / region name). |
| version_a | string | – | Difference comparison: exact saved version of A. Omit only when its latest version matches the live model. |
| version_b | string | – | Difference comparison: exact saved version of B. Omit only when its latest version matches the live model. |
| view | string | – | "result" (default) = the outcome map; "swing" = colour by margin CHANGE vs the baseline (where the scenario MOVES the map). "difference" = margin(B)-margin(A), requires compare_simulation_id and one… |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
resolve_candidate ~310
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 alias — "Lauren Boebert", "Boebert"), returns the person(s) who match with their…
| Name | Type | Req | Description |
|---|---|---|---|
| cycle | integer | – | Optional — keep only matches whose next_race is in this cycle (e.g. 2026). |
| limit | integer | – | Max people to return when a name is ambiguous (default 8). |
| name | string | yes | A candidate or officeholder name — full ("Lauren Boebert"), last-name ("Boebert"), or any registry alias. Matching folds free-typed names onto the canonical person. |
| office | string | – | Optional — keep only matches whose current OR next-race office matches (house, senate, governor, state_senate, state_assembly, …); the "us_" prefix is optional ("house" == "us_house"). |
| party | string | – | Optional — keep only matches of this party (D/R/I), normalized by leading letter. For a stage/party-scoped picker. |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
resolve_geography ~183
Turn a place name or shorthand into its canonical geo_id — resolve natural-language or structured location input. Handles "CA-03"/"NC-4" (congressional districts), bare state names/abbreviations, "<County> County…
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | "CA-03", "El Dorado County CA", "the 4th state senate district in California", "Pennsylvania" |
| workspace_scope | string | – | 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 HT… |
| year | integer | – | Disambiguates post-redistricting boundaries; defaults to current cycle. |
No output schema declared.
No examples provided.
roll_up_primary ~519
The running delegate count — OR, for a race-scoped downballot sim, that race's own share rollup. DOWNBALLOT (tk_2110d54c1d0871): when the scenario is race-scoped to a non-presidential office (set_race_scope…
| Name | Type | Req | Description |
|---|---|---|---|
| asof | integer|null | – | Optional. Contests counted; omit/null = full calendar. |
| by_district | boolean | – | Optional (Democratic only). Also return district_allocation: the SAME authoritative count broken out by DNC Rule 14 pool — per state, the district/at-large/PLEO pool sizes, and per congressional dist… |
| include_states | boolean | – | Optional. Also return by_state[]: per voted contest — delegates each candidate won, plus eff_shares (the effective per-state candidate shares after the county/precinct rollup), modeled_by ("precinct"… |
| party | string | yes | – |
| simulation_id | string | yes | – |
| state | string | – | Optional. Scope the read to ONE contest (postal/FIPS/name): returns a `state` block with that contest's calendar position, modeling grain, and delegate allocation — and when the state sits BEYOND thi… |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
roll_up_race ~265
Roll up precincts to a race outcome under the current simulation. Sums baseline votes for all precincts inside the district boundary, applying overrides in precedence order: a per-precinct override wins, else…
| Name | Type | Req | Description |
|---|---|---|---|
| district_id | string | – | District external id (for level=president/senate/governor, the state). EM-056: accepts a resolve_geography handle in any format — the slug "us-pa", postal "PA", or FIPS "42" — and also reads geo_id/s… |
| level | string | – | – |
| region | string | – | Optional — with region_group, scope to exactly ONE region in the group (its slug), rolling up only that region's member counties. |
| region_group | string | – | Optional saved county-grain workspace map region-group slug. Returns one modeled race rollup per named region. |
| simulation_id | string | yes | – |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
search_candidates ~245
BROWSE the canonical candidate registry WITHOUT a name — the nameless companion to resolve_candidate (which requires a name). Filter the registry of canonical people by party, office, and/or a name substring:…
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max results (default 50). `total` reports the full match count; `truncated:true` when the list was trimmed. |
| office | string | – | Optional — match the registry office label. Keywords president / senate / house / governor are normalized; anything else is a case-insensitive substring on the label. The "us_" prefix is ignored. |
| party | string | – | Optional — only this party (D/R/I/L/G), normalized by leading letter. |
| q | string | – | Optional — case-insensitive substring on the candidate name or any alias (typeahead). |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
set_candidates ~173
Replace the entire candidate roster for a simulation+level in one call (add / edit / remove / reorder). Each candidate: {id?, name, party, color?, incumbent?}; ids auto-assigned if omitted. Use this to set the real…
| Name | Type | Req | Description |
|---|---|---|---|
| candidates | array | yes | – |
| expected_version | string | – | The last-read updated_at token; custom model writes refuse stale edits. |
| level | string | yes | – |
| simulation_id | string | yes | – |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
set_performance ~513
Set a candidate's vote share, such as the Democratic candidate to 54%, in one specific county, district, state, or precinct (the general-election override). Routes a county/state/district geo_id to a feature override…
| Name | Type | Req | Description |
|---|---|---|---|
| expected_version | string | – | Optional optimistic-concurrency token: the scenario updated_at you last read. If the scenario changed since, the write is refused with version_conflict + the current token instead of overwriting conc… |
| geo_id | string | yes | – |
| level | string | – | EM-136: explicit office for the override. A bare state geo (us-pa) otherwise defaults to senate — pass level to target president or governor instead (president is stored as a state-level aggregate th… |
| margin | number | – | Shorthand for two-candidate D−R margin in points; sets D/R shares around 50. |
| rebalance | string | – | – |
| scenario_id | string | yes | The simulation_id (scenario_id alias until the scenario model lands). |
| shares | object | yes | candidate_id → share. Accepts 0–1 or 0–100. |
| simulation_id | string | – | – |
| total_votes | integer | – | Explicit vote volume for a custom campaign city or reviewed precinct. Use level:"custom" and geo_id from get_campaign_vote_data. A precinct requires its own total; source-election turnout is never co… |
| turnout | number | – | 0–1 expected turnout (stored as metadata on precinct overrides). |
| workspace_scope | string | – | 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 HT… |
No output schema declared.
No examples provided.
How do I install the io.github.CloudCorpRecords/racemodel MCP server?
io.github.CloudCorpRecords/racemodel runs locally as a container image, launched with docker run --rm -i ghcr.io/cloudcorprecords/racemodel:0.1.0. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.
oci · ghcr.io/cloudcorprecords/racemodel
claude mcp add cloudcorprecords-racemodel -- docker run --rm -i ghcr.io/cloudcorprecords/racemodel:0.1.0
What is the io.github.CloudCorpRecords/racemodel MCP server?
io.github.CloudCorpRecords/racemodel is an MCP server listed in the public MCP registry as io.github.CloudCorpRecords/racemodel. Model and map U.S. election races: scenarios, swing, turnout and precinct-level roll-ups. This page covers its container image (ghcr.io/cloudcorprecords/racemodel).
Is the io.github.CloudCorpRecords/racemodel MCP server safe to use?
io.github.CloudCorpRecords/racemodel scores 36 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.CloudCorpRecords/racemodel MCP server expose?
io.github.CloudCorpRecords/racemodel exposes 48 tools: resolve_geography, resolve_candidate, search_candidates, lookup_address, list_contests, and 43 more. Their descriptions and schemas cost roughly 18,363 tokens of context every time the server is loaded.
Is the io.github.CloudCorpRecords/racemodel MCP server still maintained?
io.github.CloudCorpRecords/racemodel is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.CloudCorpRecords/racemodel MCP server under?
io.github.CloudCorpRecords/racemodel declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.