MCP-Server

VotePredictor Elections

com.votepredictor/elections
Suche & Recherche Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Provides 2026 US election forecasts, forecaster accuracy records, congressional member profiles, and voting-related data.

chamber_outlook
Chamber control outlook
Who is favoured to control the Senate or House after 2026: control probability, expected seats with an 80% range, how far it has moved since January, and the races that have moved most.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['chamber'], 'properties': {'chamber': {'enum': ['senate', 'house'], 'type': 'string', 'description': "Which chamber of Congress: 'senate' (51 seats for control) or 'house' (218)."}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['chamber', 'p_dem_control', 'expected_dem_seats', 'range_80pct', 'seats_needed', 'as_of', 'change_points_since', 'since_date', 'seats_total', 'seats_with_forecast', 'seats_from_fundamentals', 'seats_without_forecast', 'biggest_movers', 'url', 'summary'], 'properties': {'url': {'type': 'string'}, 'as_of': {'type': 'string'}, 'chamber': {'type': 'string'}, 'summary': {'type': 'string'}, 'since_date': {'type': 'string'}, 'range_80pct': {'type': 'array', 'items': {'type': 'number'}, 'description': '[p10, p90] seats in 80% of simulations'}, 'seats_total': {'type': 'number'}, 'seats_needed': {'type': 'number'}, 'p_dem_control': {'type': 'number', 'description': 'Probability Democrats control the chamber'}, 'biggest_movers': {'type': 'array', 'items': {'type': 'object', 'required': ['race_id', 'delta_points', 'toward'], 'properties': {'toward': {'type': 'string'}, 'race_id': {'type': 'string'}, 'delta_points': {'type': 'number'}}, 'additionalProperties': False}}, 'expected_dem_seats': {'type': 'number'}, 'change_points_since': {'type': 'number', 'description': 'Points moved since the first snapshot, positive toward Democrats'}, 'seats_with_forecast': {'type': 'number'}, 'seats_without_forecast': {'type': 'number', 'description': 'Publishing nothing, because a candidate left the ballot'}, 'seats_from_fundamentals': {'type': 'number', 'description': 'Forecast without any poll, because none exists'}}, 'additionalProperties': False}
forecaster_accuracy
Forecast accuracy track record
How accurate each election forecaster, model, prediction market and pollster has been on resolved races, adjusted for how hard each race was. Use this to answer 'whose election forecast should I trust'. Difficulty adjustment matters: on raw scores whoever rated the safest races wins.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1, 'description': 'How many ranked entries to return, best first. Default 10.'}, 'office': {'enum': ['ALL', 'PRES', 'SEN', 'GOV', 'HOUSE'], 'type': 'string', 'default': 'ALL', 'description': 'Restrict the board to one office, or ALL for every resolved race.'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['metric', 'office', 'lower_is_better', 'adjusted_for_difficulty', 'entries', 'url', 'summary'], 'properties': {'url': {'type': 'string'}, 'metric': {'type': 'string'}, 'office': {'type': 'string'}, 'entries': {'type': 'array', 'items': {'type': 'object', 'required': ['rank', 'name', 'score', 'races_scored'], 'properties': {'name': {'type': 'string'}, 'rank': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'score': {'type': 'number'}, 'races_scored': {'type': 'number'}}, 'additionalProperties': False}}, 'summary': {'type': 'string'}, 'lower_is_better': {'type': 'boolean'}, 'adjusted_for_difficulty': {'type': 'boolean', 'description': 'True. Raw scores reward whoever rated the safest races, so unadjusted rankings mislead.'}}, 'additionalProperties': False}
forecast_race
Forecast a 2026 race
Current VotePredictor forecast for one 2026 US election: win probability, predicted margin, whether it comes from polls or fundamentals, how far it has moved this cycle, and the candidates. Accepts a state name or code ('Ohio', 'OH') or a district ('CA-12'). Returns an explicit refusal for races where a candidate has left the ballot and no forecast is published.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['where', 'office'], 'properties': {'where': {'type': 'string', 'description': "Where the race is: a state name ('Ohio'), a two-letter state code ('OH'), or a House district ('CA-12'). Pass what the user said."}, 'office': {'enum': ['SEN', 'GOV', 'HOUSE'], 'type': 'string', 'description': 'Which office: SEN for U.S. Senate, GOV for governor, HOUSE for a U.S. House district.'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['race_id', 'forecast_published', 'no_forecast_reason', 'office', 'location', 'state_name', 'p_dem_win', 'rating', 'pred_margin', 'source', 'n_polls', 'dem_candidate', 'rep_candidate', 'movement_points', 'url', 'summary'], 'properties': {'url': {'type': 'string', 'description': 'Cite this'}, 'office': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'rating': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Safe D / Likely D / Lean D / Toss-up / Lean R / Likely R / Safe R'}, 'source': {'anyOf': [{'enum': ['polls', 'fundamentals'], 'type': 'string'}, {'type': 'null'}], 'description': "'polls' where a poll-driven forecast exists, otherwise 'fundamentals' (lean, incumbency, national environment)"}, 'n_polls': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'race_id': {'type': 'string', 'description': 'Canonical id, {year}_{OFFICE}_{location}'}, 'summary': {'type': 'string', 'description': 'One-paragraph answer suitable for reading aloud'}, 'location': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'State code, or district id for the House'}, 'p_dem_win': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Democratic win probability, 0.01-0.99. Never 0 or 1: an election that has not happened is not certain.'}, 'state_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'pred_margin': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Predicted Dem-minus-Rep margin in points'}, 'dem_candidate': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'rep_candidate': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'movement_points': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Change in win probability in POINTS since the first snapshot this cycle, positive toward Democrats'}, 'forecast_published': {'type': 'boolean', 'description': 'False when this site declines to publish a probability for the race'}, 'no_forecast_reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Why nothing is published, e.g. a candidate has left the ballot. Do not substitute your own estimate.'}}, 'additionalProperties': False}
member_profile
Member of Congress
A member of Congress by name or bioguide id: party, state, ideology score, reported net worth from financial disclosures, and the 2026 race for their seat.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['who'], 'properties': {'who': {'type': 'string', 'description': "Who to look up: a surname ('Pelosi'), a full name, or a bioguide id ('P000197'). If several sitting members match, the tool returns the candidates rather than choosing one."}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['found', 'ambiguous_matches', 'bioguide_id', 'name', 'party', 'state', 'chamber', 'net_worth_year', 'net_worth_range', 'race_2026', 'currently_serving', 'url', 'summary'], 'properties': {'url': {'type': 'string'}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'found': {'type': 'boolean'}, 'party': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'chamber': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'summary': {'type': 'string'}, 'race_2026': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Race id for their seat, if it is on the 2026 ballot AND they still hold it'}, 'bioguide_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'net_worth_year': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'net_worth_range': {'anyOf': [{'type': 'array', 'items': {'type': 'number'}}, {'type': 'null'}], 'description': '[low, high] in dollars. Disclosures report brackets, never an exact figure.'}, 'ambiguous_matches': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'description': 'Populated when the name matches several sitting members; ask the user which, do not pick one'}, 'currently_serving': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'False for a former member. Lookup still resolves them, but they are not in office and are not a candidate.'}}, 'additionalProperties': False}
Hinzugefügt
member_profile
17. September 2026 12:38
Hinzugefügt
forecaster_accuracy
17. September 2026 12:38
Hinzugefügt
chamber_outlook
17. September 2026 12:38
Hinzugefügt
forecast_race
17. September 2026 12:38