VotePredictor Elections

2026 US election forecasts with a public accuracy record, plus congressional voting records.

我該用這個嗎

品質與安全性

A
說明品質
88%
結構描述完整度
97%
命名品質
80%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'forecaster_accuracy' description lacks action verb在 forecaster_accuracy 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,161Token(工具定義)
~5.3 KB典型回應大小
中等的注意力影響(128k 上下文的 1.69%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "elections": {
      "url": "https://votepredictor.com/api/mcp"
    }
  }
}

遠端端點

https://votepredictor.com/api/mcpstreamable-http

它能做什麼

工具清單

工具(4)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢forecast_race(where, office)

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",
  "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": {
      "type": "string",
      "enum": [
        "SEN",
        "GOV",
        "HOUSE"
      ],
      "description": "Which office: SEN for U.S. Senate, GOV for governor, HOUSE for a U.S. House district."
    }
  },
  "required": [
    "where",
    "office"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "race_id": {
      "type": "string",
      "description": "Canonical id, {year}_{OFFICE}_{location}"
    },
    "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."
    },
    "office": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "State code, or district id for the House"
    },
    "state_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "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."
    },
    "rating": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Safe D / Likely D / Lean D / Toss-up / Lean R / Likely R / Safe R"
    },
    "pred_margin": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "description": "Predicted Dem-minus-Rep margin in points"
    },
    "source": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "polls",
            "fundamentals"
          ]
        },
        {
          "type": "null"
        }
      ],
      "description": "'polls' where a poll-driven forecast exists, otherwise 'fundamentals' (lean, incumbency, national environment)"
    },
    "n_polls": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "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"
    },
    "url": {
      "type": "string",
      "description": "Cite this"
    },
    "summary": {
      "type": "string",
      "description": "One-paragraph answer suitable for reading aloud"
    }
  },
  "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"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢chamber_outlook(chamber)

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",
  "properties": {
    "chamber": {
      "type": "string",
      "enum": [
        "senate",
        "house"
      ],
      "description": "Which chamber of Congress: 'senate' (51 seats for control) or 'house' (218)."
    }
  },
  "required": [
    "chamber"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "chamber": {
      "type": "string"
    },
    "p_dem_control": {
      "type": "number",
      "description": "Probability Democrats control the chamber"
    },
    "expected_dem_seats": {
      "type": "number"
    },
    "range_80pct": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "[p10, p90] seats in 80% of simulations"
    },
    "seats_needed": {
      "type": "number"
    },
    "as_of": {
      "type": "string"
    },
    "change_points_since": {
      "type": "number",
      "description": "Points moved since the first snapshot, positive toward Democrats"
    },
    "since_date": {
      "type": "string"
    },
    "seats_total": {
      "type": "number"
    },
    "seats_with_forecast": {
      "type": "number"
    },
    "seats_from_fundamentals": {
      "type": "number",
      "description": "Forecast without any poll, because none exists"
    },
    "seats_without_forecast": {
      "type": "number",
      "description": "Publishing nothing, because a candidate left the ballot"
    },
    "biggest_movers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "race_id": {
            "type": "string"
          },
          "delta_points": {
            "type": "number"
          },
          "toward": {
            "type": "string"
          }
        },
        "required": [
          "race_id",
          "delta_points",
          "toward"
        ],
        "additionalProperties": false
      }
    },
    "url": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    }
  },
  "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"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢forecaster_accuracy(office, limit)

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",
  "properties": {
    "office": {
      "default": "ALL",
      "description": "Restrict the board to one office, or ALL for every resolved race.",
      "type": "string",
      "enum": [
        "ALL",
        "PRES",
        "SEN",
        "GOV",
        "HOUSE"
      ]
    },
    "limit": {
      "default": 10,
      "description": "How many ranked entries to return, best first. Default 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "metric": {
      "type": "string"
    },
    "office": {
      "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."
    },
    "entries": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rank": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "score": {
            "type": "number"
          },
          "races_scored": {
            "type": "number"
          }
        },
        "required": [
          "rank",
          "name",
          "score",
          "races_scored"
        ],
        "additionalProperties": false
      }
    },
    "url": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    }
  },
  "required": [
    "metric",
    "office",
    "lower_is_better",
    "adjusted_for_difficulty",
    "entries",
    "url",
    "summary"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢member_profile(who)

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",
  "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."
    }
  },
  "required": [
    "who"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "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"
    },
    "bioguide_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "party": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "chamber": {
      "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."
    },
    "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"
    },
    "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."
    },
    "url": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    }
  },
  "required": [
    "found",
    "ambiguous_matches",
    "bioguide_id",
    "name",
    "party",
    "state",
    "chamber",
    "net_worth_year",
    "net_worth_range",
    "race_2026",
    "currently_serving",
    "url",
    "summary"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本4 個工具
已驗證未記錄版本4 個工具
已驗證未記錄版本4 個工具