polls.karbach.digital
Server Details
German elections and Bundestag data: forecasts, polls, constituencies, MPs, votes. Paid via x402.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 47 tools
Most tools target distinct datasets, but several clusters overlap heavily: get_constituency vs. get_constituency_dossier vs. get_constituency_race vs. get_constituency_results, and get_election vs. get_federal_trend vs. get_latest_polls vs. search_poll_archive. Descriptions help, but an agent can easily choose the wrong granularity or polling endpoint.
Nearly all names use consistent snake_case with predictable verb prefixes such as get_, list_, search_, find_, and compare_. Minor deviations are bare noun names like data_status and lobbying_ranking, but the overall convention remains readable.
At 47 tools, the surface is heavy for an agent to scan and select from reliably. Several related tools could be consolidated, especially the constituency and polling families.
The server covers a broad political-data domain: elections, polls, constituencies, Bundestag members, committees, speeches, votes, lobbying, EU countries, energy prices, and selected foreign elections. Minor gaps remain, such as consolidated party profiles or direct document/speech retrieval by ID, but core workflows are well covered.
Available Tools
47 toolscompare_eu_countriesBInspect
All 27 EU countries compared: unemployment, inflation, household electricity and gas prices, strongest list in the 2024 European election.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no indication of read-only nature (only implied), freshness of the data, response format, or what the final election clause actually refers to. For a zero-parameter aggregate tool this leaves real gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no padding, which is good. However, the closing phrase 'strongest list in the 2024 European election' is ambiguous and does not clearly earn its place, reading more like promotional copy than usable guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should carry the return-shape load; it partially does by listing the compared metrics, but it omits how results are structured, their ordering, or the meaning of the election clause. Adequate but with clear gaps for a zero-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to clarify and the schema-completeness baseline is trivially satisfied. No penalty applies, but there is also no added semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('compared') plus resource ('All 27 EU countries') and enumerates the compared dimensions (unemployment, inflation, electricity and gas prices). That is enough to distinguish it from single-country siblings like get_eu_country, though it never names the contrast explicitly and the trailing 'strongest list in the 2024 European election' clause muddies what is actually returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use instruction and no alternatives are named, even though siblings such as get_eu_country and get_europe_energy_prices overlap heavily in subject matter. The agent must infer that this is the multi-country aggregate view rather than being told.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_statusBInspect
Free: freshness and plausibility of every dataset.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that the tool is free and that it assesses freshness and plausibility across every dataset, but does not confirm read-only status, permissions, or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. It is appropriately sized for a zero-arg tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is minimal. It says what the tool covers but not what is returned or how to interpret 'plausibility', leaving a gap for an agent unfamiliar with the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there are no parameters for the description to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States that the tool reports freshness and plausibility of datasets, which is more specific than the name alone, but lacks a concrete verb and leaves 'plausibility' undefined. It distinguishes from domain data siblings by being a meta-status check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus alternatives, or what prerequisites exist. The 'Free:' prefix implies no cost but is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_constituency_by_postcodeCInspect
Which Bundestag constituency a German postcode belongs to.
| Name | Required | Description | Default |
|---|---|---|---|
| postcode | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not state that this is a read-only lookup, what happens for an invalid or foreign postcode, or — critically in Germany — whether a postcode can map to more than one constituency and how ties are resolved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short clause with zero filler, and the key qualifier ('German postcode') is present immediately. It is a fragment rather than a sentence, which is acceptable at this size.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with no output schema, the description should at least indicate what is returned (single constituency vs. list) and how ambiguous postcodes behave. Those gaps are modest but real, so this is only minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It adds that the postcode is German, which is meaningful context beyond the bare 'Postcode' string property, but it gives no format or validation detail (length, leading zeros, numeric-only).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Bundestag constituency) and a specific input (German postcode) and states the mapping performed, so an agent can tell it apart from siblings like get_constituency or get_constituency_dossier. It is phrased as a noun clause rather than a verb, but the semantics are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this lookup versus get_constituency, get_constituency_race, or get_constituency_results. The only implied usage is 'you have a postcode', which the schema already conveys.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_attentionBInspect
Attention from Wikipedia page views per day: German parties and the leading candidates of the next elections (Bundestag, Saarland, Schleswig-Holstein, North Rhine-Westphalia, Spain, France). Not a forecast.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| group | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose the data source (Wikipedia page views), the granularity (per day), and a meaningful limitation ('Not a forecast'). However, it says nothing about return shape, latency, or how the dataset is scoped, leaving real behavioral gaps for a data-fetch tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence naming the data source first, followed by scope and caveat. No wasted text, though the dense parenthetical list of regions is slightly heavy for one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description gives adequate domain context (source, unit, scope) but omits parameter semantics and return behavior. It is partially complete for a two-parameter data tool but leaves key calling information missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, yet it never mentions either parameter. 'days' and 'group' are left entirely unexplained, forcing the agent to guess what 'group' selects and how the default 90-day window behaves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and unit (Wikipedia page views per day) for a defined set of entities (German parties, leading candidates in named elections). It distinguishes itself from forecast/poll siblings via the explicit 'Not a forecast' clause, though the scope is broad enough to leave the exact subject set slightly fuzzy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the caveat 'Not a forecast', which implicitly steers away from predictive use, but no sibling is named as an alternative and no when-to-use condition is stated. An agent must infer whether to prefer get_latest_polls, get_federal_trend, or this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_briefingAInspect
Today's political situation in Germany in a few paragraphs (German), based on the model. Optional date YYYY-MM-DD for a past day.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full load. It does disclose useful traits the schema cannot: output is German prose of a few paragraphs and is synthesized by the model (rather than retrieved data), and past dates are supported. It omits cadence/refresh, caching, and any indication of reliability or coverage limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with what the tool returns before the optional parameter detail. No filler or redundant restatement of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema tool this is largely sufficient: purpose, output language, output size, and parameter format are all covered. Minor gaps remain around what the briefing actually contains and freshness guarantees, but nothing blocks correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% – the `date` parameter has only a type and null default. The description compensates by giving the exact format (YYYY-MM-DD), stating it is optional, and specifying it selects a past day, which is more than the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Today's political situation in Germany in a few paragraphs'), and notes the output language and that it is model-generated. This clearly distinguishes it from data-lookup siblings like get_latest_polls or get_member, though it does not name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is implicit: 'Optional date YYYY-MM-DD for a past day' tells the agent it can retrieve historical briefings. There is no when-to-use framing, no statement of when a sibling tool is preferable, and no note on freshness or whether future dates are valid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_committeesAInspect
All Bundestag committees with official name, chair and members (role, group).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose what the response contains (official name, chair, members with role and group), which is useful behavioral context for a parameterless read tool, but it says nothing about permissions, pagination, completeness guarantees, or whether results are cached/current.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The resource is named first and the return fields follow, so nothing needs to be skimmed past.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is the only source of return-shape information, and it does enumerate the key fields. For a zero-parameter listing tool this is nearly sufficient; only the absence of any scoping/freshness note keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema defines zero parameters, so there is nothing to document and the baseline of 4 applies. The description appropriately adds no parameter guidance, and the parenthetical '(role, group)' clarifies nested member fields rather than inventing args.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (Bundestag committees) and enumerates the returned fields (official name, chair, members with role and group), so an agent can distinguish it from siblings like get_member or list_members. The retrieval verb is only implied by 'All ... committees', which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, nor any prerequisites or exclusions. Sibling tools such as get_member or get_governments are not referenced, so routing must be inferred from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_constituencyCInspect
One Bundestag constituency (1 to 299): 2025 result, 2029 scenario, members, structure data.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about authentication, rate limits, caching, or response shape. It does disclose what categories of data come back, which is the one behavioral hint present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the resource and followed by an itemized payload list; no filler. Slightly dense with comma-separated fields, but every clause conveys information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must carry everything; it does list the returned data categories, but omits error behavior, output format, and how to obtain a valid constituency number (a sibling, find_constituency_by_postcode, exists for exactly that). Adequate but with clear gaps for a lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the schema gives only a bare integer named 'number' with no description, bounds, or format. The description partly compensates by stating the valid range (1 to 299), which is genuine added meaning, but it leaves open what happens for out-of-range values and how the number relates to a district.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (one Bundestag constituency) and enumerates its payload (2025 result, 2029 scenario, members, structure data), so an agent knows it returns an aggregate profile for a single district. It does not, however, differentiate itself from close siblings like get_constituency_results, get_constituency_race, or get_constituency_dossier, whose names suggest overlapping content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, and no mention of the apparent alternative routes (e.g. find_constituency_by_postcode for discovering the number, or the more specific constituency tools). The only usage-adjacent information is the implicit 1-299 domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_constituency_dossierBInspect
Everything on one Bundestag constituency in one call: structure data, postcodes, results since 2013, 2029 forecast, direct-mandate chances, its members (committees, speeches, votes), state government and next state election.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the burden. It usefully discloses the breadth of the aggregated payload, which sets expectations for a large multi-domain response. However, it says nothing about read-only safety, cost, rate limits, or pagination for what is clearly a heavy aggregation call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence leading with 'Everything on one Bundestag constituency in one call', then enumerating contents. Dense but every clause maps to a real returned domain, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a broad aggregation tool with no annotations and no output schema, the content enumeration is the right instinct and mostly sufficient to set payload expectations. It falls short on parameter format and on routing the agent between this and the narrower constituency siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter ('number') with 0% schema description coverage, so the description must compensate. 'One Bundestag constituency' plus the self-describing name 'number' conveys that it is the constituency number, but no format or range (e.g. Wahlkreisnummer bounds) is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('get') and resource ('one Bundestag constituency') and enumerates the payload domains (structure, postcodes, results, forecast, members). The phrase 'everything... in one call' implicitly contrasts it with the leaner get_constituency/get_constituency_results siblings, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'everything... in one call' — the agent can infer this is the comprehensive option versus the narrower constituency siblings — but there is no explicit when-to-use/when-not guidance or named alternative for a partial lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_constituency_raceBInspect
Who wins the direct mandate in a constituency: win probability per party, margin, rating.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full burden, and it does disclose the shape of the result (probability per party, margin, rating). However it omits whether the numbers are forecasts vs actuals, data freshness, and any error behavior for an unknown constituency — meaningful gaps for a prediction tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight, front-loaded clause with no filler — the outcome ('who wins') leads and the payload follows. It is a sentence fragment rather than a full sentence, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Reasonable for a single-parameter lookup whose output fields are named, but with no annotations, no output schema, and a completely undocumented parameter, an agent still lacks the identifier semantics and the forecast-vs-result distinction needed to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter 'number' is undocumented in both schema and description. The description never says that 'number' is the constituency identifier, its numbering scheme, or its format, so the agent must guess the key input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and question ('Who wins the direct mandate in a constituency') and enumerates the payload (win probability per party, margin, rating). It is distinguishable from get_constituency_results by the predictive framing, but it never explicitly contrasts itself with get_constituency, get_constituency_dossier, or get_constituency_results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives. An agent cannot tell from the description whether this is a forecast, a live projection, or a historical record, nor when to prefer it over get_constituency_results or get_constituency_dossier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_constituency_resultsCInspect
Official Bundestag results of a constituency 2013 to 2025 (first and second vote, turnout).
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the data scope (years and vote types) but says nothing about read-only nature, rate limits, response structure, or whether results are historical snapshots versus live data (compare get_live_results). For a parameterized lookup with zero annotation coverage, this is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the resource and lists the key data dimensions without filler. Efficient, though the brevity partly reflects under-specification rather than tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an undocumented required parameter, the description should do more work. It establishes subject matter but leaves the agent unable to confidently supply the 'number' argument or distinguish this tool's result set from get_constituency or get_live_results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter is merely titled 'number'. The description never explains that this is a constituency number, its format, or its valid range, so the agent gets no help resolving a critical ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (official Bundestag constituency results) plus the data scope (first and second vote, turnout, 2013-2025), so an agent knows what it returns. It only weakly differentiates from siblings like get_constituency or get_constituency_race, which likely return related constituency data, but the 'results' framing is reasonably distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated prerequisites, and no mention of alternatives such as get_constituency_race or get_live_results, which are plausible siblings for the same domain. The agent must infer role from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_electionBInspect
One German election: vote share median, 95 percent band, seats, arithmetic majorities, data quality.
| Name | Required | Description | Default |
|---|---|---|---|
| election_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the returned content (medians, uncertainty bands, seats, majorities, a data-quality indicator), but says nothing about read-only nature, required ID format, behavior on unknown IDs, or whether results are live versus archived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single telegraphic sentence with zero padding, front-loading the scope ('One German election') before the payload fields. It is a noun phrase rather than a sentence, which is terse but still readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter lookup with no annotations and no output schema, listing the returned metrics covers a good share of what an agent needs. However, the missing ID format and the absence of any error or availability behavior leave real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter election_id has no title-level explanation. The description implies an identifier selects one election but never gives its form or an example, leaving the only parameter effectively undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'One German election' states the resource and scope, and the enumerated fields (vote share median, 95 percent band, seats, majorities, data quality) make clear this returns a single election's aggregated result. It implicitly contrasts with list_elections, but does not explicitly distinguish itself from get_election_statistics or get_live_results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus siblings such as list_elections, get_election_statistics, or get_live_results. The only usage signal is the singular 'One ... election', which the agent must infer means it requires a known election_id rather than a filter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_election_statisticsCInspect
Federal election statistics: postal-vote, ticket-splitting, age-groups or turnout.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not state that this is a read-only lookup, whether any permissions or rate limits apply, or what form the returned statistics take; it only implies a read via the verb 'statistics'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler: resource first, then the available breakdowns. It is terse without being padded, though the terseness contributes to the gaps elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations and a 0%-documented parameter, the description should explain the return shape and the accepted 'kind' values. It provides only a topic list, leaving an agent guessing at invocation format and response contents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter 'kind' has no enum and no description. The four listed topics (postal-vote, ticket-splitting, age-groups, turnout) appear to be the accepted values, partially compensating, but the description never explicitly ties them to 'kind' or states whether the parameter takes one value or many.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('Federal election statistics') and enumerates four sub-topics, which is more informative than a bare tautology. However, it never clarifies the relationship to close siblings such as get_election, get_federal_trend, get_latest_polls or get_constituency_results, so an agent cannot confidently distinguish this tool from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternative is named despite a crowded sibling set covering elections, polls and trends. The agent must infer selection from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eu_countryBInspect
One EU country: head of government and state, coalition, national parliament seats by party with governing parties, next national election, European election 2024 results, unemployment, inflation, energy prices.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does disclose the breadth of returned data, which is genuinely useful since there is no output schema, but it says nothing about read-only nature, valid country identifier format, error behavior for non-EU or unknown countries, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with zero filler; the scope ('One EU country') is front-loaded before the content enumeration. It is a long comma list, but every item is informative rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description appropriately enumerates returned fields, which is the right move. However, it omits the country-identifier format and any failure modes, leaving real gaps for an agent that must construct the call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% — the single 'country' parameter has only a title and no description. The phrase 'One EU country' implies the parameter selects a country but gives no format (ISO code vs. name vs. slug), so the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name supplies the verb+resource ('get' an 'EU country') and the description enumerates exactly what that resource contains (head of state/government, coalition, parliament seats, elections, economic indicators). It is clearly a single-country profile tool, distinguishable from the plural sibling compare_eu_countries, though the description itself never states the purpose in a sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives. The most obvious alternative, compare_eu_countries, is never mentioned, nor is any condition (e.g. 'use for one country, use compare for multiple'). Usage must be inferred entirely from the field list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_european_parliamentAInspect
European Parliament 2024: seats per political group, EU-wide and per country (official results).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully states the dataset is 2024 and 'official results', implying a static reference dataset rather than live updates, but it says nothing about return shape, freshness, or whether the data is cached/snapshot.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the resource and immediately qualifies scope (year, breakdown granularity, official source). No filler whatsoever.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-annotation, no-output-schema dataset tool, the description does the essential job of describing the payload contents (seats per group, EU-wide and per country). Only the absence of any sibling routing or freshness note keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There is no parameter meaning the description needs to compensate for, and the description correctly frames the call as a parameterless lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (European Parliament 2024 seat distribution by political group, EU-wide and per country) with the scope qualifier '(official results)'. An agent can distinguish it from generic siblings like get_election or get_election_statistics, though the description never names those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no reference to any alternative tool. With many overlapping siblings (get_election, get_election_statistics, get_latest_polls), the agent must guess whether this or get_election_statistics is the right call for EP seat data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_europe_energy_pricesBInspect
Household electricity and gas prices in all EU countries (Eurostat), ranked, with change to the previous half-year.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It does disclose two behavioral traits beyond the schema: results are ranked, and each entry includes a change versus the previous half-year. It does not state read-only nature, data currency, units, or whether all countries are always returned, so the disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the resource and scope, then the source and output characteristics. No filler and nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must carry return-value context; it names the ranking and the half-year change but omits currency, reference period, and result format. Adequate for a zero-param lookup, but not fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema has nothing to document and the baseline of 4 applies. The description adds no parameter guidance, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete resource (household electricity and gas prices), scope (all EU countries), source (Eurostat), and output shape (ranked, with change vs previous half-year). It implicitly separates itself from the Germany-specific sibling get_germany_electricity, though the verb is omitted and the distinction is never made explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as get_germany_electricity or compare_eu_countries. The agent must infer that this is the general EU-wide energy price lookup purely from the resource wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_federal_historyCInspect
Weekly federal polling average, up to 24 months.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it only discloses granularity (weekly) and a range bound (24 months). It says nothing about return format (time series vs. snapshot), data source/freshness, or what happens when months exceeds 24.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single eight-word sentence with no filler, and the resource is front-loaded. It is efficient, though arguably too sparse to be fully useful rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 0% parameter coverage, the description is the only documentation and it omits return shape, data source, and freshness. For a history/trend endpoint whose whole value is temporal data, this leaves an agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter 'months' has only a default of 12 documented. The description's 'up to 24 months' directly clarifies the parameter's maximum, adding real value the schema lacks, but it does not state the unit semantics (rolling window? calendar months?) or behavior at the boundary.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (federal polling average) and its cadence/scope (weekly, up to 24 months), which is clear. However it does not distinguish itself from close siblings like get_federal_trend, get_latest_polls, or search_poll_archive, so an agent must infer the boundary from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives, despite several plausible candidates in the sibling list (get_federal_trend, get_latest_polls, search_poll_archive). The 24-month cap is the only implicit scoping hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_federal_trendAInspect
Federal polling average today per party with 95 percent band (Bundestag).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the substance of the response (per-party average plus a 95% confidence band) and that the figure is 'today', but says nothing about freshness/caching, rate limits, or how the band is computed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the resource and the scope. No filler, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument read tool with no output schema, the description adequately conveys what comes back (per-party average with a 95% band) and the legislative context. Minor gaps remain around return format (units, party list) that a richer description could cover.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so per the baseline a 4 applies. Nothing in the description adds or detracts from parameter meaning because there are no parameters to describe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (federal polling average) with scope (today, per party, 95% band, Bundestag), so an agent can distinguish it from get_federal_history and get_latest_polls by the 'today' snapshot framing. It stops short of explicitly contrasting itself with those siblings, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and names no alternatives. An agent must infer that this is the current-snapshot counterpart to get_federal_history or get_latest_polls, which is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_france_presidential_2027AInspect
French presidential election 2027, first round: poll average, 95 percent band and runoff chance per candidate, most likely runoff pairs, recent campaign events.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the tool takes zero parameters and is clearly a read-only aggregation endpoint, so risk is low. The description discloses the shape of the returned content, which is genuinely useful given there is no output schema, but it omits data freshness, polling sources, and update cadence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the resource first and then lists the returned data points with no filler. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of enumerating return contents, which is the key thing an agent needs. It falls short only on provenance and freshness details for a live-polling endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to disambiguate. Baseline of 4 applies since no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (French presidential election 2027, first round) and enumerates exactly what is returned: poll average, 95% band, runoff chance, likely runoff pairs, and campaign events. The 'first round' scope implicitly separates it from get_france_runoff_2027, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use statement, but the 'first round' scoping implicitly routes an agent away from get_france_runoff_2027 and away from raw poll listings like list_france_polls_2027. Usage is implied by scope rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_france_runoff_2027AInspect
French presidential election 2027, runoff: head-to-head poll average and win probability per tested pair.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the shape of the content (poll averages and win probabilities, broken down per tested pair), which tells the agent this is a read-only aggregated data lookup, but it says nothing about data freshness, coverage, or whether the figures are model-derived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the domain, the round, and the two returned metrics. Every clause earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of return-value information, and it does specify the two metrics and the per-pair granularity. It could say more about recency or sourcing, but for a zero-input lookup it is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate. The description correctly implies the tool is self-contained with no filtering input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-implied resource: runoff head-to-head poll averages and win probabilities for the 2027 French presidential election. The word 'runoff' distinguishes it from the first-round sibling get_france_presidential_2027, but the description never names or contrasts that sibling, so differentiation is inferential rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives such as get_france_presidential_2027 or list_france_polls_2027. An agent must guess from the resource name alone when this tool is the right one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fuel_pricesCInspect
Petrol (Euro-super 95) and diesel prices in all EU countries per week (EU Weekly Oil Bulletin), with and without taxes, EU average, Germany versus EU, rank, weekly series.
| Name | Required | Description | Default |
|---|---|---|---|
| weeks | No | ||
| countries | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses nothing about behavior: no auth or licensing note for the EU Weekly Oil Bulletin source, no statement of what the default 52-week window means, no return shape or units (EUR/litre?), and no caching or rate-limit context. It only describes the subject matter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with no filler, front-loading the resource and source. The comma-separated fragment list ('rank, weekly series') is slightly breathless but every clause carries scope information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and undocumented parameters, the description partially compensates by enumerating the data fields returned (tax-inclusive vs exclusive, EU average, rank). However it says nothing about parameter behavior, response structure, or units, so an agent cannot call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither of the two parameters (weeks, countries) is explained. The phrases 'all EU countries' and 'per week' faintly imply the parameters exist, but there is no indication of how to format country codes, whether null means all countries, or what the weeks window controls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (petrol Euro-super 95 and diesel prices), its scope (all EU countries), cadence (per week, EU Weekly Oil Bulletin), and content dimensions (with/without taxes, EU average, Germany vs EU, rank, weekly series). It is a content enumeration rather than a verb-led statement, and it does not distinguish itself from the overlapping sibling get_europe_energy_prices or get_gas_storage, which keeps it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternative is named. Given siblings such as get_europe_energy_prices, get_gas_storage, and compare_eu_countries that plausibly overlap, the agent is left to guess which tool answers a fuel-price question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gas_storageBInspect
Gas storage in the EU and every EU country with storage (GIE AGSI+): fill level, stored TWh, injection and withdrawal, change in 7 days, versus last year and the five-year average, daily series.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| country | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose what the payload contains (daily series of fill level, TWh, flows, and multi-horizon comparisons), which is genuinely useful given there is no output schema. It says nothing about authentication, update frequency, or read-only behavior, so the disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the resource and source before the metric list. Every clause carries information; the only cost is that the long comma list makes it slightly hard to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read tool with no output schema and no annotations, the description covers return content well but leaves key gaps: parameter semantics, the default EU-wide scope, and any indication of data freshness or rate limits. Adequate but not sufficient on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain both `days` and `country`. 'EU and every EU country with storage' weakly implies the country parameter defaults to EU-wide, and 'daily series' hints at the time dimension, but the meaning, defaults, and units of `days` are never addressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (EU gas storage), its source (GIE AGSI+), and enumerates the exact metrics returned: fill level, stored TWh, injection/withdrawal, 7-day change, year-on-year and five-year-average comparisons. It is clearly a data-retrieval tool, though it never explicitly contrasts itself with siblings like get_europe_energy_prices or get_lng_terminals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no stated when-to-use guidance, no prerequisites, and no named alternative. The scope phrase 'EU and every EU country with storage' hints at coverage but does not tell an agent when this tool beats the energy-prices or LNG siblings. Usage must be entirely inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_german_stateBInspect
One German state (Land): parliament seats by group with majority and governing groups, cabinet with portfolios, 13 official statistics with German value and rank, next state election with our forecast.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose the content shape generously, including that the election data is 'our forecast' rather than raw results. However, it says nothing about read-only status, permissions, rate limits, or whether the state identifier is mutable/canonical, so coverage is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense sentence that front-loads the subject and then lists payload components in a scannable order (parliament, cabinet, statistics, election). No filler sentences, though the comma-list style is packed to the point of being slightly run-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex, no-output-schema tool, the description usefully enumerates what comes back, which is the right thing to spend words on. The omission is the input side: with 0% schema coverage on the required 'state' argument, the agent lacks guidance on accepted values. Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'state' parameter, so the description must compensate. It only hints at the value by glossing the resource as 'German state (Land)'; it never gives an expected format, an example, or whether names, codes, or slugs are accepted. That is a meaningful gap for the one input the agent must supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('One German state (Land)') and enumerates the exact payload: parliament seats by group, cabinet portfolios, 13 statistics, next election forecast. This is far more concrete than a generic fetch, and the content domain is distinct from siblings like get_eu_country or get_germany_electricity, though it never names those siblings explicitly to sharpen the contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this over alternatives, no prerequisites, and no exclusions. The sibling set contains several geographically adjacent tools (get_eu_country, get_germany_electricity, get_federal_history) and nothing routes the agent between them. Usage is only implied by the content description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_germany_electricityCInspect
German electricity per day: generation by source, renewable share, consumption, wholesale price (incl. next day).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the entire behavioral burden. It lists the data categories returned and notes the wholesale price includes next-day figures, but says nothing about data source/freshness, update cadence, permissions, or pagination behavior. For an annotation-free read tool this is only partial disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that packs the country, granularity, and returned field set with no filler. The colon-plus-list structure makes the coverage scannable, though it is dense and could not tolerate trimming.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an undocumented parameter, the description usefully enumerates the returned data categories, which partially compensates. However, it omits the lookback default and any data-freshness caveat, leaving gaps an agent would need to guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter ('days', default 30) has 0% schema description coverage. The description's 'per day' phrase hints at daily granularity but never explains that 'days' is a lookback window or what its default is, so the parameter is effectively undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource and scope ('German electricity per day') and enumerates what the payload covers: generation by source, renewable share, consumption, wholesale price. An agent can distinguish this from get_europe_energy_prices or compare_eu_countries by the country and field scope, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated prerequisites, and no indication of how this differs from the energy-price siblings. The closest thing to guidance is the implicit 'Germany + daily granularity' framing, which the agent must infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_governmentsBInspect
Who governs federally and in each of the 16 states: coalition, head of government, since when.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It describes the returned data but does not explicitly state that the tool is read-only, has no side effects, or has any auth/rate-limit constraints, leaving key behavioral context absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently names the resource, scope, and returned fields with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter lookup, the description covers the resource scope and the fields returned, which is largely sufficient. It does not explain the output structure or when to prefer it over related tools, but those gaps are minor given the tool's low complexity and lack of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics for the description to clarify. Per the rubric, a zero-parameter tool has a baseline of 4 when the schema is fully covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear resource and scope: current governments at the federal level and in all 16 states, with named attributes (coalition, head of government, since when). It is specific enough to distinguish this from historical tools like get_federal_history, but it does not explicitly name or contrast with any sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any stated prerequisites or exclusions. The scope is implied by the purpose, but the description provides no explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_institutesBInspect
Polling institutes: accuracy of final polls in past elections and average bias per party.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose what the payload conceptually contains (accuracy of final polls, average bias per party), which is more than a bare restatement. However it says nothing about historical coverage, which institutes are included, refresh cadence, or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the resource and then the value it provides. It is a noun phrase rather than a verb-led sentence, which slightly weakens the front-loading, but there is no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must convey the return value, and it does so only at a high level. Missing details about scope (all institutes vs. a subset), time range, and result structure leave an agent able to select the tool but unsure what it will actually receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is no parameter semantics for the description to clarify and no schema gap to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (polling institutes) and states the data dimensions returned: final-poll accuracy in past elections and average bias per party. It is clearly distinguishable from most siblings such as get_latest_polls or search_poll_archive, though it doesn't explicitly contrast with the plausibly overlapping get_track_record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, and no sibling is named as an alternative despite get_track_record and get_latest_polls sitting in adjacent territory. Usage can only be inferred from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_pollsBInspect
Latest federal polls (Sonntagsfrage), party names normalised.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose one behavioral trait beyond the name — party names are normalised — and 'latest' implies freshness, but it says nothing about how current the data is, how many polls are returned, or how the limit interacts with the result set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight, front-loaded sentence with no filler. It is a noun fragment rather than a full statement of purpose, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only query tool this covers the subject matter, but leaves open what a 'latest' window means and how it relates to the archive sibling. With no annotations and no output schema, a little more behavioral framing would have closed the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'limit' parameter (default 20) is not mentioned in the description at all. The parameter name is largely self-explanatory, but the description adds no meaning about what limit counts or what happens by default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (latest federal polls / Sonntagsfrage) and adds a data trait (normalised party names), so an agent knows what it returns. It does not explicitly distinguish itself from the closest sibling, search_poll_archive, so it falls short of the top tier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'latest' hints at the current-snapshot use case versus search_poll_archive, but the description never states when to use this tool instead of the archive search or whether they overlap. No prerequisites, no exclusions, no explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_live_resultsBInspect
Election night: counted share, turnout, results so far and deviation from the forecast.
| Name | Required | Description | Default |
|---|---|---|---|
| election_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does add one real behavioral trait beyond the name — that results are volatile and partial ('results so far') and that output is framed as a deviation from the forecast. It says nothing about update cadence, availability outside election night, or what happens for a non-live election id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the scoping cue ('Election night') front-loaded and the returned measures enumerated tersely. No wasted words, though the fragment style carries no supporting detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only guidance an agent has, and it omits the sole parameter's semantics, error behavior, and update/freshness expectations. It describes what comes back but not enough to invoke the tool correctly or know when it will return nothing useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter, election_id, with 0% schema description coverage, so the description must compensate and does not. It never mentions the id, its expected form, or whether it must reference a currently live election, leaving the only input entirely undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource and its scope precisely: live election-night figures — counted share, turnout, running results, and deviation from forecast. 'Election night' clearly separates it from aggregate siblings like get_election_statistics and get_latest_polls, though it never names an alternative explicitly and is a noun phrase rather than a verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Election night:' prefix implies the temporal window in which this tool is appropriate, which is genuine (if implicit) usage guidance. It gives no exclusions, no preconditions, and no routing to alternatives such as get_election_statistics or get_constituency_results for non-live queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lng_terminalsCInspect
LNG terminals (GIE ALSI): send-out, tank inventory and utilisation for the EU, each country and every German terminal (Wilhelmshaven, Brunsbüttel, Mukran), versus last year, daily series.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses data provenance (GIE ALSI), coverage, and daily granularity, but says nothing about return format, result size, pagination, or how the 'days' window affects output. Operational behavior is essentially undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the resource and scope, with no filler. The nested parentheticals make it slightly hard to parse but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and one undocumented parameter, the description does convey what data is available (metrics, coverage, comparison), which partially substitutes for a missing output schema. However, it leaves the parameter meaning and result characteristics unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'days' has 0% schema coverage and is never mentioned in the description. 'Daily series' hints at time granularity but does not explain that 'days' sets the lookback window or its default of 90. The description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (LNG terminals via GIE ALSI) and enumerates the metrics returned (send-out, tank inventory, utilisation), scope (EU, country, German terminals), and comparison basis (vs last year). It is clear, but it does not differentiate itself from plausible siblings like get_gas_storage or get_europe_energy_prices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no exclusions. The agent gets a content summary but nothing that helps it decide between this tool and get_gas_storage or other energy tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lobby_register_entryBInspect
One entry of the German lobby register by register number (e.g. R001234).
| Name | Required | Description | Default |
|---|---|---|---|
| register_number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and largely fails to: it does not state what happens with an invalid or unknown register number, whether an entry can be missing, what permissions are needed, or what the returned entry contains. It only discloses, via 'One entry', that the result is a single object rather than a list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-formed sentence with the resource and the key identifier front-loaded and no filler. Nothing needs to be trimmed and the critical information comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter lookup with no output schema, the description covers the essential contract (what is returned and what key is needed), but leaves gaps around error behavior for bad register numbers and what fields the entry exposes. Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partially does by identifying the parameter as a register number and giving a concrete format example ('e.g. R001234'). It adds no information about validation rules, case sensitivity, or whether the 'R' prefix is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('get'), a specific resource ('lobby register entry'), and scopes it to the German lobby register, so the agent knows exactly what is retrieved. It does not explicitly differentiate itself from the sibling search_lobby_register, but the singular 'one entry ... by register number' implicitly distinguishes it from a search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the example register number ('e.g. R001234') signals that the caller must already hold a valid register number, which in turn implies search_lobby_register should be used first when the number is unknown. No when-to-use or when-not-to-use guidance is stated, and no alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_memberCInspect
One member of the Bundestag: profile, committees, documents, latest speeches, roll-call record.
| Name | Required | Description | Default |
|---|---|---|---|
| member | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses only the content bundle. It says nothing about whether the lookup is read-only (implied but undeclared), what happens when the member is not found, how large the response is, or whether the embedded speeches/roll-call data is truncated to 'latest' only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence listing the resource and its contents, front-loaded with the entity. It is efficient, though the fragmentary noun-phrase form leaves the agent to supply the implied verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description must cover both lookup semantics and return shape. It does a decent job on the return shape but leaves the identifier format and the 'latest' cutoff undefined, which is a significant gap for a keyed retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'member' parameter has no type detail beyond string. The description never says whether it takes a name, an ID, or a slug, nor how to resolve a member from a search — a real risk of failed calls for a one-parameter lookup tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (a Bundestag member) and enumerates the payload it returns (profile, committees, documents, speeches, roll-call). It is a noun phrase rather than a verb+resource, and it does not explicitly contrast with get_member_votes or list_members, but the aggregate framing implies this is the all-in-one lookup versus the narrow siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus list_members, get_member_votes, get_member_side_income, or search_speeches, despite heavy overlap with the latter three. The agent must infer that 'latest speeches' and 'roll-call record' are embedded summaries rather than the dedicated tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_member_side_incomeBInspect
Side jobs and side income of one member of the Bundestag (published brackets, organisations, categories).
| Name | Required | Description | Default |
|---|---|---|---|
| member | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the shape of the returned data (published brackets, organisations, categories). However it omits any indication of read-only nature, permissions, or formatting, so the coverage is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words; the resource is stated immediately with the scoping detail in parentheses. Efficient, though slightly terse given the missing parameter detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with no output schema and no annotations, the description gives a reasonable content overview but leaves gaps on parameter format and behavioral details. Adequate but not fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required 'member' parameter, and the description does not clarify whether it expects a name, ID, or other identifier. It adds only that the target is 'one member of the Bundestag', which is minimal compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource: retrieves side jobs and side income for a single Bundestag member. The phrase 'one member' cleanly distinguishes it from the list_side_income sibling, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or reference to alternatives like list_side_income for the all-members case. The single-member scope is only implied by 'one member', leaving usage inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_member_votesCInspect
Roll-call votes of one member with title, date and whether against the party line.
| Name | Required | Description | Default |
|---|---|---|---|
| member | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the returned fields, but says nothing about permissions, pagination, result ordering or volume for what is typically a long historical roll-call record, and the read-only safety profile is only implied by the 'get_' prefix.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with no filler, and the subject of the lookup is front-loaded. Nothing padding is present, though the sentence is a fragment without a verb, which slightly weakens readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must carry everything. It does cover the shape of the returned row (title, date, party-line flag), which is genuinely useful, but leaves the member identifier format, pagination and result volume unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'member' parameter is completely undocumented. The phrase 'of one member' confirms the parameter identifies a member, but gives no format guidance (ID vs name vs slug), which is the exact ambiguity an agent would need resolved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource (roll-call votes of one member) and even names the payload fields (title, date, party-line deviation), which separates it from the fleet-wide list_roll_call_votes and from get_member. It stops short of explicitly naming those siblings, so it is clear but not fully self-differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of list_roll_call_votes as the alternative for all members, and no stated preconditions. The only hint of usage is the phrase 'of one member', which the agent must infer means 'use only when you have a single member in hand'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_spain_general_2026AInspect
Spanish general election 29 Nov 2026: seat forecast per list (median and 90 percent range), poll average, majority chances (PP+Vox, Sanchez bloc, PP alone), strongest list. Unavailable during the legal blackout 24 to 29 Nov 2026 (art. 69.7 LOREG).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose a real access limitation (blackout unavailability with a legal citation) that an agent could not infer otherwise. It still omits confirmation that it is a read-only forecast tool and any indication of freshness or return format, so it only partly fills the annotation gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what is returned and followed by the availability constraint. Every clause adds distinct information and nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no annotations and no output schema, the description covers both the returned data points and a key operational constraint (blackout window). It does not describe the shape of the response, but the enumerated metrics largely compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. The description usefully spends its text on output content instead of inventing parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (Spanish general election 29 Nov 2026) and enumerates the exact outputs: seat forecast per list with median and 90% range, poll average, majority chances for three blocs, and strongest list. This clearly distinguishes it from siblings like get_spain_provinces_2026 (provincial breakdown) and get_latest_polls (raw polls).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit when-not-to-use condition: the legal blackout 24–29 Nov 2026 under art. 69.7 LOREG, which is genuinely useful. However, it never states when to prefer this over siblings such as get_spain_provinces_2026 or get_election, so routing to alternatives is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_spain_provinces_2026BInspect
Spanish general election 2026, all 52 constituencies: seats, median seats per list, modelled vote share, how many seats are in play, the order in which seats are allocated and who wins the last seat or is first left out.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden, and it does disclose the returned content (seats, median seats per list, modelled vote share, seats in play, allocation order, last-seat winner). It says nothing about data recency, whether 'modelled vote share' is an estimate with a methodology caveat, or any access constraints, so operational behavior remains opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded noun phrase that identifies the dataset before listing contents, with no filler. The comma-separated list of five-plus payload dimensions in one sentence is dense and would read better structured, but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter fetch tool with no output schema and no annotations, the description doubles as return-value documentation and enumerates the key fields, which is genuinely useful. The main omission is any signal separating it from the sibling Spain election tool, leaving an agent to guess which one answers a given question.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline there is no parameter semantics to convey and no schema gap to compensate for. The description correctly adds nothing here, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Spanish general election 2026, all 52 constituencies) and enumerates the payload dimensions, so an agent knows exactly what data it retrieves. However, it never gives a verb like 'returns' and does nothing to distinguish itself from the sibling get_spain_general_2026, which covers the same election.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite, and no mention of any alternative. An agent cannot infer from this text whether to call get_spain_provinces_2026 or get_spain_general_2026 for a given question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_track_recordBInspect
Frozen forecasts versus official results, 2026 out of sample and 34-election backtest.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose meaningful behavioral context by scoping the dataset (frozen forecasts, 2026 out-of-sample window, 34-election backtest), which tells the agent what data it will receive. It does not state that the tool is read-only, whether results are cached, or anything about the return format, leaving gaps for a zero-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single terse fragment with no padding, which is efficient. But it is not a grammatical sentence and packs three distinct concepts (frozen forecasts vs official results, 2026 out-of-sample, 34-election backtest) into a comma splice with no front-loaded action, so clarity suffers from the brevity rather than benefiting from it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no parameters, and no output schema, the description must convey both what the tool does and what it returns. It gives a reasonable sketch of the returned content (forecast-vs-result comparison across two tested periods) but omits format, granularity, and when to prefer it over the many other election-data siblings. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to document; the baseline for a no-parameter tool is 4. The description appropriately uses its space on data scope rather than inventing parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the subject matter (frozen forecasts vs. official results) and the data scope (2026 out-of-sample, 34-election backtest), which no sibling covers. However it is a bare noun phrase with no verb, so an agent must infer that this is a read/retrieval tool rather than a comparison or computation operation. Purpose is discernible but vague as an action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool, what question it answers, or how it relates to siblings like get_election_statistics, get_latest_polls, or get_live_results. The agent is left to guess whether this is a forecast-accuracy report or live forecast data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_electionsCInspect
Free: all German elections covered, with date and status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses almost nothing behavioral. The word 'Free' hints at an access/tier model across the server, which is a useful — if cryptic — trait beyond the schema, but it says nothing about ordering, pagination, rate limits, or response shape for a list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the scope statement front-loaded, which is appropriate for a no-arg list tool. The leading 'Free:' token is odd filler that spends words on pricing rather than behavior, slightly diluting an otherwise tight sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema and no annotations, the description is minimally adequate: it tells the agent what is returned (elections with date and status). It omits ordering, whether the result is complete/paginated, and how to drill into a specific election, leaving avoidable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline there is no parameter semantics to explain; the schema is trivially complete at 100% coverage. The description cannot add or subtract parameter meaning here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the tool covers 'all German elections ... with date and status,' which conveys scope and return fields, but never states a verb — the listing action is only implied by the tool name. The sibling set contains many list_* and get_election* tools, and nothing here distinguishes this one beyond the word 'German.' It is more marketing copy ('Free:') than a specific verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this versus get_election, get_election_statistics, or the other list_* siblings. No prerequisites or exclusions are given. The only implicit signal is that it returns everything, but the agent must infer that from scattered context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_european_electionsAInspect
Next national election in all 27 EU countries and Switzerland: type, date or year, status (official, legal deadline, expected), sources, link to our forecast where available.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose the result shape (type, date/year, status, sources, optional forecast link) plus the semantics of the status values (official, legal deadline, expected). It says nothing about ordering, coverage gaps, or freshness, but for a zero-parameter read-only list the remaining risk is low.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with a colon-delimited field list; every clause carries information and there is no filler. The 'date or year' phrasing is slightly loose, but the structure is efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must convey the return contents, and it does so at a useful level of detail (fields plus status categories). It could say more about ordering and completeness, but nothing essential for calling a parameterless tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. The description correctly adds no parameter guidance because none is needed, though it could have clarified that the result is unfiltered/global.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource and narrows scope precisely: the next national election across all 27 EU countries plus Switzerland, with the fields returned. That scope is enough to separate it from per-country lookups like get_election, though it never explicitly distinguishes itself from the sibling list_elections, which may overlap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the scope statement: an agent can infer 'use this for a cross-country overview of upcoming EU elections.' There is no explicit when-to-use, no when-not-to-use, and no mention of the adjacent list_elections or get_election alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_france_polls_2027BInspect
French presidential election 2027: all first-round polls with every scenario, runoff polls, sample, fieldwork and link to the official Commission des sondages notice.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the returned payload fields (sample, fieldwork, official Commission des sondages link), which substitutes for a missing output schema, but it says nothing about pagination, ordering, default result set, or the read-only nature of the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the resource first and then the payload. It is dense but earns most of its words; the trailing enumeration is slightly list-like but remains informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, single-parameter list tool this covers the return content adequately, especially given no output schema. However, with no annotations, no usage guidance, and no sibling differentiation, an agent still lacks the context needed to choose this tool over the several near-duplicate siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 1 parameter (limit) with 0% description coverage, and the description never mentions it. Meaning, default behavior (50), or maximum are left entirely unexplained, so the description does not compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('list') and resource ('French presidential election 2027 polls') and enumerates the returned content (first-round polls, every scenario, runoff polls, sample, fieldwork, official notice). It is clear what the tool does, but it does not differentiate itself from close siblings like get_france_presidential_2027, get_france_runoff_2027, or get_latest_polls, so the scope boundary is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated conditions, and no named alternative. With many overlapping siblings (get_france_presidential_2027, get_france_runoff_2027, search_poll_archive), the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_membersCInspect
All members of the Bundestag with party, constituency and mandate type.
| Name | Required | Description | Default |
|---|---|---|---|
| party | No | ||
| state | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It only states the returned content, saying nothing about read-only nature, result size, pagination, or whether the two optional filters exist and how they behave.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is efficient, though it could carry a bit more essential detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with two optional filters, no output schema, and no annotations, the description is too sparse. It omits the existence and purpose of party/state filtering, which is the primary way an agent would use this tool selectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not document the two optional parameters. 'Party' appears only as a possible output field, while 'state' is unmentioned, so the description adds no usable meaning to the filter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource ('All members of the Bundestag') and lists the main fields a member record contains (party, constituency, mandate type). It distinguishes itself from the singular sibling get_member, but does not explicitly contrast with other list/search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as get_member or search tools. It doesn't mention whether the optional filters can be used or when filtering is preferable to fetching all members.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_party_donationsCInspect
Large donations to German parties as published by the Bundestag (above 35,000 euros, until March 2024 above 50,000 euros, itemised since 2009): donor, amount, dates, printed paper, totals per party.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| limit | No | ||
| party | No | ||
| from_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose useful behavioral context: the publication source, the changing monetary threshold, and the historical coverage start. However, it never states pagination behaviour despite a limit parameter defaulting to 50, nor whether 'totals per party' means aggregated rows mixed with itemised records, which is a real ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the resource and scope before listing returned fields; no filler sentences. Slightly overloaded with parentheticals, but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter tool with no annotations, no output schema, and zero schema-level parameter documentation, the description should cover parameter meaning and result shape. It covers the data domain well but leaves filtering semantics and pagination entirely to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters (year, limit, party, from_date), so the description must compensate and largely does not. It alludes to dates and years only through the data-coverage narrative and never explains what 'limit', 'party', or 'from_date' accept or how they interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (large donations to German parties), its publisher (Bundestag), and the exact inclusion threshold (35,000 euros, previously 50,000), plus the fields returned. That is far more precise than the bare name. It does not, however, differentiate itself from any sibling, though the sibling list is largely unrelated domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus an alternative, nor any prerequisite. The threshold and coverage dates ('itemised since 2009') imply the data's scope but do not tell the agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_roll_call_votesBInspect
Recorded roll-call votes in the Bundestag with result per parliamentary group and dissenters.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It reveals the shape of the returned data (per-faction results plus dissenters), which is genuine added context, but says nothing about scope, pagination, or how the result set is bounded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the resource front-loaded and zero filler. It is efficient, though the noun-phrase phrasing gives no explicit action verb or scope qualifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully sketches the return content, which is its main strength. However, for a parameterless list tool it never states the scope of the listing (all recorded votes? a default window? pagination?), leaving a real gap for an agent deciding whether calling it returns a manageable result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics for the description to compensate for; the baseline for a parameterless tool applies. Nothing in the schema needs elaboration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — recorded roll-call votes in the Bundestag — and even characterizes the payload (result per parliamentary group, dissenters), so the agent knows exactly what this returns. It does not, however, distinguish itself from close siblings like get_member_votes, leaving the boundary implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no reference to the alternative that retrieves individual member votes. The agent must infer that this is the aggregate/list view from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_side_incomeCInspect
Side income of all members of the Bundestag: ranking and totals per party, filter by party, category and minimum amount.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| party | No | ||
| min_eur | No | ||
| category | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the output shape (ranking and totals) but says nothing about permissions, whether results are read-only, pagination/limit behavior, or ordering semantics for a 4-parameter query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states the resource first and the filters second, with no wasted words. It is dense but appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 0% schema coverage across 4 params, the definition should do more. It omits the limit parameter, pagination behavior, and any ordering/format detail, leaving the agent to guess on key invocation aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies party, category, and 'minimum amount' (min_eur), adding real meaning over the bare schema, but it never mentions the limit parameter or value formats/units, leaving one of four params undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (side income of all Bundestag members) and states what the tool produces (ranking and totals per party), which implicitly separates it from the single-member sibling get_member_side_income. It is clear but never explicitly names or contrasts with that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as get_member_side_income for a single member. The filter clause describes parameters, not usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lobbying_rankingCInspect
Who spends most on lobbying in Germany: top organisations, totals per field of interest and type.
| Name | Required | Description | Default |
|---|---|---|---|
| field | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It hints that results are aggregated per organisation/field/type, but says nothing about ordering (is it descending by spend?), whether results are paginated, what happens when limit is exceeded, or the data source/recency. For an aggregation tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that covers the core deliverable with no filler or repetition. It is tight, though the compressed 'type' clause is ambiguous enough that the brevity comes at some cost to clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and two undocumented parameters, the description should carry the load but does not. It never explains the shape of the response (ranked list? grouped totals?), how results are ordered or limited, or what values 'field' accepts, leaving an agent guessing before invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% on two parameters. The phrase 'field of interest' loosely maps to the 'field' parameter but never states accepted values, that it is optional, or what happens when omitted; the 'limit' parameter (default 25) is not mentioned at all. The description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete resource and analytical angle: a ranking of lobbying spenders in Germany broken down into top organisations, totals per field of interest, and type. That is more specific than a name restatement and lets an agent recognise it as an aggregate/ranking tool rather than a lookup. It stops short of naming how it differs from siblings like search_lobby_register or get_lobby_register_entry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The sentence is phrased as a question ('Who spends most...'), which only implicitly suggests the use case. There is no explicit when-to-use, no statement of when a sibling such as search_lobby_register would be preferred, and no prerequisites or scope caveats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_documentsCInspect
Search Bundestag printed papers (motions, minor interpellations) by keyword, type and date with authors and PDF.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| doc_type | No | ||
| from_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that results include authors and PDF links, but says nothing about pagination behavior despite a limit parameter, nor about auth needs, rate limits, or result ordering. A search tool that returns PDFs with no pagination note leaves a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that packs verb, resource, domain clarification, search dimensions and return content with no wasted words. Slightly dense, but structurally sound and well ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter search tool with no annotations, no output schema and 0% schema description coverage, one sentence is thin. Date syntax, doc_type values, pagination via limit, and the distinction from sibling search tools are all missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description is the only source of parameter meaning. It maps three search dimensions (keyword, type, date) onto query, doc_type and from_date, which adds genuine value, but the limit parameter is unaddressed and date format/expected doc_type values are left unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) plus the resource (Bundestag printed papers) and even resolves the domain jargon with examples (motions, minor interpellations). This clearly distinguishes it from siblings like search_speeches or search_lobby_register, though it does not name those alternatives explicitly in the body.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists search facets (keyword, type, date) but gives no when-to-use guidance, no exclusions, and no routing to alternative search tools. An agent gets no help deciding between this and search_speeches or search_poll_archive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_lobby_registerCInspect
Search the German Bundestag lobby register (organisations): name, field of interest, type, minimum lobbying spend.
| Name | Required | Description | Default |
|---|---|---|---|
| field | No | ||
| limit | No | ||
| query | No | ||
| min_eur | No | ||
| org_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Search' implies a read, but nothing is said about pagination behavior despite the limit parameter, result caps, return shape, or auth needs. For a 5-parameter tool with zero annotation coverage this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no waste; the resource and its searchable dimensions are stated immediately. It is appropriately sized, if a touch under-elaborated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and five undocumented optional parameters, the description should say more about what a search returns, currency/sorting of results, and default behavior of limit. It names filter facets but leaves the call-and-response picture incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partially does by naming the searchable facets: name (query), field of interest (field), type (org_type), and minimum lobbying spend (min_eur). It adds real meaning over bare schema titles, but the limit parameter is never explained and the facet-to-parameter mapping is left implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (German Bundestag lobby register) and scopes it to 'organisations', which distinguishes it from entry-level lookups. It does not explicitly call out its sibling get_lobby_register_entry, but the search-vs-fetch distinction is inferable from the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, and no named alternatives. The listed facets imply you filter by them, but an agent gets no steer on when this beats get_lobby_register_entry or lobbying_ranking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_poll_archiveCInspect
Poll archive (federal and state), filter by date range and parliament, up to 500 per call.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| to_date | No | ||
| from_date | No | ||
| parliament | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds one genuinely useful behavioral fact — result caps ('up to 500 per call') — which the schema does not state and which conflicts mildly with the limit default of 100. It does not disclose ordering, whether results are paged, or whether 'archive' excludes recent polls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the resource front-loaded and no filler. It is terse to the point of under-specification, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations, no output schema, and four undocumented parameters leave real gaps: date format, what a poll record looks like, whether the limit is hard-capped at 500, and how this differs from get_latest_polls. The description does not close them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It names two of four parameters (date range, parliament) but gives no date format or expected values, and never mentions 'limit' at all despite naming the 500 cap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (poll archive) with explicit scope (federal and state) and the filterable dimensions. An agent can roughly distinguish it from get_latest_polls by the word 'archive', but the differentiation is left implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies filtering by date range and parliament but never says when to reach for this tool versus get_latest_polls or get_track_record. No exclusions, no prerequisites, no routing guidance for a catalog with several poll-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_speechesCInspect
Search Bundestag plenary speeches by member, keyword and date: speaker, date, excerpt, protocol PDF.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| member | No | ||
| from_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the result fields (speaker, date, excerpt, protocol PDF), which is real behavioral value, but says nothing about ranking, default limit behavior, pagination, or the cost of broad queries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tightly packed sentence with the core action front-loaded and no wasted words. The trailing colon-list of return fields is terse but slightly list-like rather than prose, keeping it just short of ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description helpfully names the returned fields, which covers the biggest gap. However, for a four-parameter search tool with zero annotation and zero schema-description coverage, the absence of filter-interaction rules and limit semantics leaves the definition only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It maps natural-language concepts (member, keyword, date) onto three of the four parameters, giving the agent useful semantic grounding, but the `limit` parameter and the date format for `from_date` remain entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (Bundestag plenary speeches) and enumerates the filter dimensions (member, keyword, date). It is clearly distinguishable from siblings like search_documents or search_poll_archive by domain, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. The agent is not told how this differs from search_documents, whether member/query are combinable, or what happens when all filters are omitted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Added
get_fuel_prices - Added
get_gas_storage - Added
get_lng_terminals
2 tool updates
- Added
get_attention - Added
list_party_donations
4 tool updates
- Added
get_german_state - Added
get_spain_general_2026 - Added
get_spain_provinces_2026 - Added
list_european_elections
3 tool updates
- Added
get_france_presidential_2027 - Added
get_france_runoff_2027 - Added
list_france_polls_2027
35 tool updates
- First observed
compare_eu_countries - First observed
data_status - First observed
find_constituency_by_postcode - First observed
get_briefing - First observed
get_committees - First observed
get_constituency - First observed
get_constituency_dossier - First observed
get_constituency_race - First observed
get_constituency_results - First observed
get_election - First observed
get_election_statistics - First observed
get_eu_country - First observed
get_europe_energy_prices - First observed
get_european_parliament - First observed
get_federal_history - First observed
get_federal_trend - First observed
get_germany_electricity - First observed
get_governments - First observed
get_institutes - First observed
get_latest_polls - First observed
get_live_results - First observed
get_lobby_register_entry - First observed
get_member - First observed
get_member_side_income - First observed
get_member_votes - First observed
get_track_record - First observed
list_elections - First observed
list_members - First observed
list_roll_call_votes - First observed
list_side_income - First observed
lobbying_ranking - First observed
search_documents - First observed
search_lobby_register - First observed
search_poll_archive - First observed
search_speeches
Related MCP Connectors
German public tenders as normalised JSON (CPV, NUTS, deadlines). Free sample; search paid via x402.
Read-only German federal election results for municipalities, with harmonized geography.
Abgeordnetenwatch MCP — German federal & state parliament data.
German public tenders (190k+) and procurement-law calculators with legal basis. Free, no sign-up.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceProvides live, source-linked transparency data on German MPs, including roll-call voting, side jobs, committee memberships, and election programs, via the Abgeordnetenwatch API. No API key required.-
- AlicenseNot gradedqualityDmaintenanceProvides programmatic access to official German Bundestag parliamentary data, enabling LLMs to answer questions about legislation, voting records, and members.1MIT
- FlicenseNot gradedqualityBmaintenanceEnables agents to retrieve and narrate structured German Bundestag parliamentary data through tools for person biographies, party affiliations, party seat distribution per Wahlperiode, and role holders, backed by caching and deterministic computation.1-
- AlicenseNot gradedqualityBmaintenanceEnables searching and retrieving German public procurement notices as normalized JSON, with per-call payment via x402 (USDC on Base) and free sample and stats tools.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.