trackmcp
Back to directory
930m310n

geomelon-mcp

View on GitHub

MCP server for the Geomelon geographic API — stdio and remote HTTP transports

1 stars TypeScriptOthers Updated Jul 17, 2026
mcp-servermcp-serversmcp-toolsmodel-context-protocolmodel-context-protocol-servermodel-context-protocol-serversgeogeospatialgis

Documentation

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:

BinaryTransportUse case
`geomelon-mcp`stdioClaude Desktop, Cursor, Cline, Continue
`geomelon-mcp-http`HTTP (Streamable)Claude Code, remote / hosted server

Requirements


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:

code
https://mcp.geomelon.dev/mcp

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.


Claude Code (HTTP)

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

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

Start the server (dotenv loads `.env` automatically):

bash
npx geomelon-mcp-http

Register it with Claude Code:

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

Verify it's connected:

bash
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`:

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:

json
{
  "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:

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

Start the server:

bash
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. 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

ToolDescription
`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

ToolDescription
`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

ToolDescription
`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

ToolDescription
`list_languages`List all languages in the database
`get_language`Details for a language by UUID

Oneshot prefix search (free, no API key)

ToolDescription
`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.


Compound tools

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

ToolDescription
`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

Frequently asked questions

What is geomelon-mcp?

geomelon-mcp is MCP server for the Geomelon geographic API — stdio and remote HTTP transports

How do I install geomelon-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is geomelon-mcp open source?

Yes — it is hosted on GitHub at https://github.com/930m310n/geomelon-mcp and has 1 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP