Skip to main content
Glama

Election Index

When is the result final?

when_final
Read-only

When will a race's final (certified) result exist? Returns the expected window, its confidence (announced / precedent / estimate) and basis, how many days the final took last time, and the final count itself once we hold it. Use this before asking or settling any "final result" question.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
raceNoRace id, e.g. "president"; optional when the election has one race
electionYesElection id, e.g. "brazil-general-2026"; list ids with upcoming_elections

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
metaYesWhat this answer was built from; cite dataset_version
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedOutput schema / properties / result / properties / final_result / properties / electorate
      Added value: +{
      +  "description": "Registered voters",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / final_result / properties / rows / items / properties / colour
      Added value: +{
      +  "description": "Party colour (#RRGGBB, from Wikidata)",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / final_result / properties / rows / items / properties / party_id
      Added value: +{
      +  "description": "Wikidata QID of the party",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / final_result / properties / turnout
      Added value: +{
      +  "description": "Percent of registered voters who cast a ballot",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / last_time
      Added value: +{
      +  "description": "How long the final result took the last time this kind of race was held here",
      +  "properties": {
      +    "act": {
      +      "description": "What the final act was",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "days": {
      +      "description": "Days from polling day to the final act",
      +      "type": "integer"
      +    },
      +    "election": {
      +      "description": "That election, e.g. \"Bundestag 2025\"",
      +      "type": "string"
      +    },
      +    "final_on": {
      +      "description": "Day of its official final act",
      +      "type": "string"
      +    },
      +    "polling_day": {
      +      "description": "Its polling day",
      +      "type": "string"
      +    },
      +    "source": {
      +      "description": "Page showing the date",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "source_kind": {
      +      "description": "authority or press",
      +      "type": "string"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  2. Changed1 schema field changed
    • addedOutput schema / properties / result / properties / final_result
      Added value: +{
      +  "description": "The final count, when we hold it",
      +  "properties": {
      +    "licence": {
      +      "description": "Licence of the numbers",
      +      "type": "string"
      +    },
      +    "published_at": {
      +      "description": "When the publisher released it",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "publisher": {
      +      "description": "Who published the count",
      +      "type": "string"
      +    },
      +    "rows": {
      +      "items": {
      +        "properties": {
      +          "candidate": {
      +            "description": "Candidate or list",
      +            "type": "string"
      +          },
      +          "party": {
      +            "description": "Party, where recorded",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "seats": {
      +            "description": "Seats or electoral votes won",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "share": {
      +            "description": "Percent of total votes",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "votes": {
      +            "description": "Votes",
      +            "type": "integer"
      +          },
      +          "winner": {
      +            "description": "Most votes in this count",
      +            "type": "boolean"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "source": {
      +      "description": "File or page the numbers were copied from",
      +      "type": "string"
      +    },
      +    "stage": {
      +      "description": "Count stage of this version, e.g. final-result",
      +      "type": "string"
      +    },
      +    "total_votes": {
      +      "description": "Total votes cast in the race",
      +      "type": "integer"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  3. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuine behavioral context beyond that: the confidence taxonomy (announced / precedent / estimate), that a historical precedent duration is returned, and that the final count may not yet be held. It does not disclose rate limits or freshness caveats, but the added value is real.

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

Conciseness4/5

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

Two sentences, front-loaded with the core question and followed by the payload contents and usage directive; little waste. The output enumeration is dense but each item is informational, and the usage sentence earns its place.

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

Completeness5/5

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

An output schema exists, so return values need not be spelled out, yet the description still summarizes the payload (window, confidence, basis, prior duration, count). Combined with the readOnly annotation and the usage directive, an agent has everything needed to call it correctly.

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?

Schema description coverage is 100%, so the schema already documents both 'election' (with example id and a pointer to upcoming_elections) and 'race' (with example and the optionality rule). The description adds no parameter-level syntax or meaning, so the baseline of 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?

The description names a specific resource and outcome — the window in which a race's final/certified result will exist — with a clear verb framing ("When will ... exist?"). It is readily distinguishable from siblings like election_status or next_election because it is about forecasting the certification date, not reporting current state.

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

Usage Guidelines4/5

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

It gives explicit when-to-use guidance: "Use this before asking or settling any 'final result' question." That is clear context, but it names no alternative tool (e.g. election_status, resolution_sources) that an agent might otherwise reach for when a final result is already known.

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.

Resources