MCP 서버

VotePredictor Elections

com.votepredictor/elections
검색 및 리서치 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

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.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'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)."}}}
출력 스키마
{'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.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'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.'}}}
출력 스키마
{'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.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'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.'}}}
출력 스키마
{'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.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'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."}}}
출력 스키마
{'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}
추가됨
member_profile
2026년 9월 17일 12:38 PM
추가됨
forecaster_accuracy
2026년 9월 17일 12:38 PM
추가됨
chamber_outlook
2026년 9월 17일 12:38 PM
추가됨
forecast_race
2026년 9월 17일 12:38 PM