io. github. cyanheads/ worldbank-mcp-server
by cyanheads · remote · local (npm) · no sign-in to list tools · v0.5.4 · published by GitHub user cyanheads
Query 29,500+ World Bank development indicators for 200+ countries across 60+ years.
9 tools: 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads9Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http worldbank https://worldbank.caseyjhand.com/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Only reads 9Claude Code: allow
worldbank_get_countryFetch metadata for one country or aggregate entity: ISO codes, region, income level, lending type, capital, and coordinates.No findings
Why it is in this group
- The name "worldbank_get_country" says "get": a word for reading.
Description, as the server wrote it Fetch metadata for one country or aggregate entity: ISO codes, region, income level, lending type, capital, and coordinates. Accepts an ISO2 code (US, DE), an ISO3 code (USA, DEU), or a World Bank aggregate code (EAS, HIC, WLD); "all" and lists of codes are rejected. Use worldbank_list_countries to browse valid codes.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
worldbank_get_dataQuery World Bank indicator values for one or more countries across a time range — the primary data-access tool; find indicator_id values with worldbank_search_indicators.No findings
Why it is in this group
- The name "worldbank_get_data" says "get": a word for reading.
Description, as the server wrote it Query World Bank indicator values for one or more countries across a time range — the primary data-access tool; find indicator_id values with worldbank_search_indicators. Observations carry a null value where data is not available for a country×year cell, which is common for sparse series. Set at most one of date_range (a time window), mrv (the latest N periods across the requested countries), or mrnev (each country's own latest N values). Some series, such as Global Economic Monitor's, publish quarterly or monthly values beside annual ones: frequency picks the form mrv and mrnev select from (annual by default), and a date_range's own form (2024, 2024Q1, 2024M01) picks it for a window. lastUpdated gives the serving source's last update date, the data vintage to cite. For "all" countries, page through the results at up to 200 per page, since the API returns several hundred entries per indicator. Indicators the standard data endpoint does not serve — WDI Database Archives, PEFA, ICP, GDLD, International Debt Statistics: DSSI, Food Prices for Nutrition — are answered from their own dataset instead; the response then carries sourceScoped, naming that dataset and the release, classification, sector, or counterpart area applied (see dimension_value), because those values can be archived or superseded figures rather than current ones.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
worldbank_get_indicatorFetch metadata for one World Bank indicator by ID: name, description, unit, source dataset, source organization, and thematic topics.No findings
Why it is in this group
- The name "worldbank_get_indicator" says "get": a word for reading.
Description, as the server wrote it Fetch metadata for one World Bank indicator by ID: name, description, unit, source dataset, source organization, and thematic topics. Use worldbank_search_indicators to find the ID when only the concept is known; "all" and lists of IDs are rejected.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
worldbank_get_povertyQuery poverty and inequality estimates from the World Bank Poverty and Inequality Platform (PIP) for economies and for PIP's own aggregates — World, World Bank regions, income grou…No findings
Why it is in this group
- The name "worldbank_get_poverty" says "get": a word for reading.
Description, as the server wrote it Query poverty and inequality estimates from the World Bank Poverty and Inequality Platform (PIP) for economies and for PIP's own aggregates — World, World Bank regions, income groups, lending groups, and fragility groups. Returns the poverty headcount ratio, poverty gap, and poverty severity at any poverty line, plus mean and median welfare and population. Use it for inequality and distribution questions too — survey-based economy rows carry the Gini coefficient, mean log deviation, polarization, and the ten decile income/consumption shares, because PIP returns poverty and inequality in the same row. PIP is a separate dataset from the WDI series worldbank_get_data reads: it measures welfare in PPP dollars per person per day, at a PPP vintage ppp_version selects, and computes its aggregates at any poverty line, where worldbank_get_data carries only the published lines. Every row reports how it was produced. On an economy, estimationType "survey" rows carry the full inequality block; "interpolation", "extrapolation", and "CMD estimation" rows are gap-filled estimates for years no survey covers, and their gini, mld, polarization, and decileShares are null — a documented gap in the source data, not an error. Aggregate rows (isAggregate true) are "actual", "nowcast", or "projection", add popInPoverty, and carry no distributional block.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
worldbank_list_countriesList countries and regional aggregates with metadata: ISO codes, region, income level, lending type, capital, and coordinates.No findings
Why it is in this group
- The name "worldbank_list_countries" says "list": a word for reading.
Description, as the server wrote it List countries and regional aggregates with metadata: ISO codes, region, income level, lending type, capital, and coordinates. Filter by region code (e.g. EAS, SSF, NAC), income level (LIC, LMC, UMC, HIC), and lending type (IDX for IDA, IBD for IBRD, IDB for Blend); filters combine by AND. Aggregate entries are excluded by default, leaving individual countries only; set include_aggregates=true to also return region, income group, and world aggregate entities.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
worldbank_list_sourcesList the 70+ World Bank data sources (datasets), such as World Development Indicators, International Debt Statistics, and Doing Business.No findings
Why it is in this group
- The name "worldbank_list_sources" says "list": a word for reading.
Description, as the server wrote it List the 70+ World Bank data sources (datasets), such as World Development Indicators, International Debt Statistics, and Doing Business. Returns source IDs and names for use as source_id in worldbank_search_indicators, one page at a time.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
worldbank_list_topicsList all 21 World Bank thematic topics (Economy & Growth, Health, Education, and others) with descriptions.No findings
Why it is in this group
- The name "worldbank_list_topics" says "list": a word for reading.
Description, as the server wrote it List all 21 World Bank thematic topics (Economy & Growth, Health, Education, and others) with descriptions. Use it to browse the indicator space by theme or to find a topic_id for worldbank_search_indicators.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
worldbank_search_indicatorsSearch the 29,500+ World Bank indicator catalog by keyword, topic, or source, returning indicator IDs and metadata for worldbank_get_data.No findings
Why it is in this group
- The name "worldbank_search_indicators" says "search": a word for reading.
Description, as the server wrote it Search the 29,500+ World Bank indicator catalog by keyword, topic, or source, returning indicator IDs and metadata for worldbank_get_data. Provide at least one of query, topic_id, or source_id; a topic and a source together narrow to indicators in both. A keyword query matches every term against indicator ID, name, and full description, in any word order, across the whole catalog or the whole selected topic or source; punctuation is ignored, so the query needs at least one letter or digit. Exact ID or name matches rank first, then names starting with the phrase as whole words, then whole-phrase matches, then matches where every term is a whole word of the ID or name, then other ID/name matches, then description-only matches; within each of those, World Development Indicators series come first, then other live sources, then archives, and a series comes ahead of its own breakdowns by sex, area, or age. Each indicator ID appears once, even where the catalog publishes it under two sources. Each result carries the first 150 characters of its description; worldbank_get_indicator returns the whole of it. Find topic IDs with worldbank_list_topics and source IDs with worldbank_list_sources.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
worldbank_search_projectsSearch the World Bank lending portfolio — the individual loans, credits, and grants the Bank finances — by free text, country, region, status, financing window (IBRD, IDA, Grants, …No findings
Why it is in this group
- The name "worldbank_search_projects" says "search": a word for reading.
Description, as the server wrote it Search the World Bank lending portfolio — the individual loans, credits, and grants the Bank finances — by free text, country, region, status, financing window (IBRD, IDA, Grants, Other), and board approval date. Returns the project ID, name, borrowing country, region, status, board approval and closing dates, the commitment amount in USD with its IBRD, IDA, and grant parts, financing windows, major sectors, and a link to the project page. This is the operations catalogue, not the statistics catalogue: use it for "what is the World Bank funding in Kenya", "which climate adaptation projects are active", or "how much was committed to education in South Asia since 2020". For development statistics and time series, use worldbank_search_indicators and worldbank_get_data instead. Countries take the ISO3 or ISO2 codes the other tools take (BRA or BR), and multi-country operations carry a World Bank regional code such as 3A; WDI aggregates such as SSF or WLD are rejected, since the portfolio lists operations by economy — use region for those. Every filter is an exact match upstream and combines with the others by AND, so a narrow search can legitimately return nothing; when it does, the response says whether the country codes matched anything on their own.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.5.4. Values in angle brackets are yours to fill in.
claude mcp add --transport http worldbank https://worldbank.caseyjhand.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__worldbank__worldbank_list_topics",
"mcp__worldbank__worldbank_list_sources",
"mcp__worldbank__worldbank_list_countries",
"mcp__worldbank__worldbank_get_country",
"mcp__worldbank__worldbank_search_indicators",
"mcp__worldbank__worldbank_get_indicator",
"mcp__worldbank__worldbank_get_data",
"mcp__worldbank__worldbank_get_poverty",
"mcp__worldbank__worldbank_search_projects"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as worldbank. Review it before you use it.
