MCP server for the Geomelon geographic API β stdio and remote HTTP transports
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by 930m310n MCP.
search_citiesSearch by name, country code, region, population range, sort order
get_cityFull details for a city by UUID
get_city_translationsAll name translations for a city by UUID
get_city_settlement_typesSettlement-type classifications for a city by UUID
cities_by_coordinates_closestCities nearest to a lat/lon, ordered by distance
cities_by_coordinates_largestLargest cities near a lat/lon, ordered by population
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 |
|---|---|---|
geomelon-mcp | stdio | Claude Desktop, Cursor, Cline, Continue |
geomelon-mcp-http | HTTP (Streamable) | Claude Code, remote / hosted server |
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.
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:
It 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.
Create a .env file in the directory you'll run the server from:
Start the server (dotenv loads .env automatically):
Register it with Claude Code:
Verify it's connected:
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.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
Restart Claude Desktop after saving.
Add to your editor's MCP config:
Create a .env file on your server:
Start the server:
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. 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").
| 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 |
| 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 |
| 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 |
| Tool | Description |
|---|---|
list_languages | List all languages in the database |
get_language | Details for a language by UUID |
| Tool | Description |
|---|---|
search_cities_autocomplete | 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.
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 |
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mcp-190)<a href="https://allmcps.com/mcp/mcp-190"><img src="https://allmcps.com/api/badge/mcp-190?style=directory" alt="930m310n MCP on AllMCPs" /></a>