geomelon-mcp
The geomelon-mcp server provides tools to query geographic data (cities, countries, regions, languages) via the Geomelon API.
Cities
search_cities— Search by name prefix, country code, region, population range, and sort orderget_city/get_city_translations/get_city_settlement_types— Full details, translations, and settlement-type classifications by UUIDcities_by_coordinates_closest/cities_by_coordinates_largest— Find nearest or largest cities near a lat/loncities_distance— Calculate distance in kilometres between two cities
Countries
list_countries— List/filter by name prefix or telephone dialing codeget_country/get_country_translations/get_country_regions— Details, translations, and administrative regions by UUID
Regions
list_regions— List regions, optionally filtered by country UUIDget_region/get_region_translations— Details and translations by UUID
Languages
list_languages/get_language— List all languages or get details by UUID
Compound Tools (multiple operations in one round-trip)
find_cities_near_city— Nearby cities given a city UUIDcity_context— City with its full country and region detailscountry_overview— Country (by UUID or name) with its regions and top citiescompare_cities— Full details for two cities plus the distance between themsearch_cities_in_country— Search cities using a country name instead of an ISO code
Provides tools to access the Geomelon geographic API through RapidAPI, enabling queries for cities, countries, regions, and languages.
geomelon-mcp
MCP server for the Geomelon geographic API. Exposes cities, countries, regions, and languages as tools any MCP-compatible AI client can call.
Looking for other ways to integrate? See all official libraries at geomelon.dev/libraries.
Two transports are included:
Binary | Transport | Use case |
| stdio | Claude Desktop, Cursor, Cline, Continue |
| HTTP (Streamable) | Claude Code, remote / hosted server |
Requirements
Node.js 18+
A RapidAPI key with the Geomelon API subscribed — optional, see keyless demo mode below
Related MCP server: Geodb Cities MCP Server
Keyless demo mode
No GEOMELON_API_KEY? Run the server anyway — it starts up with just the search_cities_autocomplete tool, backed by the free oneshot host, no signup required. Every other tool needs a key. This is the fastest way to try the server before subscribing on RapidAPI.
Try it with zero setup
Geomelon also runs a public hosted instance of this same keyless demo — no npx, no local process. Point any remote-MCP-capable client (Claude web/desktop connectors, ChatGPT connectors, MCP Inspector, etc.) at:
https://mcp.geomelon.dev/mcpIt exposes only search_cities_autocomplete, same as running the server yourself with no API key. For the full 22-tool set, run your own instance (below) with your RapidAPI key.
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_KEYStart the server (dotenv loads .env automatically):
npx geomelon-mcp-httpRegister it with Claude Code:
claude mcp add --transport http geomelon http://localhost:3000/mcpVerify it's connected:
claude mcp listThe 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 .envStart the server:
npx geomelon-mcp-httpThen 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. CORS is wide open (Access-Control-Allow-Origin: *) since this transport is meant to be reachable by browser-based remote-MCP clients too. GET / (or /health) returns a small JSON status object — useful for uptime checks — reporting whether the instance has a key configured ("mode": "full" or "mode": "keyless-demo").
Available tools
Cities
Tool | Description |
| Search by name, country code, region, population range, sort order |
| Full details for a city by UUID |
| All name translations for a city by UUID |
| Settlement-type classifications for a city by UUID |
| Cities nearest to a lat/lon, ordered by distance |
| Largest cities near a lat/lon, ordered by population |
| Distance in km between two cities |
Countries
Tool | Description |
| List countries, filter by name prefix or telephone dialing code |
| Full details for a country by UUID (includes translations and regions) |
| Name translations for a country by UUID |
| All administrative regions for a country by UUID |
Regions
Tool | Description |
| List regions, filter by country UUID |
| Full details for a region by UUID |
| Name translations for a region by UUID |
Languages
Tool | Description |
| List all languages in the database |
| Details for a language by UUID |
Oneshot prefix search (free, no API key)
Tool | Description |
| Country-scoped, language-specific city name prefix search backed by pre-built static files. The only tool available in keyless demo mode. Works in keyed mode too — it's the fastest search path. |
See geomelon.dev/free-city-autocomplete-api for supported country/language pairs and the underlying HTTP endpoint.
Compound tools
These tools chain multiple API calls internally to save round-trips.
Tool | Description |
| Given a city UUID, find nearby cities ordered by distance or population |
| Fetch a city together with its full country and region details in one call |
| Fetch a country (by UUID or name), its regions, and top cities by population |
| Fetch two cities and the distance between them in one call |
| Search cities using a country name instead of an ISO code |
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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