# bamwor-dev/bamwor-mcp-server [Health: Active]

**Category:** 🗺️ Location Services  
**Repository:** https://github.com/bamwor-dev/bamwor-mcp-server  
**GitHub Stars:** 2  
**npm Downloads (last month):** 248  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/bamwor-dev-bamwor-mcp-server

## Description
World geographic data for AI agents. 261 countries with 20+ statistics and 13.4M cities with population, coordinates, and timezone. Powered by Bamwor API.

## Tools
Capabilities this server exposes over MCP:

- **get_country** — Get detailed data about a country by name, slug, or ISO code. Returns population, area, capital, region, coordinates, and 20+ statistics.
- **search_countries** — Search for countries by name or keyword, with optional region filter. Returns a list of matching countries with basic data.
- **search_cities** — Search for cities worldwide by name. Returns matching cities from a database of 13.4M cities with population and country.
- **list_cities_by_country** — List cities in a specific country, sorted by population or name. Supports minimum population filter. Covers 13.4M cities globally.
- **compare_countries** — Compare two countries side by side across all available metrics: population, area, GDP, HDI, life expectancy, and more.
- **get_rankings** — Get country rankings by metric. Available: population, area, gdp, hdi, life-expectancy, and 9 Bamwor indices (ibeu, ibcp, ibda, ibcx, ibee, ibfm, ibdi, ibed, ibsa). Omit metric to list all.
- **get_city** — Get detailed information about a specific city by its GeoNames ID. Returns coordinates, population, elevation, timezone, province, and country.
- **get_nearby_cities** — Find cities near a specific city using PostGIS radius search. Returns nearby cities with distance in kilometers.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "bamwor-mcp-server": {
    "command": "npx",
    "args": ["-y","bamwor-mcp-server"],
    "env": {
      "BAMWOR_API_KEY": "",
      "BAMWOR_API_URL": "",
      "BAMWOR_REQUEST_TIMEOUT": ""
    }
  }
}
```

**Requires environment variables:** `BAMWOR_API_KEY`, `BAMWOR_API_URL`, `BAMWOR_REQUEST_TIMEOUT` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What bamwor-dev/bamwor-mcp-server MCP server does

The bamwor-dev/bamwor-mcp-server MCP server exposes world geographic data through the Model Context Protocol. Its data includes 261 countries and territories, plus a city database containing approximately 13.4 million records. Country records include population, area, capital, region, coordinates, and more than 20 statistics. City records can include population, coordinates, elevation, timezone, province, and country.

The data is sourced from CIA World Factbook, GeoNames, UNDP, and World Bank material. The repository also documents four supported languages: English, Spanish, Portuguese, and Italian.

## How it works

The MCP process runs locally through the npm package and makes requests to the Bamwor API. MCP-compatible clients can invoke the tools with structured inputs such as a country name, ISO code, city name, GeoNames city ID, ranking metric, or search limit.

A Bamwor API key is optional for anonymous access but is described as providing full access. The API base URL and request timeout can also be changed through environment variables. Nearby-city searches use a PostGIS radius query and return distances in kilometers.

The bamwor-dev/bamwor-mcp-server MCP server is documented as compatible with Claude Desktop, Cursor, Windsurf, and other MCP-compatible clients.

## Setup and configuration

Install and start the server with:

```bash
npx -y bamwor-mcp-server
```

The package can also be installed globally with npm, followed by the `bamwor-mcp-server` command. For client configuration, add a server entry that runs `npx` with `-y` and `bamwor-mcp-server` as its arguments.

Available environment variables are:

- `BAMWOR_API_KEY`: Optional API key for full access.
- `BAMWOR_API_URL`: Optional API base URL override. The documented default is `https://bamwor.com/api/v1`.
- `BAMWOR_REQUEST_TIMEOUT`: Optional request timeout in milliseconds. The documented default is `15000`.

## Tools and capabilities

The bamwor-dev/bamwor-mcp-server MCP server exposes eight tools:

- `get_country` retrieves detailed country data by name, slug, or ISO code.
- `search_countries` finds countries by name or keyword, with an optional region filter.
- `search_cities` searches the global city database by name.
- `list_cities_by_country` lists cities for a country, sorted by population or name, with an optional minimum-population filter.
- `compare_countries` compares two countries across available measures such as population, area, GDP, HDI, and life expectancy.
- `get_rankings` ranks countries by population, area, GDP, HDI, life expectancy, or one of nine Bamwor indices. Omitting the metric lists available metrics.
- `get_city` retrieves a city by GeoNames ID.
- `get_nearby_cities` finds cities within a specified radius of another city and includes distance in kilometers.

## Limitations and notes

The repository describes coverage and available fields, but it does not guarantee that every record contains every statistic. City detail and proximity tools require a GeoNames city ID rather than only a free-form city name. API access limits, pricing beyond the documented free key, and service availability are not specified in the provided material.

The project is licensed under MIT. The bamwor-dev/bamwor-mcp-server MCP server depends on the external Bamwor API, so changing the API URL or relying on anonymous access may affect the data or access available to a client.

_Full upstream README: https://allmcps.com/mcp/bamwor-dev-bamwor-mcp-server/readme_

