worldbank-mcp-server
io.github.cyanheads/worldbank-mcp-serverVersion 0.6.1Query 29,500+ World Bank development indicators for 200+ countries across 60+ years.
Status
Responds536 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:49 UTC
- Latency
- 536 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://worldbank.caseyjhand.com/mcpResponds536 msNo sign-in
Claude Code
claude mcp add --transport http worldbank-mcp-server https://worldbank.caseyjhand.com/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: worldbank-mcp-server
Remote MCP server URL: https://worldbank.caseyjhand.com/mcpCursor
{
"mcpServers": {
"worldbank-mcp-server": {
"url": "https://worldbank.caseyjhand.com/mcp"
}
}
}VS Code
code --add-mcp '{"name":"worldbank-mcp-server","type":"http","url":"https://worldbank.caseyjhand.com/mcp"}'Streamable HTTP
npm: @cyanheads/worldbank-mcp-server 0.6.1Package only
npm (npx)
claude mcp add worldbank-mcp-server -- npx -y @cyanheads/worldbank-mcp-server@0.6.1Streamable HTTP
npm: @cyanheads/worldbank-mcp-server 0.6.1Package only
npm (npx)
claude mcp add worldbank-mcp-server -- npx -y @cyanheads/worldbank-mcp-server@0.6.1Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
9 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
worldbank_get_countryFetch 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. | Not declared | Yes | Yes | Yes |
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. 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 1000 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. | Not declared | Yes | Yes | Yes |
worldbank_get_indicatorFetch 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. | Not declared | Yes | Yes | Yes |
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 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. Nullable estimateType separately identifies actual, nowcast, or projection estimates, while distributionType preserves the source distribution classification (micro, group, or imputed); missing upstream classifications remain null. On an economy, estimationType "survey" rows carry the full inequality block; "interpolation", "extrapolation", and "CMD estimation" rows are gap-filled estimates where no survey covers the year, reporting level, and welfare type, 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. | Not declared | Yes | Yes | Yes |
worldbank_list_countriesList 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), or by text with filter, which matches words in each entry's id and name; 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. With source_id, lists that dataset's own entities instead, and filter finds them by name or code (source_id=50 with filter="Kenya" returns Kenya and its provinces). | Not declared | Yes | Yes | Yes |
worldbank_list_sourcesList 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, worldbank_get_data, and worldbank_list_countries, one page at a time. | Not declared | Yes | Yes | Yes |
worldbank_list_topicsList 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. | Not declared | Yes | Yes | Yes |
worldbank_search_indicatorsSearch 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. | Not declared | Yes | Yes | Yes |
worldbank_search_projectsSearch the World Bank lending portfolio — the individual loans, credits, and grants the Bank finances — by free text, country, region, status, sector, financing window (IBRD, IDA, Grants, Other), and board approval date. Returns the project ID, name, development objective, 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, the sub-sectors under them with the share of the commitment each carries, 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. sector takes the sub-sector names rows list in sectors[].name, not the majorSectors names — for education commitments, sector: ["Primary Education", "Secondary Education", "Tertiary Education"] rather than a free-text query, which also matches incidental prose. Those are three of the Education sub-sectors, so read sectors[].name on a few matching rows to collect the rest before totalling a whole sector. A project matches when it lists a sector at any share, so a sector total weights each totalCommitment by the percent that sector carries. 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 3W or 3E; 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. | Not declared | Yes | Yes | Yes |
Details
- Registry status
- Active
- Published
- Nov 11, 2026
- Updated
- Nov 11, 2026
- Website
- Not given
- Categories (suggested)
- Project managementFinance and paymentsSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared