About worldbank-mcp
worldbank-mcp connects MCP clients to the World Bank Open Data API for country and development data queries. It serves users comparing economic, social, education, and health indicators across countries and years.
Key features
- 01List countries by region or income level
- 02Retrieve country information
- 03Search available indicators
- 04Query economic and social data
- 05Query education, health, and nutrition data
Use cases
- 01Compare GDP or inflation across countries
- 02Examine population and life expectancy trends
- 03Find country education or health indicators
- 04Explore indicators by keyword
MCP support
The server exposes World Bank country, indicator search, and country-data queries as MCP tools for compatible clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
7Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| region | string | No | Filter by region, e.g.: "East Asia & Pacific" |
| incomeLevel | string | No | Filter by income level, e.g.: "High income" |
Details
From the project READMEWorld Bank MCP 🌐
World Bank Model Context Protocol service based on World Bank Open Data API, which provides query capabilities for global economic and social development data.
📋 Features
- ✅ Country information query
- ✅ Indicator search (education, health, environment, etc.)
- ✅ Economic data query (GDP, inflation, unemployment, etc.)
- ✅ Social development data query (population, life expectancy, internet usage, etc.)
- ✅ Education data query (literacy rate, school enrollment, etc.)
- ✅ Health and nutrition data query (hospitals, immunization, HIV prevalence, malnutrition, etc.)
- ✅ Real-time World Bank API integration
- ✅ Model Context Protocol compatibility
📦 Installation
Install globally with npm
npm install -g worldbank-mcp
Run instantly with npx
npx worldbank-mcp
💻 Usage in MCP Clients
To use this service in MCP-compatible clients (such as Claude Desktop, Cursor, Cherry Studio, etc.), you need to configure it as follows:
Configuration example:
Run with npm if you have installed it globally:
{
"mcpServers": {
"worldbank-mcp": {
"name": "World Bank Data",
"command": "worldbank-mcp",
"description": "World Bank Open Data MCP Server"
}
}
}
Run instantly with npx:
{
"mcpServers": {
"worldbank-mcp": {
"name": "World Bank Data",
"command": "npx",
"args": ["worldbank-mcp"],
"description": "World Bank Open Data MCP Server"
}
}
}
Run directly with node:
{
"mcpServers": {
"worldbank-mcp": {
"name": "World Bank Data",
"command": "node",
"args": ["path/to/worldbank-mcp/build/index.js"],
"description": "World Bank Open Data MCP Server"
}
}
}
Replace path/to/ with the actual path to your project directory.
🔧 MCP Tools
1. Get Countries List
{
"name": "get-countries",
"description": "Get all countries supported by World Bank",
"parameters": {
"region": "Filter by region (optional)",
"incomeLevel": "Filter by income level (optional)"
}
}
2. Get Country Information
{
"name": "get-country-info",
"description": "Get detailed information for a specific country",
"parameters": {
"countryCode": "Country code (e.g.: CN, US)"
}
}
3. Search Indicators
{
"name": "search-indicators",
"description": "Search for available indicators",
"parameters": {
"keyword": "Search keyword"
}
}
4. Get Economic Data
{
"name": "get-economic-data",
"description": "Get economic data for a country",
"parameters": {
"countryCode": "Country code",
"indicator": "Economic indicator (GDP, GDP_GROWTH, GDP_PER_CAPITA, GNI, GNI_PER_CAPITA, EXPORTS_GDP, FDI_NET, INFLATION, UNEMPLOYMENT)",
"years": "Number of years to query (optional, default 10 years)"
}
}
5. Get Social Development Data
{
"name": "get-social-data",
"description": "Get social development data for a country",
"parameters": {
"countryCode": "Country code",
"indicator": "Social indicator (POPULATION, LIFE_EXPECTANCY, BIRTH_RATE, DEATH_RATE, INTERNET_USERS)",
"years": "Number of years to query (optional, default 10 years)"
}
}
6. Get Education Data
{
"name": "get-education-data",
"description": "Get education data for a country",
"parameters": {
"countryCode": "Country code",
"indicator": "Education indicator (LITERACY_RATE, SCHOOL_ENROLLMENT, SCHOOL_COMPLETION, TEACHERS_PRIMARY, EDUCATION_EXPENDITURE)",
"years": "Number of years to query (optional, default 10 years)"
}
}
7. Get Health and Nutrition Data
{
"name": "get-health-data",
"description": "Get health and nutrition data for a country",
"parameters": {
"countryCode": "Country code",
"indicator": "Health indicator (HEALTH_EXPENDITURE, PHYSICIANS, HOSPITAL_BEDS, IMMUNIZATION, HIV_PREVALENCE, MALNUTRITION, TUBERCULOSIS)",
"years": "Number of years to query (optional, default 10 years)"
}
}
📖 Supported Indicators
Economic Indicators
| Indicator Code | Description | Unit |
|---|---|---|
| GDP | Gross Domestic Product | Current US$ |
| GDP_GROWTH | GDP growth rate | Annual % |
| GDP_PER_CAPITA | GDP per capita | Current US$ |
| GNI | Gross National Income | Current US$ |
| GNI_PER_CAPITA | GNI per capita | Current US$ |
| EXPORTS_GDP | Exports of goods and services | % of GDP |
| FDI_NET | Foreign direct investment, net inflows | Current US$ |
| INFLATION | Inflation rate | Annual % |
| UNEMPLOYMENT | Unemployment rate | % of total labor force |
Social Indicators
| Indicator Code | Description | Unit |
|---|---|---|
| POPULATION | Population, total | People |
| LIFE_EXPECTANCY | Life expectancy at birth | Years |
| BIRTH_RATE | Birth rate | per 1,000 people |
| DEATH_RATE | Death rate | per 1,000 people |
| INTERNET_USERS | Internet users | % of population |
Education Indicators
| Indicator Code | Description | Unit |
|---|---|---|
| LITERACY_RATE | Literacy rate | % of people ages 15 and above |
| SCHOOL_ENROLLMENT | School enrollment, primary | % gross |
| SCHOOL_COMPLETION | Primary completion rate | % of relevant age group |
| TEACHERS_PRIMARY | Teachers in primary education | Count |
| EDUCATION_EXPENDITURE | Government expenditure on education | % of GDP |
Health and Nutrition Indicators
| Indicator Code | Description | Unit |
|---|---|---|
| HEALTH_EXPENDITURE | Current health expenditure | % of GDP |
| PHYSICIANS | Physicians | per 1,000 people |
| HOSPITAL_BEDS | Hospital beds | per 1,000 people |
| IMMUNIZATION | Immunization, measles | % of children ages 12-23 months |
| HIV_PREVALENCE | Prevalence of HIV | % of population ages 15-49 |
| MALNUTRITION | Prevalence of undernourishment | % of population |
| TUBERCULOSIS | Incidence of tuberculosis | per 100,000 people |
Common Country Codes
| Country | Code | Country | Code |
|---|---|---|---|
| China | CN | United States | US |
| Japan | JP | Germany | DE |
| United Kingdom | GB | France | FR |
| India | IN | Brazil | BR |
| Russia | RU | Australia | AU |
Project Structure
worldbank-mcp/
├── src/
│ ├── index.ts # Main entry file
│ └── types.ts # Type definitions
├── build/ # Compiled output
├── package.json # Project configuration
├── tsconfig.json # TypeScript configuration
└── README.md # Documentation
Technology Stack
- TypeScript - Type-safe development language
- Model Context Protocol SDK - MCP protocol implementation
- Axios - HTTP client
- Zod - Data validation
- Commander - Command-line tool
API Endpoints
Project uses World Bank Open Data API:
- Base URL:
https://api.worldbank.org/v2 - Country data:
/countries - Indicator data:
/indicators - Country indicator data:
/country/{code}/indicator/{id}
License
This project is licensed under the MIT License - see the LICENSE file for details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.