Back to Directory/Developer Tools

io.github.bamwor-dev/bamwor-mcp-server

World geographic data for AI agents: 261 countries, 5.2M cities, rankings, and 9 indexes.

Developer ToolsTypeScriptv0.2.2

bamwor-mcp-server

MCP Server for world geographic data — 261 countries, 13.4M cities. Connect AI agents to real country and city data.

Works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.

Quick Start

npx bamwor-mcp-server

Or install globally:

npm install -g bamwor-mcp-server
bamwor-mcp-server

Configuration

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "bamwor-world-data": {
      "command": "npx",
      "args": ["-y", "bamwor-mcp-server"],
      "env": {
        "BAMWOR_API_KEY": "your_api_key"
      }
    }
  }
}

Cursor / Windsurf

Add to your MCP settings:

{
  "bamwor-world-data": {
    "command": "npx",
    "args": ["-y", "bamwor-mcp-server"],
    "env": {
      "BAMWOR_API_KEY": "your_api_key"
    }
  }
}

Environment Variables

VariableRequiredDefaultDescription
BAMWOR_API_KEYNo(anonymous)API key for full access. Get one free at bamwor.com/en/developers/quickstart
BAMWOR_API_URLNohttps://bamwor.com/api/v1API base URL override
BAMWOR_REQUEST_TIMEOUTNo15000Request timeout in ms

Available Tools (8)

get_country

Get detailed data about a country by name, slug, or ISO code. Returns population, area, capital, region, coordinates, and 20+ statistics.

Input: { "query": "Japan" }

search_countries

Search for countries by name or keyword. Returns matching countries with basic data.

Input: { "query": "south", "limit": 10 }

search_cities

Search for cities worldwide by name from a database of 13.4M cities.

Input: { "query": "Tokyo", "limit": 5 }

list_cities_by_country

List cities in a specific country, sorted by population or name. Supports minimum population filter.

Input: { "country": "brazil", "min_population": 1000000, "limit": 10 }

compare_countries

Compare two countries side by side across all available metrics: population, area, GDP, HDI, life expectancy, and more.

Input: { "country_a": "France", "country_b": "Germany" }

get_rankings

Get country rankings by metric. Available metrics: population, area, gdp, hdi, life-expectancy, and 9 Bamwor proprietary indices (ibeu, ibcp, ibda, ibcx, ibee, ibfm, ibdi, ibed, ibsa). Omit metric to list all available.

Input: { "metric": "population", "limit": 10, "countries_only": true }

get_city

Get detailed information about a specific city by its GeoNames ID. Returns coordinates, population, elevation, timezone, and province.

Input: { "city_id": 1850147 }

get_nearby_cities

Find cities near a specific city using PostGIS radius search. Returns nearby cities with distance in km.

Input: { "city_id": 1850147, "radius": 50, "limit": 10 }

Data Coverage

  • 261 countries and territories with 20+ statistics each
  • 13.4 million cities with coordinates, population, elevation, timezone
  • 9 proprietary indices (IBEU, IBCP, IBDA, IBCX, IBEE, IBFM, IBDI, IBED, IBSA)
  • Rankings by any metric
  • Country comparisons — 67,860 combinations
  • 4 languages — English, Spanish, Portuguese, Italian

Data sourced from CIA World Factbook, GeoNames, UNDP, and World Bank.

Links

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y bamwor-mcp-server

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-bamwor-dev-bamwor-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "bamwor-mcp-server"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

bamwor-mcp-servernpm

Compatible MCP Clients

io.github.bamwor-dev/bamwor-mcp-server works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More