Skip to main content
Glama

VotePredictor Elections

Chamber control outlook

chamber_outlook
Read-onlyIdempotent

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chamberYesWhich chamber of Congress: 'senate' (51 seats for control) or 'house' (218).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
as_ofYes
chamberYes
summaryYes
since_dateYes
range_80pctYes[p10, p90] seats in 80% of simulations
seats_totalYes
seats_neededYes
p_dem_controlYesProbability Democrats control the chamber
biggest_moversYes
expected_dem_seatsYes
change_points_sinceYesPoints moved since the first snapshot, positive toward Democrats
seats_with_forecastYes
seats_without_forecastYesPublishing nothing, because a candidate left the ballot
seats_from_fundamentalsYesForecast without any poll, because none exists

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful context about what the outlook exposes (probability, seat range, movement, biggest movers), but it does not disclose data source, freshness, or any behavior beyond those outputs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One information-dense sentence with the main question front-loaded, followed by a compact colon-separated list of returned information. There is no filler or redundant restatement of the title or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only tool with an output schema and rich annotations, the description is nearly complete: it states the election cycle, the two chambers, and the output aspects. The only soft gap is the ambiguity of 'since January'—it does not specify January of which year—but this is minor given the 2026 context and existing structured metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes the chamber parameter with an enum and per-value thresholds (51/218). The description mentions Senate/House but adds no parameter syntax, constraints, or formatting details beyond what the schema already provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Although phrased as a question, the description names the exact decision (who is favoured to control each chamber after 2026) and the concrete outputs (control probability, expected seats with an 80% range, movement since January, most-moved races). This clearly distinguishes it from siblings like forecast_race and member_profile without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The domain is obvious—chamber-level control outlook for the 2026 elections—so an agent can infer when this tool applies. However, it does not explicitly state when to use this tool instead of forecast_race or forecaster_accuracy, and it gives no exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a clearly distinct resource: chamber-level control, an individual race, forecaster performance, and a member of Congress. The descriptions sharply differentiate aggregation level (chamber vs. single race) and subject (forecasters vs. legislators), so no two tools plausibly answer the same query.

Naming Consistency4/5

All four names are two-word snake_case compounds (chamber_outlook, forecaster_accuracy, forecast_race, member_profile), which is a consistent style. However, forecast_race inverts the entity_facet pattern used by the other three (race_forecast would match), creating a minor deviation.

Tool Count4/5

Four tools is slightly lean for an elections domain that could reasonably include race browsing or polling detail, but the scope is tightly focused and every tool earns its place. The count sits just under a fully-featured server while remaining well within a reasonable range.

Completeness4/5

Core workflows are covered: aggregate chamber outlook, per-race forecasts, forecaster credibility, and legislator context, with chamber_outlook even enabling race discovery via the 'moved most' list. Minor gaps exist—no race list/browse endpoint, no historical results, no poll-level detail—but agents can work around them without hitting dead ends.

Resources