InfraNode
Server Details
Keyless open-data MCP for 84 German cities: weather, air, electricity, transit, stations, land.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 38 of 38 tools scored. Lowest: 3.4/5.
Each tool targets a specific data domain (e.g., accidents, air quality, charging stations) with clear descriptions that distinguish similar tools like air_quality vs air_quality_live or transit vs transit_departures. No overlapping purposes.
All tool names use lowercase with underscores, following a consistent pattern. Most are noun phrases (accidents, demographics), with some verbs (list_cities, get_city). No mixing of conventions like camelCase or different verb styles.
38 tools is above the typical range for a focused server, but each tool serves a distinct data source or operation, and the breadth of city data justifies the count. Slightly heavy but not excessive.
The tool set covers a wide range of city data across environment, transport, energy, demographics, and more. Minor omissions like crime or real estate data exist, but core workflows are well-supported.
Available Tools
42 toolsaccidentsARead-onlyIdempotentInspect
Get road-traffic accidents for a German city (yearly aggregate).
Sourced from the Unfallatlas. Read-only.
Args:
slug: City slug from list_cities, e.g. "koeln".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description confirms 'Read-only' and adds data source 'Unfallatlas', providing minimal extra behavioral context beyond the structured fields.
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 brief (two sentences plus args) with no redundant information, front-loading the key purpose and source.
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 tool with one parameter and no output schema, the description is mostly complete: it clarifies the aggregate, source, and parameter source. However, it could improve by hinting at the output structure or data fields.
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?
With 0% schema description coverage, the description compensates by explaining the 'slug' parameter as a city slug from list_cities with an example ('koeln'), adding valuable meaning beyond the schema type.
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 verb 'Get' and resource 'road-traffic accidents for a German city (yearly aggregate)', distinguishing it from sibling tools like air_quality or traffic.
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 when to use (when needing accident data) and instructs to use list_cities for valid slugs, but does not explicitly compare to alternatives or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
air_qualityARead-onlyIdempotentInspect
Get official air quality for a German city (PM10, NO2 and more).
Sourced from the Umweltbundesamt (UBA). Read-only. For live station readings
use air_quality_live instead.
Args:
slug: City slug from list_cities, e.g. "koeln".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description confirms read-only nature and adds context about data source (Umweltbundesamt) and geographic scope, but could elaborate on return format or behavior.
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 extremely concise: two sentences plus an args line. Purpose is front-loaded, and every sentence adds value without 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?
Given low complexity (one required param, no output schema), the description is largely complete. It covers purpose, source, parameter, and alternatives. However, it doesn't specify the output structure, which could be inferred but not explicit.
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?
With 0% schema description coverage, the description fully compensates by explaining the slug parameter: where to get it (list_cities) and an example (koeln).
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 it retrieves official air quality for a German city, specifies pollutants (PM10, NO2), and distinguishes from the sibling tool air_quality_live.
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?
Explicitly provides when-not-to-use by directing to air_quality_live for live readings, and explains how to obtain the slug parameter from list_cities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
air_quality_liveARead-onlyIdempotentInspect
Get live air quality readings for a German city.
Sourced from OpenAQ (live-only, no history). Read-only. For official,
archived values use air_quality.
Args:
slug: City slug from list_cities, e.g. "muenchen".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide safety hints; description adds context about data source (OpenAQ) and live-only nature, which is consistent and adds value.
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?
Three short sentences, front-loaded purpose, no wasted words, clear parameter description.
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 single parameter, rich annotations, and no output schema, description covers purpose, source, usage, and parameter meaning; missing return format but not critical.
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?
Only parameter 'slug' has no schema description; description adds meaning: 'City slug from list_cities, e.g. muenchen', fully compensating.
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?
Clearly states verb 'Get', resource 'live air quality readings', scope 'German city', and distinguishes from sibling 'air_quality' by noting 'live-only, no history'.
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?
Explicitly says when to use (live readings) and when not (official/archived), and provides alternative tool 'air_quality'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chargingARead-onlyIdempotentInspect
Get EV charging-station locations for a German city.
Sourced from the Bundesnetzagentur. Read-only.
Args:
slug: City slug from list_cities, e.g. "stuttgart".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false. The description adds context by stating the data is sourced from the Bundesnetzagentur and is read-only, which reinforces the safe behavior. It does not contradict annotations.
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 very concise: two sentences plus an args line. Every sentence serves a purpose—defining the action, stating the data source, and clarifying the argument. No unnecessary 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 tool with one parameter and no output schema, the description is fairly complete: it explains the tool's purpose, data source, and how to use the parameter. It could mention the type of output (e.g., coordinates) but this is not critical given the openWorldHint.
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 0% description coverage for the slug parameter, but the description explains it is a city slug from the list_cities tool and gives an example ('stuttgart'). This provides critical context far beyond the bare schema.
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 'Get EV charging-station locations for a German city,' using a specific verb and resource. It distinguishes from siblings like 'fuel_prices' or 'traffic' by focusing on EV charging stations.
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 explains the context (German city, data source) and provides an example of the slug argument, but does not explicitly state when to use this tool versus alternatives or when not to use it. It implies usage for querying charging stations but lacks explicit exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compareARead-onlyIdempotentInspect
Compare ONE resource across MULTIPLE cities in a single response.
Fans the resource out over the listed cities and returns a per-city
source_status (ok/disabled/no_data/error/not_found), so a missing or
failing city source does not spoil the whole answer. Read-only.
Args:
resource: Resource to compare. Currently supported: "weather" (DWD)
or "air" (UBA air quality).
cities: Comma-separated list of city slugs, e.g.
"berlin,koeln,hamburg" (max. 28 cities).
| Name | Required | Description | Default |
|---|---|---|---|
| cities | Yes | ||
| resource | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive. The description adds useful behavior: per-city 'source_status' (ok/disabled/no_data/error/not_found) and a max of 28 cities, which goes beyond annotations. No contradiction.
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 concise and well-structured: a clear headline, a paragraph explaining behavior, and an Args section. Every sentence adds value, no fluff.
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, the description adequately explains the response format (per-city source_status). It covers both parameters (resource, cities) and constraints (max 28). For a 2-param tool with no nested objects, this is 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 coverage is 0%, so description is essential. It specifies that 'resource' supports 'weather' and 'air', and 'cities' is a comma-separated list of city slugs with an example and maximum of 28. This adds critical meaning beyond the schema titles.
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 tool's purpose: 'Compare ONE resource across MULTIPLE cities in a single response.' It specifies the verb (compare), resource (e.g., weather, air), and scope (multiple cities), distinguishing it from sibling tools that focus on single resources or single cities.
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 explains when to use the tool: to compare a resource across cities, with graceful handling of per-city failures. It does not explicitly state when not to use, but the context of sibling tools implies alternatives for single-city or single-resource queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
constructionBRead-onlyIdempotentInspect
Get building permits (residential buildings/dwellings) for a city's district.
Sourced from Regionalstatistik. Read-only.
Args:
slug: City slug from list_cities, e.g. "hamburg".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering core safety. The description redundantly says 'Read-only' and adds 'Sourced from Regionalstatistik', which provides mild context but no additional behavioral disclosures like authentication needs or error handling.
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 very concise with three distinct sentences: purpose, source, and parameter explanation. Each sentence adds value without redundancy. It is front-loaded with the key action and scope.
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 one parameter, no output schema, and annotations present, the description covers purpose and parameter adequately. However, it lacks details about the return format (e.g., list or single object) and does not fully contextualize its place among 38 sibling tools. It meets the minimum but leaves 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 schema has one required string parameter 'slug' with no description. The description adds meaning by stating it's a city slug from 'list_cities' and provides an example ('hamburg'). This compensates for the 0% schema coverage, though more details on format or validation would improve it.
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 tool retrieves building permits for residential buildings/dwellings for a city district. It uses a specific verb 'Get' and identifies the resource. While it doesn't explicitly differentiate from sibling tools like 'indicators' or 'energy', the mention of 'Sourced from Regionalstatistik' provides some distinguishing context.
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 is given on when to use this tool versus alternatives. There are no exclusions or recommendations. The description only notes the data source but does not help an agent decide between this and similar city-data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
demographicsARead-onlyIdempotentInspect
Get demographic indicators for a German city.
Sourced from GENESIS/Regionalstatistik. Read-only.
Args:
slug: City slug from list_cities, e.g. "leipzig".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds value by specifying the data source (GENESIS/Regionalstatistik), which is behavioral context beyond the annotations. No contradictions.
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 concise—two sentences plus a structured Args section—with no unnecessary words. Every sentence earns its place.
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?
The description covers the tool's purpose, data source, and parameter usage. However, it lacks details on what specific demographic indicators are returned, which would enhance completeness given there is no 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?
With 0% schema description coverage, the description fully compensates by explaining the 'slug' parameter: it's a city slug from 'list_cities', with an example ('leipzig'). This adds essential meaning beyond the schema.
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 verb 'Get' and the resource 'demographic indicators for a German city.' It distinguishes itself from sibling tools like 'accidents' or 'air_quality' by focusing on demographics.
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 provides clear context: it's for obtaining demographic indicators for a German city, with data sourced from GENESIS/Regionalstatistik. It also mentions that the slug comes from 'list_cities'. However, it doesn't explicitly state when not to use this tool or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
electionARead-onlyIdempotentInspect
Get election results for a German city.
Read-only.
Args:
slug: City slug from list_cities, e.g. "berlin".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive. Description adds geographic scope (German city) and slug source, enhancing behavioral context beyond annotations.
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?
Extremely concise: two sentences covering purpose, read-only hint, and parameter guidance. No unnecessary text.
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 simplicity (1 param, no output schema, strong annotations), the description covers key aspects: purpose, parameter origin, and safety. Could optionally mention return format but not essential.
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?
With 0% schema description coverage, the description provides essential meaning: slug is a city identifier from list_cities with example 'berlin'. This compensates for missing schema descriptions.
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?
Clear verb 'Get', resource 'election results', scope 'German city'. Distinguishes from siblings via specificity and reference to list_cities for slug.
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?
Explicitly instructs to get slug from list_cities, providing context for correct invocation. Lacks when-not-to-use or alternatives but is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energyARead-onlyIdempotentInspect
Get energy installation metrics for a German city.
Sourced from the Marktstammdatenregister (power-generation units). Read-only.
Args:
slug: City slug from list_cities, e.g. "hamburg".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, etc. Description adds data source (Marktstammdatenregister) and restates read-only, offering minor additional context.
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: concise, front-loaded with purpose, no fluff.
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 tool with annotations, description covers purpose, parameter, and data source. Lacks description of output format, but no output schema exists. Adequate.
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%. Description explains slug parameter: source ('from list_cities'), format, and example. Compensates well for missing schema docs.
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?
Description clearly states 'Get energy installation metrics for a German city' with specific verb and resource. It identifies the data source but does not differentiate from sibling 'power_load' 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?
Provides prerequisite: slug from list_cities. No guidance on when to use vs alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eventsARead-onlyIdempotentInspect
Get public events and happenings for a German city.
Read-only. Coverage is partial.
Args:
slug: City slug from list_cities, e.g. "koeln".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), the description adds 'Read-only' (consistent) and 'Coverage is partial,' disclosing data incompleteness. This provides useful behavioral context.
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 concise: one header sentence, two brief notes, and a structured parameter listing. Every sentence adds value with 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?
Given no output schema, the description could elaborate on return values, but it adequately covers the tool's purpose, constraints (read-only, partial coverage), and parameter origin. For a simple list tool, this is fairly 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?
With 0% schema description coverage, the description fully compensates by explaining slug as 'City slug from list_cities' with an example ('koeln'), making parameter usage clear.
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 tool retrieves 'public events and happenings for a German city,' specifying both the verb and resource. It distinguishes from siblings by focusing on general events, not road events or other categories.
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 when to use (need events for a city) and provides a prerequisite (slug from list_cities), but does not explicitly exclude alternatives or compare with sibling tools like road_events.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
floodARead-onlyIdempotentInspect
Get flood warning levels for a German city.
Sourced from the Laenderhochwasserportal. Read-only. Coverage is partial.
Args:
slug: City slug from list_cities, e.g. "dresden".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false. The description adds 'Read-only' (redundant) and 'Coverage is partial.' The partial coverage statement provides useful context about data completeness, which annotations do not capture. However, no additional behavioral traits (e.g., rate limits, data freshness) are disclosed. Description adds modest value beyond annotations.
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 very concise: two sentences plus an Args section. Every sentence adds value: purpose, source/limitations, parameter explanation. It is front-loaded with the core purpose. No unnecessary words or repetition.
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 the tool's simplicity (one parameter, no output schema), the description is mostly complete. It explains the parameter, mentions source and coverage. However, it does not describe the return values (e.g., what warning levels look like) or any pagination/format. For a simple query tool, this is acceptable but could be slightly more informative about output.
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 input schema has a single parameter 'slug' with title 'Slug' and no description. The tool description explains it: 'City slug from ``list_cities``, e.g. ``"dresden"``.' This adds critical meaning: the slug comes from another tool 'list_cities', and provides a concrete example. With schema coverage at 0%, the description fully compensates, making parameter semantics clear.
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 tool's purpose: 'Get flood warning levels for a German city.' It uses a specific verb 'Get' and resource 'flood warning levels', with geographical scope ('German city'). The source ('Laenderhochwasserportal') adds credibility. This distinguishes it from sibling tools like 'water_level' which might provide river water levels, though not explicitly 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 provides some usage context: 'Sourced from the Laenderhochwasserportal. Read-only. Coverage is partial.' and the Args section references 'list_cities' for obtaining the slug. However, it does not explicitly state when to use this tool versus alternatives (e.g., 'water_level' or 'weather_warnings') or when not to use it (e.g., for non-German cities). The guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fuel_pricesARead-onlyIdempotentInspect
Get current fuel prices for a German city, aggregated per fuel type.
Sourced from Tankerkoenig. Returns average and minimum per fuel type (E5/E10/diesel). Read-only, near-real-time.
Args:
slug: City slug from list_cities, e.g. "koeln".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds value by specifying 'Read-only, near-real-time' and clarifying the return format (average and minimum per fuel type E5/E10/diesel), which goes beyond annotations.
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 concise and well-structured: first sentence states the core purpose, followed by source, behavior, and a clear argument section. Every sentence adds necessary information without 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 tool with a single required parameter and no output schema, the description covers all aspects: purpose, source, behavior, return value semantics (average/min per fuel type), and parameter usage. No gaps are apparent.
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 only parameter 'slug' has no description in the input schema (0% coverage). The description compensates fully by explaining it as 'City slug from list_cities, e.g. 'koeln'.' This provides essential context beyond the schema's minimal title.
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 tool's purpose: 'Get current fuel prices for a German city, aggregated per fuel type.' It specifies the resource (fuel prices), action (get), scope (German city, per fuel type), and is distinct from sibling tools like 'air_quality' or 'charging'.
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 provides context by mentioning the data source (Tankerkoenig) and near-real-time nature. It also hints at usage by linking the 'slug' parameter to 'list_cities'. However, it does not explicitly state when to use this tool versus alternatives, though no direct alternative exists among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geoARead-onlyIdempotentInspect
Get geodata and administrative boundaries for a German city.
Read-only.
Args:
slug: City slug from list_cities, e.g. "koeln".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, etc. Description adds 'Read-only' (redundant) and mentions administrative boundaries—minor extra context. Leaves openWorldHint behavior unaddressed.
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?
Extremely concise: two short lines plus args description. No filler, front-loaded with action and resource.
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 1-param tool with rich annotations, the description provides all needed context (purpose, source of slug, example). No output schema exists, but return values are not required to be described.
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 has 0% description coverage; the description compensates by explaining the slug parameter's source (list_cities) and giving an example, adding meaning beyond the bare schema.
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?
Clearly states it retrieves geodata and administrative boundaries for a German city. Distinguishes from siblings like list_cities (which provides slugs) and other data-specific 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?
Indicates the slug should come from list_cities and provides an example. Lacks explicit when-not-to-use, but context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cityARead-onlyIdempotentInspect
Get base data for a German city (population, area, coordinates).
Sourced from Wikidata. Read-only. Useful as a first lookup to confirm a city exists and get its core attributes.
Args:
slug: City slug from list_cities, e.g. "berlin" or "hamburg".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value by stating 'Sourced from Wikidata' and 'Read-only,' confirming the data source and safety. No contradictions. Additional behavioral details (e.g., rate limits) are absent but acceptable given annotation coverage.
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 concise with two clear paragraphs: first sentence states the core purpose, second adds source and usage hint, followed by an Args section. Every sentence is purposeful and front-loaded. No unnecessary 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?
The tool is simple with one parameter and no output schema. The description covers input semantics and overall purpose but does not detail the return structure (e.g., fields or format). Given the lack of output schema, describing the response shape would improve completeness, but the current level is adequate for a 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?
The single parameter 'slug' has 0% schema description coverage. The description compensates fully by explaining that it is a city slug from 'list_cities' and providing examples ('berlin', 'hamburg'), which adds significant meaning beyond the schema.
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 verb ('Get'), the resource ('base data for a German city'), and specifies the data types (population, area, coordinates). This distinguishes it from sibling tools like 'list_cities' (which lists cities) and other data-related tools, making the purpose 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?
The description provides usage context: 'Useful as a first lookup to confirm a city exists and get its core attributes.' It lacks explicit when-not-to-use guidance or direct alternatives among the many sibling tools, but the given context is sufficient for basic decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
healthARead-onlyIdempotentInspect
Get the hospital directory for a German city.
Sourced from Regionalstatistik. Read-only.
Args:
slug: City slug from list_cities, e.g. "essen".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint, destructiveHint. The description adds the source (Regionalstatistik) and that it is read-only, but this is redundant with annotations. Minimal additional context.
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 concise, with the purpose stated first, followed by source, then parameter explanation. Every sentence is necessary and no fluff.
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 tool with one parameter and no output schema, the description covers everything needed: what it does, data source, how to use the parameter. No 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 coverage is 0%, but the description explains that slug is a city slug from list_cities, with an example ("essen"). This adds essential context beyond the plain string type.
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 'Get the hospital directory for a German city,' using a specific verb and resource. Among siblings like accidents, air_quality, etc., it is distinct and 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?
The description explains the data source (Regionalstatistik), declares read-only nature, and specifies that the slug parameter comes from list_cities, providing an example. It does not explicitly state when not to use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
holidaysARead-onlyIdempotentInspect
Get public holidays for a German city's federal state.
Read-only. Holidays are determined by the city's Bundesland.
Args:
slug: City slug from list_cities, e.g. "muenchen".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as readOnly and idempotent. The description adds that holidays depend on the city's Bundesland, providing extra context beyond annotations.
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 extremely concise with three sentences, front-loading the action and using clear language without any redundant 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 simple tool with one parameter, good annotations, and no output schema, the description adequately covers the key aspects: what the tool does, the parameter source, and the determinant of 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?
The description explains the 'slug' parameter as a city slug from list_cities with an example ('muenchen'), adding significant meaning beyond the schema's basic string type.
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 it gets public holidays for a German city's federal state, with specific reference to the city slug. It distinguishes itself from sibling tools which cover different data 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?
Provides context that the slug comes from list_cities and that the operation is read-only, but does not explicitly state when to use this tool over alternatives or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
icu_liveARead-onlyIdempotentInspect
Get live ICU bed occupancy for a German city.
Sourced from DIVI (intensive-care register). Read-only, current snapshot.
Args:
slug: City slug from list_cities, e.g. "koeln".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds 'Read-only, current snapshot' but does not provide additional behavioral context beyond what annotations already convey, such as rate limits or data freshness details.
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 brief and front-loaded, consisting of two sentences and a parameter note. Every sentence adds value, with no redundancy or unnecessary 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?
Given the low complexity (one required parameter, no output schema, no nested objects), the description sufficiently covers all needed context: what the tool does, data source, and how to use the parameter. No further details are required for effective use.
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 description fully explains the single parameter 'slug', detailing its purpose ('city slug'), source ('from list_cities'), and providing an example ('koeln'). This compensates for the 0% schema description coverage by adding essential semantic information.
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 'Get live ICU bed occupancy for a German city', specifying the verb, resource, and geographic scope. It distinguishes itself from sibling tools like 'health' and 'list_cities' by focusing on live ICU data.
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 indicates the tool is for a 'current snapshot' and sourced from DIVI, implying it is for real-time data. It references 'list_cities' for acquiring the slug, providing context. However, it does not explicitly state when not to use it or provide alternative tools, which would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicatorsARead-onlyIdempotentInspect
Get socioeconomic indicators for a German city (district level, latest year).
Sourced from INKAR/BBSR (~70 curated indicators across labour market, economy, income, demography, housing, mobility, health and more). Read-only.
Args:
slug: City slug from list_cities, e.g. "koeln".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states 'Read-only' and notes that data is for the latest year. Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds value by clarifying the data recency and source, going beyond annotations.
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 very concise at two sentences plus an Args section. It front-loads the main purpose and every sentence adds value without 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?
The description provides a good overview of what the tool returns (~70 curated indicators across multiple domains) but lacks details on output format (e.g., JSON structure). Given no output schema, the description offers sufficient context for an agent to understand the tool's capability.
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 input schema has one parameter (slug) with no description (0% coverage). The tool description clearly explains that slug is a city slug from list_cities, e.g., 'koeln', providing essential semantic meaning beyond the schema's bare title.
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 tool gets socioeconomic indicators for a German city, specifies district level and latest year, and mentions the data source and scope (~70 indicators across multiple domains). This clearly distinguishes it from sibling tools which cover different topics like accidents, air quality, etc.
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 explicitly states that the slug parameter comes from list_cities, providing a clear prerequisite and usage context. While it does not explicitly list when not to use it or provide alternatives, the domain-specific nature of siblings makes the usage context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
land_valuesARead-onlyIdempotentInspect
Get aggregated official land values (Bodenrichtwerte) for a German city.
Sourced from BORIS (the surveyor committees' land-value information system),
federated per federal state. Returns a building-land summary
(residential/mixed/commercial, excluding forest/water/farmland): median, min
and max land value in EUR/m2, the number of zones, the valuation reference
date and the bounding-box radius the aggregate was computed over. Read-only.
Coverage is partial (per state); source_status is not_covered for
states without a BORIS WFS yet.
Args:
slug: City slug from list_cities, e.g. "berlin".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, openWorldHint, idempotentHint. Description adds significant behavioral detail: returns median/min/max in EUR/m2, number of zones, reference date, bounding-box radius, and indicates partial coverage with source_status field. This goes well beyond annotations.
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?
Well-structured with a clear initial sentence, followed by source details, output summary, and parameter description. It is concise but includes all necessary information, though slightly verbose in the middle.
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 tool with no output schema, the description covers purpose, source, output, limitations, and parameter usage. It is complete enough for an agent to understand what the tool does and how to use it.
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 has 0% coverage, but the description provides a clear explanation for the slug parameter: it's a city slug from list_cities with an example. This adds essential meaning beyond the schema's minimal title.
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?
Clearly states the tool gets aggregated official land values for a German city, specifying the resource (Bodenrichtwerte) and scope. The description distinguishes it from siblings by focusing on land values, a unique domain among the listed sibling 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?
Explains when to use (need official land values for a German city) and provides context on partial coverage per state. It doesn't explicitly state when not to use, but the coverage note guides appropriate usage. The slug parameter is linked to list_cities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_citiesARead-onlyIdempotentInspect
List all covered cities (slug, federal state, population, coverage).
Takes no arguments. Call this first to discover valid city slugs before invoking any city-scoped tool. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, destructiveHint, and idempotentHint. The description adds 'Read-only', which is consistent, and lists the fields returned. It does not disclose additional behavioral traits such as rate limits, response size, or data freshness, so the added value is moderate.
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 extremely concise, with every sentence adding unique value: it states the purpose, lists return fields, notes no arguments, gives usage guidance, and declares read-only status. No wasted words; information is front-loaded.
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?
Despite no output schema, the description sufficiently explains the return format (slug, federal state, population, coverage) and provides usage context. For a simple, parameterless tool with comprehensive annotations, this description is 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 input schema has no properties and schema description coverage is 100%. The description confirms 'Takes no arguments' and provides no additional parameter-level detail because none is needed. Baseline score of 4 is appropriate given zero parameters.
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 uses specific verb 'list' and resource 'all covered cities', and includes the fields returned (slug, federal state, population, coverage). It further distinguishes from sibling tools by stating to call this first to discover valid city slugs before invoking any city-scoped 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?
The description explicitly says 'Takes no arguments' and 'Call this first to discover valid city slugs before invoking any city-scoped tool', giving clear context and sequential guidance. However, it does not explicitly state when not to use or name specific alternatives, though for a simple discovery tool this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
poisARead-onlyIdempotentInspect
Get points of interest in a German city, filtered by type.
Sourced from OpenStreetMap. Read-only.
Args:
slug: City slug from list_cities, e.g. "koeln".
type: POI type from the API allowlist, one of "hospital",
"school", "pharmacy", "restaurant", "police" or
"kindergarten".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| type | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. Description adds that data is sourced from OpenStreetMap and is read-only, confirming the annotations. No contradictions, and behavioral traits are adequately disclosed.
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?
Description is two sentences plus an Args block. It is front-loaded with the main purpose, provides necessary details without superfluous text, and is well-structured and easy to parse.
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 the tool's simplicity (2 params, no output schema), the description covers all needed context: purpose, data source, parameter details with examples, and behavioral hints. It is complete for an agent to correctly select and invoke 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?
Input schema has 0% description coverage, but the description compensates fully by explaining slug as city slug from list_cities with example, and type as POI type from an allowlist with all allowed values listed. This adds essential meaning beyond the schema.
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?
Description clearly states the tool gets points of interest in a German city filtered by type. The verb 'Get' and resource 'points of interest' are specific, and the scope distinguishes it from sibling tools like accidents or air_quality.
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?
Description mentions that slug comes from list_cities and provides example, and explicitly states 'Read-only'. While it doesn't contrast directly with siblings, the context implies when to use this tool (for POIs). Could be more explicit about exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pollen_uvARead-onlyIdempotentInspect
Get pollen forecast and UV index for a city's wider region.
Sourced from the Deutscher Wetterdienst (DWD). Read-only.
Args:
slug: City slug from list_cities, e.g. "berlin".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnly, openWorld, idempotent, and non-destructive hints. The description adds source (DWD) and explicitly states 'Read-only', reinforcing the safety. No contradictions.
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 extremely concise, with two short sentences covering purpose, source, and parameter guidance. 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 single-parameter tool with good annotations, the description covers the input sufficiently. However, the output format is not described, which could be a gap given no 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 description explains the slug parameter's origin (from list_cities) and provides an example ('berlin'), adding significant value beyond the schema which only lists title 'Slug'. With 0% schema coverage, this is essential.
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 it retrieves pollen forecast and UV index for a city's wider region. The verb-resource pair is specific, but it doesn't explicitly distinguish from siblings like air_quality or weather, which also involve environmental data.
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 usage by specifying the slug parameter from list_cities, but it lacks explicit guidance on when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
power_loadARead-onlyIdempotentInspect
Get the daily grid load (electricity consumption) for a city's control zone.
Sourced from SMARD. Read-only, daily value.
Args:
slug: City slug from list_cities, e.g. "berlin".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint) already declare safety and idempotency. The description adds useful behavioral context: the data is 'daily', 'sourced from SMARD', and describes the parameter. No contradictions.
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 concise (two sentences plus Args section), front-loaded with purpose, and no unnecessary words. Every sentence adds value.
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?
The tool has no output schema, and the description does not mention the output format (e.g., units, data structure). While the purpose and parameter are clear, completeness could be improved by describing the return value.
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%, but the description fully explains the 'slug' parameter: 'City slug from list_cities, e.g. "berlin"'. This adds significant meaning beyond the schema, which only provides the type and title.
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 tool gets 'daily grid load (electricity consumption) for a city's control zone', specifying the source (SMARD) and that it's read-only. The verb 'Get' and resource 'daily grid load' are specific, and the tool is distinguishable from siblings like 'power_price' (price) and 'energy' (broader).
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 provides basic context (SMARD source, daily value) but lacks explicit guidance on when to use this tool versus alternatives (e.g., power_price, energy). No when-not-to-use or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
power_priceARead-onlyIdempotentInspect
Get the day-ahead wholesale electricity price (nationwide), daily.
Sourced from SMARD. Read-only. The price is nationwide; the slug only anchors the request to a covered city.
Args:
slug: City slug from list_cities, e.g. "berlin".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint false. The description adds that the price is nationwide regardless of slug, sourced from SMARD, which is consistent and clarifies behavior beyond annotations.
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 extremely concise, front-loaded with purpose, and includes an Args section. Every sentence adds value without 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 simple one-parameter tool, the description covers source, scope, and parameter role. It lacks what the output looks like, but annotations and simplicity make it sufficient. Slight gap in return format.
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 has 0% description coverage, but the description fully explains the single parameter: it is a city slug from list_cities, with an example. This adds crucial meaning missing from the schema.
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 tool retrieves the day-ahead wholesale electricity price nationwide daily. The verb 'Get' and resource are specific. It distinguishes from sibling tools like 'power_load' which focuses on load, and 'energy' which is broader.
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 explains the source (SMARD) and that it is read-only. The price is nationwide, and the slug only anchors to a city. It does not explicitly state when not to use or list alternatives, but the context is clear for selecting this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
road_eventsARead-onlyIdempotentInspect
Get inner-city roadworks and closures for a German city.
Read-only. Coverage is partial (selected cities). For motorway traffic use
traffic.
Args:
slug: City slug from list_cities, e.g. "koeln".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description confirms read-only nature and partial coverage, consistent with annotations. It adds context that the slug comes from 'list_cities,' which annotations do not provide. However, it does not detail return format or pagination, which would enhance transparency.
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 three sentences long, front-loaded with purpose, followed by usage notes and parameter details. Every sentence adds value with 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?
Given the tool's simplicity (1 param, no output schema) and informative annotations, the description covers usage and dependencies well. Minor gap: no mention of output shape or pagination, but not critical for basic usage.
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 'slug' lacks schema description, but the tool description explains its source ('from list_cities') and provides an example ('koeln'). This fully compensates for 0% schema coverage.
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 explicitly states the tool retrieves 'inner-city roadworks and closures for a German city,' using a clear verb and resource. It distinguishes itself from the sibling 'traffic' tool by specifying its domain (inner-city vs. motorway).
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 provides explicit when-to-use (inner-city roadworks) and when-not-to-use guidance (motorway traffic → use 'traffic'). It also notes partial coverage, setting proper expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sharingARead-onlyIdempotentInspect
Get bike/scooter sharing availability for a German city, aggregated.
Sourced from GBFS feeds (primarily Nextbike). Returns vehicle and station counts. Read-only, live. Coverage is partial.
Args:
slug: City slug from list_cities, e.g. "berlin".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint. The description adds valuable behavioral context: 'Read-only, live. Coverage is partial.' This goes beyond annotations without contradicting them.
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 extremely concise, using short sentences and bullet points. Every line adds value. It is front-loaded with the main action and efficiently includes data source, output, and caveat.
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 tool with one parameter and no output schema, the description covers purpose, data source, parameter, and coverage limitation. It does not specify return format or pagination, but is otherwise 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?
With 0% schema description coverage, the description must compensate. It explains the 'slug' parameter as 'City slug from list_cities, e.g. 'berlin'', providing clear origin and example. This adds meaning beyond the raw schema.
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 tool retrieves bike/scooter sharing availability for German cities, aggregated, and specifies data source (GBFS) and output (vehicle and station counts). It distinguishes itself from sibling tools, none of which are sharing-related.
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 usage for German cities and references the 'list_cities' tool for slug values, but does not explicitly state when to use this tool instead of alternatives or provide exclusions. Usage context is clear but guidance is limited.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sourcesARead-onlyIdempotentInspect
List all data sources with license, attribution and availability.
Takes no arguments. Shows which upstream sources InfraNode bundles and whether each is currently active. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that it shows which sources are active, providing extra context beyond the annotations.
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?
Three concise sentences: first describes output, second states argument requirement, third adds detail on active status. No wasted words, well-structured.
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 list tool with no parameters and no output schema, the description fully covers what the tool does, what it returns, and that it is read-only. The sibling list confirms this is a unique meta-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?
There are zero parameters, and the description explicitly states 'Takes no arguments.' Schema coverage is 100% per the empty schema, so the description adds clarity by confirming no inputs 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 clearly states the verb 'List', the resource 'data sources', and the detail fields (license, attribution, availability). It also specifies it takes no arguments, distinguishing it from sibling data-retrieval 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?
The description explicitly states it takes no arguments and is read-only, providing clear context. It doesn't explicitly state when not to use it, but among siblings (all data-specific tools), this meta-tool's purpose is obvious for discovering available sources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
station_arrivalsARead-onlyIdempotentInspect
Get live long-distance train arrivals at a city's major stations.
Sourced from Deutsche Bahn Timetables, including delays and cancellations.
Read-only. Covered for metropolitan hubs only (otherwise not_covered).
Args:
slug: City slug from list_cities, e.g. "frankfurt".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (which already indicate read-only, open-world, idempotent, non-destructive), the description adds: 'Sourced from Deutsche Bahn Timetables, including delays and cancellations.' It also notes scope limitations ('metropolitan hubs only'). This provides meaningful behavioral context without contradicting annotations.
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 concise and well-structured: the first sentence states the core purpose, followed by source/features, then usage constraint, and finally parameter documentation. No redundant information; every sentence contributes value.
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 the tool's simplicity (one parameter, no output schema, annotations present), the description is largely complete. It covers purpose, source, scope, and parameter guidance. However, it does not specify the return format (e.g., list of arrivals with times), which could be beneficial without an output schema. Still, the description is sufficient for most use cases.
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?
With 0% schema description coverage, the description fully compensates by specifying that 'slug' is a 'City slug from ``list_cities``' and provides an example ('frankfurt'). This adds essential meaning beyond the schema, guiding the agent on where to obtain valid parameter values.
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 tool's purpose with a specific verb and resource: 'Get live long-distance train arrivals at a city's major stations.' It distinguishes from siblings like 'station_departures' (departures) and 'transit_departures' (transit) by specifying 'long-distance train' and 'arrivals'. The data source (Deutsche Bahn) further differentiates it.
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 a usage constraint: 'Covered for metropolitan hubs only (otherwise ``not_covered``).' It also implies the tool is for arrivals, but does not explicitly instruct the agent when to use this vs. 'station_departures' for departures or other transit tools. The context is clear but lacks explicit exclusion of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
station_board_arrivalsARead-onlyIdempotentInspect
Get live arrivals for ANY railway station by its EVA number.
Mirror of station_board_departures for arriving trains (all categories,
real-time delays, disruption messages). Get the EVA from stations.
Read-only.
Args:
eva: Station EVA number (digits only), e.g. "8000105" (Frankfurt Hbf).
| Name | Required | Description | Default |
|---|---|---|---|
| eva | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint; description adds specific behavioral details: returns all categories, real-time delays, disruption messages. No contradictions. Adds value beyond annotations.
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?
Very concise: 4 sentences covering purpose, sibling relationship, parameter details. Front-loaded with main action. No unnecessary 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 single-parameter tool with rich annotations and no output schema, the description covers purpose, sibling context, parameter semantics, and data scope. No gaps given complexity.
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 has 0% description coverage, but description thoroughly explains parameter: digits only, EVA number, example, and source tool. Compensates fully for missing schema documentation.
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?
Clear verb 'Get' and resource 'live arrivals' for any station by EVA number. Explicitly distinguishes from sibling 'station_board_departures' by stating it's the mirror for arrivals.
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?
Clearly tells when to use (for arrivals) and contrasts with departures tool. Also directs to use 'stations' to obtain EVA. Lacks explicit 'when not to use' beyond the sibling differentiation, but sufficient for the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
station_board_departuresARead-onlyIdempotentInspect
Get live departures for ANY railway station by its EVA number.
Covers all train categories including local/regional (S/RB/RE) and long
distance, with real-time delays, cancellations and disruption messages. Get
the EVA from stations. Read-only.
Args:
eva: Station EVA number (digits only), e.g. "8011160" (Berlin Hbf).
| Name | Required | Description | Default |
|---|---|---|---|
| eva | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint, and description adds 'Read-only' and details about real-time delays, cancellations, and disruption messages, enhancing transparency without contradiction.
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?
Front-loaded with the core purpose, then provides necessary details in a few sentences. No redundant information; every sentence adds value.
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 only one parameter, strong annotations, and no output schema, the description covers input format, output content qualitatively, and directs to complementary tool. Complete for effective tool selection and 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?
Despite 0% schema description coverage, the description fully explains the only parameter 'eva': format (digits only), example, and reference to stations tool. This is excellent compensation.
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 tool gets live departures by EVA number, covering all train categories with real-time info. It distinguishes itself from sibling tools like station_arrivals by focusing on departures and referencing the stations tool for EVA lookup.
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?
Explicitly says when to use (when you have EVA number) and directs to stations tool to obtain EVA. Lacks explicit 'when not to use' but provides sufficient context for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
station_departuresARead-onlyIdempotentInspect
Get live long-distance train departures from a city's major stations.
Sourced from Deutsche Bahn Timetables, including delays and cancellations.
Read-only. Covered for metropolitan hubs only (otherwise not_covered).
Args:
slug: City slug from list_cities, e.g. "berlin".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, etc. The description adds context about the data source (DB Timetables), coverage limitations, and the 'not_covered' response, going beyond annotations.
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?
Description is concise, front-loaded with main purpose, and provides essential details without 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?
Given one parameter, no output schema, and comprehensive annotations, the description sufficiently covers the tool's functionality, source, limitations, and parameter usage.
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 description explains the slug parameter as 'City slug from list_cities, e.g. 'berlin'', adding meaning beyond the schema which only defines it as a string. Schema coverage is 0% but description fully compensates.
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 it gets live long-distance train departures from a city's major stations, sourced from Deutsche Bahn, and distinguishes from siblings like station_arrivals and transit_departures.
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?
Explicitly mentions it is read-only, covered only for metropolitan hubs, otherwise returns 'not_covered', and references list_cities for obtaining the slug.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stationsARead-onlyIdempotentInspect
List all railway stations in a city (every station, not just the main hub).
Returns each Deutsche Bahn station in the city with its EVA number, name,
category, coordinates and ZIP. Use an EVA from here with
station_board_departures/station_board_arrivals for a live board of any
station, including local/regional trains. Sourced from DB StaDa. Read-only.
Args:
slug: City slug from list_cities, e.g. "berlin".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, etc. Description adds 'Read-only' and 'Sourced from DB StaDa', plus clarifies it returns every station. No contradictions.
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?
Well-structured with front-loaded purpose and clear Args section. Slightly verbose but every sentence adds value.
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 read-only tool, the description covers purpose, parameter, usage context, and data source. No output schema needed; completeness is high.
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%, but description explains the slug parameter thoroughly: 'City slug from list_cities, e.g. 'berlin'.' This adds meaning beyond the schema title.
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 'List all railway stations in a city (every station, not just the main hub)' with a specific verb and resource, and distinguishes from sibling tools like station_board_departures.
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?
Explicitly tells when to use the tool (get list of stations), how to use its output with station_board_departures/arrivals, and that slug comes from list_cities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tourismARead-onlyIdempotentInspect
Get guest overnight stays and arrivals for a city's district.
Sourced from Regionalstatistik. Read-only.
Args:
slug: City slug from list_cities, e.g. "muenchen".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the description's 'Read-only' adds no new behavioral insight. It does mention the data source ('Sourced from Regionalstatistik'), which is useful context but not a behavioral trait.
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 concise sentences plus a bullet point for the argument. No filler, front-loaded with the core purpose. Every sentence adds value.
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?
The description gives a high-level idea of output ('guest overnight stays and arrivals') but lacks detail on structure (e.g., time granularity, whether multiple districts are returned). With no output schema, more clarity would be helpful, though the tool is simple.
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?
Despite 0% schema description coverage, the description thoroughly explains the 'slug' parameter: its origin ('from list_cities'), an example ('muenchen'), and its role (city identifier). This fully compensates 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 uses a specific verb ('Get') and resource ('guest overnight stays and arrivals for a city's district'), clearly distinguishing it from sibling tools which cover different domains like accidents or air quality.
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 explicitly states that the 'slug' parameter comes from the sibling tool 'list_cities', providing a clear prerequisite. It does not specify when not to use this tool, but the unique purpose sufficiently guides selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trafficARead-onlyIdempotentInspect
Get motorway roadworks and traffic messages for a city's region.
Sourced from the Autobahn API. Read-only. For inner-city closures use
road_events.
Args:
slug: City slug from list_cities, e.g. "hamburg".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds 'Read-only' and 'Sourced from the Autobahn API,' which confirms the read-only nature and data source, but does not reveal additional behavioral traits beyond what annotations cover. Still, it adds useful context.
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 extremely concise with three sentences. Each sentence serves a purpose: stating the tool's function, source and read-only nature, and usage guidance with parameter details. No unnecessary 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?
Given the tool's simplicity (one required parameter, no output schema), the description covers all necessary information: what it does, how to get the parameter, and an alternative tool. It is complete for an AI agent to select and invoke 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?
The schema has 0% description coverage for the 'slug' parameter, but the description compensates fully by explaining it is a 'City slug from list_cities' and providing an example ('hamburg'). This adds essential meaning for correct invocation.
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 tool gets 'motorway roadworks and traffic messages for a city's region.' It uses a specific verb and resource, and distinguishes itself from the sibling 'road_events' by specifying the domain (motorway vs inner-city).
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?
Explicit guidance is provided: 'For inner-city closures use road_events.' It also explains how to obtain the slug parameter via 'list_cities.' This tells the agent when to use this tool and when to use an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transitARead-onlyIdempotentInspect
Get public-transport stops for a German city (static).
Sourced from DELFI/GTFS (HVV in Hamburg). Read-only. For minute-fresh
departures with delays use transit_departures.
Args:
slug: City slug from list_cities, e.g. "berlin".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, open-world. Description adds that data is static and sourced from DELFI/GTFS (HVV in Hamburg), complementing annotations without contradiction.
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 concise paragraphs: first line gives purpose, second provides source and alternative tool. No redundant text; every sentence adds value.
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 tool with one required parameter and no output schema, the description is fully complete: tells what it returns, static nature, source, and how to get the input parameter.
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 'slug' is described as a city slug from list_cities with an example ('berlin'). This compensates for 0% schema description coverage and tells the agent exactly how to obtain the 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 clearly states it retrieves public-transport stops for a German city, specifies static data, and contrasts with transit_departures for live departures. This differentiates it from sibling 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?
Explicitly tells when to use this tool (static stops) and when to use transit_departures (live departures). Also notes read-only nature and data source, providing clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transit_departuresARead-onlyIdempotentInspect
Get live public-transport departures with real-time delays.
Sourced from GTFS-RT/HVV/VGN. Unlike transit (static stops), this returns
minute-fresh departures including delay. Read-only.
Args:
slug: City slug from list_cities, e.g. "berlin" or "hamburg".
stop_id: Optional stop ID; omit it to get the city's available
departures.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| stop_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds value beyond annotations by noting the data source (GTFS-RT/HVV/VGN), freshness ('minute-fresh'), and that it is read-only. Annotations already declare readOnlyHint, but the description provides useful operational context.
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 clear sentences for purpose and source, followed by a concise parameter list using code formatting. Every sentence is necessary; no fluff.
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?
Covers the main purpose, source, and parameter usage. No output schema, but description mentions 'returns minute-fresh departures including delay', which is adequate. Could clarify return structure but overall complete for a departure list.
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?
Parameters are explained: slug is a city slug from list_cities with examples, stop_id is optional and omitting it returns city departures. This adds meaning beyond the schema (which lacks descriptions), though no type constraints beyond schema are 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?
The description specifies 'Get live public-transport departures with real-time delays,' clearly identifying the action and resource. It distinguishes from the sibling 'transit' tool by contrasting static stops vs. minute-fresh departures.
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?
Explicitly states when to use this tool instead of 'transit' (static vs. live). Does not list alternative tools for other scenarios, but the context is clear for a real-time departures tool among many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unemploymentARead-onlyIdempotentInspect
Get the number of unemployed and the unemployment rate for a city's district.
Sourced from Regionalstatistik. Read-only.
Args:
slug: City slug from list_cities, e.g. "dortmund".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, etc. Description adds 'Read-only' (redundant) and source info but no new behavioral insights beyond annotations.
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 plus args section, focused and front-loaded. No superfluous content.
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?
Adequate for a simple one-param tool with annotations. Explains output data and source. Could clarify if multiple districts per city, but overall 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 has no description for slug (0% coverage). Description compensates by explaining slug as city slug from list_cities with example, adding clear 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?
Clearly states the tool retrieves unemployment count and rate for a city's district. Distinguishes from sibling city-data tools by specific topic.
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?
Implied usage from example and source mention, but lacks explicit when-to-use vs alternatives or when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vehicle_registrationsARead-onlyIdempotentInspect
Get registered car stock and electric share for a city's registration district.
Sourced from the Kraftfahrt-Bundesamt (KBA). Read-only.
Args:
slug: City slug from list_cities, e.g. "stuttgart".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false. The description adds value by stating 'Read-only' and revealing the data source (Kraftfahrt-Bundesamt), which enhances transparency beyond the annotations.
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 extremely concise: two sentences and an Args line. Every sentence is essential, and the most important information (purpose) is front-loaded. 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 one-parameter tool without an output schema, the description covers the main aspects: purpose, source, parameter guidance, and read-only nature. It could optionally describe the return format, but given tool simplicity, it is still complete enough.
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 does so excellently by explaining that the slug comes from `list_cities` and providing an example ('stuttgart'). This adds critical meaning that the schema alone lacks.
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 verb (Get) and resource (registered car stock and electric share) and provides the data source (KBA), making the purpose unambiguous. No sibling tool overlaps, so differentiation is inherent.
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 tells the agent to use the slug from `list_cities`, providing a clear prerequisite. It also declares the tool as read-only. While it doesn't explicitly list alternative tools, the context is sufficient for a simple tool with no direct siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
water_levelARead-onlyIdempotentInspect
Get water levels on federal waterways near a German city.
Sourced from PEGELONLINE. Read-only. Coverage is partial (only cities on a federal waterway return data).
Args:
slug: City slug from list_cities, e.g. "koeln".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive. Description adds data source (PEGELONLINE) and coverage limitation, adding value beyond annotations.
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 efficient sentences plus an args section. Front-loaded with main action, no redundant 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 simple tool with one parameter and no output schema, the description covers key aspects (source, coverage, parameter). Could mention the expected return type, but not critical.
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 lacks schema description (0% coverage), but the description fully clarifies it: a city slug from list_cities with example.
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?
Clearly states the tool retrieves water levels near German cities. Specific verb and resource. Does not explicitly differentiate from the sibling 'flood' tool, but the purpose is distinct enough.
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?
Provides context that coverage is partial and slug must come from list_cities. No explicit alternatives or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
weatherARead-onlyIdempotentInspect
Get current weather observations for a German city.
Sourced from the Deutscher Wetterdienst (DWD): temperature, wind,
precipitation and related fields. Read-only, current conditions only (not a
forecast). For warnings see weather_warnings.
Args:
slug: City slug from list_cities, e.g. "koeln".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint, openWorldHint. The description adds that it's read-only and current conditions only, and mentions the data source (DWD) and fields. This adds value beyond annotations without contradiction.
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?
Three sentences, each earning its place: what it does, data source and fields, and a note about warnings. No redundancy, well-structured.
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 tool with no output schema, the description explains the return value (current observations with specific fields) and points to a sibling for warnings. The annotations cover safety and idempotency. Complete and 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 schema has no description for 'slug'. The description compensates fully by explaining that slug comes from 'list_cities' and provides an example. This is essential for correct use.
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 it gets current weather observations for a German city, sourced from DWD, and explicitly lists the fields. It distinguishes from sibling 'weather_warnings' by noting this is not a forecast and pointing to that tool for warnings.
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 tells the agent when to use this tool (for current observations) and when not (for warnings, directing to 'weather_warnings'). It also clarifies it's not a forecast, providing clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
weather_warningsARead-onlyIdempotentInspect
Get official weather warnings for a German city (highest active level).
Sourced from the Deutscher Wetterdienst (DWD). Read-only.
Args:
slug: City slug from list_cities, e.g. "muenchen".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds context beyond annotations: data source (DWD), the fact that it returns only the highest active level, and read-only behavior. This complements annotations (readOnlyHint, openWorldHint, idempotentHint) without contradiction.
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?
Three sentences: first states purpose, second gives source, third describes argument. Front-loaded and efficient with no redundant 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 simple read-only tool with no output schema, the description provides core information. However, it could hint at the return format (e.g., warnings list or text) to compensate for missing output schema. Still sufficient overall.
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?
With 0% schema description coverage, the description fully documents the single parameter 'slug', specifying it's a city slug from list_cities with example 'muenchen'. This adds essential meaning beyond the schema's type string.
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?
Description clearly states verb 'Get', resource 'official weather warnings', scope 'for a German city', and specifies 'highest active level'. This distinguishes it from sibling tools like weather, flood, or air_quality which are separate 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?
Description instructs to use slug from list_cities and notes read-only nature. While it does not explicitly state alternatives or when-not-to-use, the context of sibling tools and the specific purpose provide sufficient guidance for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
webcamsARead-onlyIdempotentInspect
Get traffic webcams for a city's region.
Sourced from the Autobahn API. Read-only. Coverage is partial.
Args:
slug: City slug from list_cities, e.g. "hamburg".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint as true, and destructiveHint false. The description adds that it is from Autobahn API and has partial coverage, providing minimal extra context. No contradictions.
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 extremely concise, with three short sentences. Each sentence adds value: the first states the core purpose, the second provides source and limitations, the third explains the parameter. 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?
Given one parameter, no output schema, and comprehensive annotations, the description covers the essentials: purpose, source, limitations, and parameter explanation. It could optionally mention the expected output format (e.g., list of URLs), but is adequate as is.
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?
With 0% schema description coverage, the description adds crucial meaning to the slug parameter: 'City slug from list_cities, e.g. 'hamburg''. This helps the agent understand how to construct the argument, going beyond the schema's bare 'string' type.
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?
Description clearly states 'Get traffic webcams for a city's region', specifying the verb, resource, and scope. It also mentions the source (Autobahn API) and that coverage is partial, leaving no ambiguity about the tool's function.
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 usage after calling list_cities to obtain the slug, but does not explicitly state when to use this tool over alternatives like traffic or weather tools. No guidance on when not to use it or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!