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
Related MCP Servers
- Flicense-qualityDmaintenanceEnables exploration of geographical data including countries, cities, states/provinces, and regions through a SQLite database. Supports searches by name, location coordinates, currency, and regional groupings with comprehensive statistical queries.Last updated6
- AlicenseBqualityDmaintenanceProvides access to the GeoDB Cities API for retrieving global geographic data including city details, populations, and local time. It enables users to find nearby locations, calculate distances between places, and browse administrative divisions across countries.Last updated18MIT
- AlicenseAqualityDmaintenanceMCP server providing structured geographic data for AI agents. Access 261 countries and millions of cities via Bamwor API.Last updated5692MIT
- AlicenseAqualityBmaintenanceGeographic data (250+ countries, 150K+ cities), live exchange rates with 25 base currencies, and IP geolocation for AI assistants. Powered by ApogeoAPI.Last updated8661MIT
Related MCP Connectors
Countries MCP — world country data from REST Countries API v3.1
Free GeoNames MCP: countries, cities, POIs, distance & nearby. Remote HTTP + agent token signup.
CountryStateCity MCP — wraps CountryStateCity API (api.countrystatecity.in/v1)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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