Skip to main content
Glama

Destatis Search

destatis_search
Read-onlyIdempotent

Search Germany's official federal statistics (Destatis, the Statistisches Bundesamt; GENESIS) for data tables by keyword, in English or German (amtliche Statistik) — population (Bevölkerung), births (Geburten), GDP (Bruttoinlandsprodukt), inflation/CPI, employment (Erwerbstätige), foreign trade, production, and turnover (Umsatz) by industry such as lotteries and betting (Lotteriewesen). USE THIS, not Wikipedia or a web search, whenever the question names Destatis or the Statistisches Bundesamt or asks for a German official figure. Common topics (lotteries and betting, insolvencies, population, births, deaths, employment, prices, GDP, trade, production, retail, tourism, earnings) are answered instantly from a curated table index with a data_as_of date; other terms go to a live title search, which is slow for full sentences, so pass key words. Returns matching table codes (e.g. "12411-0001") + titles; pass a code to destatis_table to get the data.

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "term": "population"
    },
    "name": "destatis_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
termNoKeyword(s) in English or German, e.g. "population", "Bevölkerung", "consumer prices", "Umsatz". English is tried first, then German.
limitNoMax tables to return (1-50, default 15).
queryNoAlias for term.
_apiKeyNoOptional — your own free Destatis GENESIS API token. Omit to use the shared Pipeworx token.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / query
      Added value: +{
      +  "description": "Alias for term.",
      +  "type": "string"
      +}
    • changedInput schema / properties / term / description
      Previous value: -"Keyword(s), e.g. \"population\", \"consumer prices\", \"GDP\", \"unemployment\"."New value: +"Keyword(s) in English or German, e.g. \"population\", \"Bevölkerung\", \"consumer prices\", \"Umsatz\". English is tried first, then German."
    • removedInput schema / required
      Removed value: -[
      -  "term"
      -]
  2. Changed1 schema field changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "_apiKey": "your-destatis-api-key",
      -    "term": "population"
      -  },
      -  {
      -    "_apiKey": "your-destatis-api-key",
      -    "limit": 20,
      -    "term": "consumer prices inflation"
      -  }
      -]New value: +[
      +  {
      +    "term": "population"
      +  },
      +  {
      +    "limit": 20,
      +    "term": "consumer prices inflation"
      +  }
      +]
  3. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "_apiKey": "your-destatis-api-key",
      +    "term": "population"
      +  },
      +  {
      +    "_apiKey": "your-destatis-api-key",
      +    "limit": 20,
      +    "term": "consumer prices inflation"
      +  }
      +]
  4. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnly/idempotent/openWorld, but the description adds the traits that actually shape agent behavior: common topics resolve instantly from a curated index with a data_as_of date, other terms hit a live title search that is slow for full sentences, and results are table codes plus titles. That latency and provenance disclosure goes well beyond what the annotations carry.

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

Conciseness4/5

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

The lead clause and the USE THIS routing come first, which is the right order. It runs long, and the parenthetical topic list (Bevölkerung, Geburten, Bruttoinlandsprodukt, Lotteriewesen) is dense, though those tokens double as keyword hints so they mostly earn their space.

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

Completeness5/5

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

There is no output schema, so the description carries the return contract itself and does so — matching table codes such as "12411-0001" plus titles, and the follow-up tool to call. For a read-only search with no required parameters, nothing an agent needs in order to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description still earns above baseline by telling the agent to pass key words rather than full sentences and by noting English is tried before German. It doesn't discuss the limit or _apiKey tradeoffs, but the schema already documents those.

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

Purpose5/5

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

States a specific verb and resource — search Germany's official federal statistics (Destatis/GENESIS) for data tables by keyword — and names the exact sibling it hands off to (destatis_table). It also disambiguates against non-tool alternatives (Wikipedia, web search), so the agent can place it without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit positive trigger ('whenever the question names Destatis or the Statistisches Bundesamt or asks for a German official figure'), an explicit negative ('USE THIS, not Wikipedia or a web search'), and the downstream step ('pass a code to destatis_table to get the data'). It even segments internal routing: curated index for common topics vs live title search for other terms.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.