Chamber control outlook
chamber_outlookWho 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 since the current model began (its latest revision).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "chamber_outlook"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chamber | No | Which chamber of Congress: 'senate' (51 seats for control) or 'house' (218). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| as_of | Yes | ||
| chamber | Yes | ||
| summary | Yes | ||
| since_date | Yes | ||
| range_80pct | Yes | [p10, p90] seats in 80% of simulations | |
| seats_total | Yes | ||
| seats_needed | Yes | ||
| p_dem_control | Yes | Probability Democrats control the chamber | |
| biggest_movers | Yes | ||
| expected_dem_seats | Yes | ||
| change_points_since | Yes | Change in the published control probability since since_date, in points, positive toward Democrats. since_date is the first day after the chamber's latest model revision; null when the current model has under two days on file. | |
| seats_with_forecast | Yes | ||
| seats_without_forecast | Yes | Publishing nothing (an independent challenger, or polls of a former nominee); each is counted for the party defending it | |
| seats_from_fundamentals | Yes | Forecast without any poll, because none exists |