Skip to main content
Glama
llnOrmll

World Bank Data360 MCP Server

by llnOrmll

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
search_datasets_toolA

[STEP 1/3] Search World Bank Data360 for datasets.

    <purpose>
        Search World Bank Data360 for datasets. This is STEP 1 of 3 in the data retrieval workflow.
        Find indicator IDs and database IDs needed for subsequent data operations.
    </purpose>

    <workflow>
        <step number="1">search_datasets (this tool) - Find indicator ID and database ID</step>
        <step number="2">get_temporal_coverage - Check available years BEFORE retrieving data</step>
        <step number="3">retrieve_data - Fetch actual data with proper year and limit parameters</step>
    </workflow>

    <optimization_tips>
        <tip>Remove punctuation: "GDP, total" becomes "GDP total"</tip>
        <tip>Expand abbreviations: "GDP" becomes "Gross Domestic Product"</tip>
        <tip>Add "total" for aggregates: "population" becomes "population total"</tip>
        <tip>Use lowercase for consistency</tip>
        <tip>Remove filler words: "data", "statistics"</tip>
    </optimization_tips>

    <common_databases>
        <database id="WB_WDI">World Development Indicators (most comprehensive)</database>
        <database id="WB_HNP">Health, Nutrition and Population</database>
        <database id="WB_GDF">Global Development Finance</database>
    </common_databases>

    <examples>
        <example original="GDP">gross domestic product total</example>
        <example original="population data">population total</example>
        <example original="">poverty headcount ratio</example>
    </examples>

    <returns>
        List of datasets with indicator IDs, names, database IDs, and search scores.
    </returns>

    <next_step>
        Call get_temporal_coverage with the indicator and database from results.
    </next_step>
get_temporal_coverage_toolA

[STEP 2/3] Get available years for a specific dataset.

    CRITICAL: Always call this BEFORE retrieve_data to avoid errors.
    
    Workflow:
    1. search_datasets - Done āœ“
    2. get_temporal_coverage (this tool) - Check what years are available
    3. retrieve_data - Use latest_year from this response
    
    Returns: start_year, end_year, latest_year, and full list of available years.
    Next step: Call retrieve_data with year=latest_year.
    
retrieve_data_toolA

[STEP 3/3] Retrieve actual data from World Bank Data360.

āš ļø PREREQUISITE: Call get_temporal_coverage first to get latest_year.

🚨 CRITICAL TYPE REQUIREMENTS 🚨

When calling this tool, you MUST pass parameters with the EXACT types shown below. Common mistakes that cause validation errors:

āŒ INCORRECT: {"limit": "10"} ← limit as STRING (causes error!) āœ… CORRECT: {"limit": 10} ← limit as INTEGER

āŒ INCORRECT: {"exclude_aggregates": "true"} ← boolean as STRING āœ… CORRECT: {"exclude_aggregates": true} ← boolean as BOOLEAN

āŒ INCORRECT: {"year": 2023} ← year as NUMBER āœ… CORRECT: {"year": "2023"} ← year as STRING

šŸ“‹ PARAMETER TYPES - MUST MATCH EXACTLY:

STRING parameters (use quotes in JSON): indicator: "WB_WDI_SP_POP_TOTL" database: "WB_WDI" year: "2023" countries: "USA,CHN,JPN" sex: "M" or "F" or "_T" age: "0-14" sort_order: "desc" or "asc"

INTEGER parameters (no quotes in JSON): limit: 10 (default: 20)

BOOLEAN parameters (no quotes in JSON): exclude_aggregates: true or false (default: true) compact_response: true or false (default: true)

šŸŽÆ CORRECT JSON EXAMPLES:

Example 1 - Top 10 countries by population: { "indicator": "WB_WDI_SP_POP_TOTL", "database": "WB_WDI", "year": "2023", "limit": 10, "sort_order": "desc", "exclude_aggregates": true }

Example 2 - Specific countries GDP: { "indicator": "WB_WDI_NY_GDP_MKTP_CD", "database": "WB_WDI", "year": "2023", "countries": "USA,CHN,JPN" }

Example 3 - All data with aggregates: { "indicator": "WB_WDI_SP_POP_TOTL", "database": "WB_WDI", "year": "2022", "exclude_aggregates": false }

⚔ HOW IT WORKS:

  • countries parameter: API fetches ONLY those countries (efficient)

  • exclude_aggregates: Filters out 47 regional/income codes (ARB, AFE, WLD, HIC, etc.) āš ļø DEFAULT is TRUE - only individual countries returned Set to false to include aggregates like "World", "High income", "Arab World"

  • sort_order: Sorts by OBS_VALUE before limiting

  • limit parameter: Returns top N records to minimize tokens āš ļø DEFAULT is 20 - provides reasonable default, override if you need more

  • compact_response: Returns only essential fields (country, country_name, year, value) āš ļø DEFAULT is TRUE - minimizes token usage by ~75% Set to false if you need all fields (REF_AREA, TIME_PERIOD, OBS_VALUE, UNIT_MEASURE, etc.)

šŸ“Š AFTER RECEIVING DATA: Format results as markdown table:

  • Sort by value (highest to lowest)

  • Add rank numbers

  • Format with thousand separators

  • Include country names (not just codes)

Returns: Data records with summary statistics.

list_popular_indicatorsA

Get a curated list of popular World Bank indicators.

    This tool helps users discover commonly requested indicators without searching.
    Perfect for getting started or exploring what data is available.

    Categories included:
    - Demographics: Population, growth rate, density, fertility
    - Economy: GDP, GDP per capita, growth, inflation, trade
    - Health: Life expectancy, mortality rates (infant, under-5, maternal)
    - Education: Literacy rates, school enrollment
    - Labor: Unemployment, labor force participation, employment ratios
    - Poverty & Inequality: Poverty rates, Gini index, income distribution
    - Environment: Greenhouse gas emissions, forest area, renewable energy
    - Infrastructure: Electricity access, water, sanitation
    - Technology: Internet usage, mobile subscriptions, broadband

    Returns: List of 38 curated indicators with codes, names, descriptions, and categories.

    Usage: Browse the list, pick an indicator code, then use search_datasets
    to find the exact database ID before retrieving data.
    
search_local_indicatorsA

Search through local metadata for World Bank indicators (instant, offline).

    This is a FAST alternative to search_datasets that searches through locally cached
    metadata. Use this to discover what types of data are available before using the
    API search.

    How it works:
    - Searches indicator names, codes, and descriptions
    - Instant results (no API call)
    - Returns relevance-ranked matches

    Search tips:
    - Use simple keywords: "unemployment", "poverty", "co2", "water"
    - Search works on indicator names AND descriptions
    - Case-insensitive
    - More specific queries = better results

    Example queries:
    - "unemployment" → finds all unemployment-related indicators
    - "mortality infant" → finds infant mortality indicators
    - "internet" → finds internet usage indicators
    - "renewable energy" → finds renewable energy indicators

    Parameters:
    - query: Search term (e.g., "unemployment", "gdp growth", "water access")
    - limit: Maximum number of results to return (default: 20)

    Returns: List of matching indicators with codes, names, descriptions, and relevance scores.

    Note: This returns indicator codes but NOT database IDs. After finding an indicator,
    use search_datasets with the indicator name to get the database ID needed for data retrieval.
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: search_datasets_tool and search_local_indicators serve different search functions (API vs. offline), get_temporal_coverage_tool handles year availability, retrieve_data_tool fetches actual data, and list_popular_indicators provides curated discovery. The descriptions explicitly differentiate their roles, preventing agent misselection.

Naming Consistency3/5

The naming is mixed, with some tools using verb_noun (search_datasets_tool, retrieve_data_tool) and others using noun_verb (get_temporal_coverage_tool, list_popular_indicators). While all names are readable and descriptive, the inconsistency in verb placement and suffix usage ('_tool' on some but not others) reduces predictability. The pattern is not chaotic but lacks uniformity.

Tool Count5/5

With 5 tools, the count is well-scoped for a World Bank data server, covering essential workflows: discovery (search_local_indicators, list_popular_indicators), search (search_datasets_tool), validation (get_temporal_coverage_tool), and retrieval (retrieve_data_tool). Each tool earns its place without bloat, supporting a clear data access pipeline.

Completeness4/5

The tool set covers the core data retrieval workflow comprehensively: search, temporal validation, and data fetching, with additional discovery aids. Minor gaps exist, such as no explicit tools for filtering or aggregating data beyond basic parameters, but agents can work around these using the provided tools. The surface supports end-to-end data access without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues