Skip to main content
Glama

Get Indicator

get_indicator
Read-onlyIdempotent

Get World Bank time-series data — economic, social, and development statistics — for ANY country worldwide (Spain, Brazil, Germany, Nigeria, Japan, etc.). PREFER for "unemployment rate in ", " inflation rate", "GDP of ", " population / life expectancy / poverty rate / CO2 emissions", "what share of GDP comes from agriculture in " / "agriculture's share of GDP". Pass the ISO country code + a World Bank indicator code; common ones: GDP=NY.GDP.MKTP.CD, GDP per capita=NY.GDP.PCAP.CD, inflation=FP.CPI.TOTL.ZG, unemployment=SL.UEM.TOTL.ZS, population=SP.POP.TOTL, life expectancy=SP.DYN.LE00.IN, poverty rate=SI.POV.DDAY, literacy=SE.ADT.LITR.ZS, agriculture value added (% of GDP)=NV.AGR.TOTL.ZS. For CO2 use the dedicated country_co2_emissions tool (the old EN.ATM.CO2E.* codes were DELETED by the World Bank; the live series is EN.GHG.CO2.MT.CE.AR5). For governance/corruption/rule-of-law/political-stability use the dedicated get_governance_indicators tool (Worldwide Governance Indicators, codes like GOV_WGI_CC.EST). (Annual data — a national statistics office may have fresher monthly figures.)

Input Schema

NameRequiredDescriptionDefault
indicatorYesWorld Bank indicator code (e.g., "NY.GDP.MKTP.CD", "SP.POP.TOTL")
date_rangeNoYear range in format "start:end" (default: 2015:2024). Example: "2000:2023"
country_codeYesISO country code (e.g., "US", "GBR", "CN")

Output Schema

NameRequiredDescriptionDefault
dataYesTime-series data points sorted by year descending
countryYesCountry name or code
country_idYesWorld Bank country ID
date_rangeYesRequested date range in start:end format
indicator_idYesWorld Bank indicator code
last_updatedYesLast update timestamp from World Bank API
total_recordsYesTotal number of records available
indicator_nameYesFull indicator name/description

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "country": {
      +      "description": "Country name or code",
      +      "type": "string"
      +    },
      +    "country_id": {
      +      "description": "World Bank country ID",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "data": {
      +      "description": "Time-series data points sorted by year descending",
      +      "items": {
      +        "properties": {
      +          "value": {
      +            "description": "Indicator value for the year",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "year": {
      +            "description": "Year of the observation",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "date_range": {
      +      "description": "Requested date range in start:end format",
      +      "type": "string"
      +    },
      +    "indicator_id": {
      +      "description": "World Bank indicator code",
      +      "type": "string"
      +    },
      +    "indicator_name": {
      +      "description": "Full indicator name/description",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "last_updated": {
      +      "description": "Last update timestamp from World Bank API",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "total_records": {
      +      "description": "Total number of records available",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "country",
      +    "country_id",
      +    "indicator_id",
      +    "indicator_name",
      +    "date_range",
      +    "total_records",
      +    "last_updated",
      +    "data"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "country_code": "CN",
      +    "indicator": "NY.GDP.MKTP.CD"
      +  },
      +  {
      +    "country_code": "IN",
      +    "date_range": "2000:2023",
      +    "indicator": "SP.POP.TOTL"
      +  }
      +]
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the description's added value is the freshness caveat that the series is annual and a national statistics office may have more recent monthly figures, plus the note that legacy CO2 codes are retired. It does not need to explain return shape since an output schema exists, but it stops short of noting coverage gaps or missing-country behavior.

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?

Front-loads purpose, then selection guidance, then the code table, then exclusions - the ordering matches how an agent needs the information. The indicator code list is long but each entry earns its place by removing a lookup step; density is high with almost no filler sentences.

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?

For a three-parameter, fully documented, output-schema-backed read tool, the description covers purpose, selection vs siblings, parameter vocabulary and a data-freshness caveat. Nothing an agent needs in order to invoke 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 baseline is 3, but the description adds real meaning by supplying a mapping of common concepts to World Bank indicator codes (GDP, inflation, unemployment, poverty, agriculture share), which the schema only gestures at with two examples. The date_range format and default are left to the schema, so it is not fully exhaustive.

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 (World Bank time-series economic/social/development statistics) with scope ('ANY country worldwide') and concrete query phrasings. It explicitly names what it is not by routing CO2 and governance queries to sibling tools, so an agent can disambiguate it from country_co2_emissions, get_governance_indicators, get_gdp and get_population.

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?

Uses an explicit 'PREFER for' list of natural-language query patterns that select this tool, and gives two concrete exclusions with the alternative tool named and the reason (EN.ATM.CO2E.* codes deleted; WGI codes live in get_governance_indicators). When/when-not/alternatives are all present.

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.