Skip to main content
Glama

geomelon-mcp

MCP server for the Geomelon geographic API. Exposes cities, countries, regions, and languages as tools any MCP-compatible AI client can call.

Two transports are included:

Binary

Transport

Use case

geomelon-mcp

stdio

Claude Desktop, Cursor, Cline, Continue

geomelon-mcp-http

HTTP (Streamable)

Claude Code, remote / hosted server

Requirements

  • Node.js 18+

  • A RapidAPI key with the Geomelon API subscribed


Claude Code (HTTP)

Create a .env file in the directory you'll run the server from:

cp .env.example .env
# then edit .env and set GEOMELON_API_KEY

Start the server (dotenv loads .env automatically):

npx geomelon-mcp-http

Register it with Claude Code:

claude mcp add --transport http geomelon http://localhost:3000/mcp

Verify it's connected:

claude mcp list

The server must be running whenever you use Claude Code. To use a different port set PORT=your_port and update the URL in the claude mcp add command accordingly.


Claude Desktop (stdio)

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "geomelon": {
      "command": "npx",
      "args": ["-y", "geomelon-mcp"],
      "env": {
        "GEOMELON_API_KEY": "your_rapidapi_key_here"
      }
    }
  }
}

Restart Claude Desktop after saving.


Cursor / Windsurf / Cline (stdio)

Add to your editor's MCP config:

{
  "geomelon": {
    "command": "npx",
    "args": ["-y", "geomelon-mcp"],
    "env": {
      "GEOMELON_API_KEY": "your_rapidapi_key_here"
    }
  }
}

Remote / hosted HTTP server

Create a .env file on your server:

cp .env.example .env
# set GEOMELON_API_KEY and PORT in .env

Start the server:

npx geomelon-mcp-http

Then register with any MCP client using http://your-host:3000/mcp as the URL.

The HTTP transport is stateless — each request is independent, no session management needed.


Available tools

Cities

Tool

Description

search_cities

Search by name, country code, region, population range, sort order

get_city

Full details for a city by UUID

get_city_translations

All name translations for a city by UUID

get_city_settlement_types

Settlement-type classifications for a city by UUID

cities_by_coordinates_closest

Cities nearest to a lat/lon, ordered by distance

cities_by_coordinates_largest

Largest cities near a lat/lon, ordered by population

cities_distance

Distance in km between two cities

Countries

Tool

Description

list_countries

List countries, filter by name prefix or telephone dialing code

get_country

Full details for a country by UUID (includes translations and regions)

get_country_translations

Name translations for a country by UUID

get_country_regions

All administrative regions for a country by UUID

Regions

Tool

Description

list_regions

List regions, filter by country UUID

get_region

Full details for a region by UUID

get_region_translations

Name translations for a region by UUID

Languages

Tool

Description

list_languages

List all languages in the database

get_language

Details for a language by UUID

Compound tools

These tools chain multiple API calls internally to save round-trips.

Tool

Description

find_cities_near_city

Given a city UUID, find nearby cities ordered by distance or population

city_context

Fetch a city together with its full country and region details in one call

country_overview

Fetch a country (by UUID or name), its regions, and top cities by population

compare_cities

Fetch two cities and the distance between them in one call

search_cities_in_country

Search cities using a country name instead of an ISO code

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/930m310n/geomelon-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server