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

Tools

Functions exposed to the LLM to take actions

NameDescription
search_datasets_tool

[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_tool

[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_tool

[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_indicators

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_indicators

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/llnOrmll/world-bank-data-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server