geomelon-mcp
geomelon-mcp
MCP-сервер для географического API Geomelon. Предоставляет города, страны, регионы и языки в качестве инструментов, которые может вызвать любой MCP-совместимый ИИ-клиент.
Включено два транспорта:
Бинарный файл | Транспорт | Вариант использования |
| stdio | Локальные клиенты — Claude Desktop, Cursor, Cline, Continue |
| HTTP (Streamable) | Удаленный / хостинговый сервер |
Требования
Node.js 18+
Ключ RapidAPI с подпиской на API Geomelon
Related MCP server: bamwor-mcp-server
Настройка
Скопируйте .env.example в .env и вставьте свой ключ:
cp .env.example .envGEOMELON_API_KEY=your_rapidapi_key_here
PORT=3000 # HTTP transport onlyЛокальное использование (stdio)
Claude Desktop
Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"geomelon": {
"command": "npx",
"args": ["-y", "geomelon-mcp"],
"env": {
"GEOMELON_API_KEY": "your_rapidapi_key_here"
}
}
}
}Cursor / Windsurf / Cline
Добавьте в конфигурацию MCP вашего редактора (точный путь зависит от редактора):
{
"geomelon": {
"command": "npx",
"args": ["-y", "geomelon-mcp"],
"env": {
"GEOMELON_API_KEY": "your_rapidapi_key_here"
}
}
}Удаленное использование (HTTP)
Запустите сервер:
GEOMELON_API_KEY=your_key PORT=3000 npx geomelon-mcp-httpЗатем укажите вашему MCP-клиенту адрес http://your-host:3000/mcp.
HTTP-транспорт не имеет состояния — каждый запрос независим, сессии управлять не нужно.
Доступные инструменты
Города
Инструмент | Описание |
| Поиск по названию, коду страны, региону, диапазону населения, порядку сортировки |
| Полная информация о городе по UUID |
| Города, ближайшие к широте/долготе, отсортированные по расстоянию |
| Крупнейшие города рядом с широтой/долготой, отсортированные по населению |
| Расстояние в км между двумя городами |
Страны
Инструмент | Описание |
| Список всех стран, фильтрация по телефонному коду |
| Полная информация о стране по UUID (включает переводы и регионы) |
Регионы
Инструмент | Описание |
| Список регионов, фильтрация по UUID страны |
| Полная информация о регионе по UUID |
Языки
Инструмент | Описание |
| Список всех языков в базе данных |
| Информация о языке по UUID |
Разработка
npm install
npm run build # compile TypeScript → dist/Запуск stdio-сервера напрямую:
GEOMELON_API_KEY=your_key node dist/stdio.jsЗапуск HTTP-сервера напрямую:
GEOMELON_API_KEY=your_key PORT=3000 node dist/http.jsAvailable Tools
1 toolsearch_cities_in_countryARead-only
Search cities using a country name instead of an ISO code. Resolves the country first, then searches cities within it.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | City name prefix to filter by | |
| sort | No | Sort order | |
| limit | No | Max results (default 20) | |
| offset | No | Pagination offset | |
| countryName | Yes | Country name prefix (e.g. "France", "United States") | |
| maxPopulation | No | Maximum population | |
| minPopulation | No | Minimum population | |
| preferredLanguages | No | Comma-separated BCP 47 language tags |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the description's mention of 'Resolves the country first' adds some behavioral context but does not provide additional safety or limitation details. Description does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that directly describe the tool's core purpose without any redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description gives a high-level overview of the two-step process (resolve country, search cities) but does not mention pagination or return format despite pagination parameters existing. Adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are described there. The description does not add meaning beyond the schema, but baseline is 3 due to high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'search' and resource 'cities', and specifies the mechanism: using a country name instead of an ISO code. It distinguishes the tool's function clearly despite no siblings listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for searching cities by country name (as opposed to ISO code), providing some context. However, it does not explicitly state when to use or avoid this tool, nor does it reference alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
20 tool updates
v1.1.1- Removed
cities_by_coordinates_closest - Removed
cities_by_coordinates_largest - Removed
cities_distance - Removed
city_context - Removed
compare_cities - Removed
country_overview - Removed
find_cities_near_city - Removed
get_city - Removed
get_city_settlement_types - Removed
get_city_translations - Removed
get_country - Removed
get_country_regions - Removed
get_country_translations - Removed
get_language - Removed
get_region - Removed
get_region_translations - Removed
list_countries - Removed
list_languages - Removed
list_regions - Removed
search_cities
21 tool updates
v1.0.9- Added
cities_by_coordinates_closest - Added
cities_by_coordinates_largest - Added
cities_distance - Added
city_context - Added
compare_cities - Added
country_overview - Added
find_cities_near_city - Added
get_city - Added
get_city_settlement_types - Added
get_city_translations - Added
get_country - Added
get_country_regions - Added
get_country_translations - Added
get_language - Added
get_region - Added
get_region_translations - Added
list_countries - Added
list_languages - Added
list_regions - Added
search_cities - Added
search_cities_in_country
21 tool updates
- Removed
cities_by_coordinates_closest - Removed
cities_by_coordinates_largest - Removed
cities_distance - Removed
city_context - Removed
compare_cities - Removed
country_overview - Removed
find_cities_near_city - Removed
get_city - Removed
get_city_settlement_types - Removed
get_city_translations - Removed
get_country - Removed
get_country_regions - Removed
get_country_translations - Removed
get_language - Removed
get_region - Removed
get_region_translations - Removed
list_countries - Removed
list_languages - Removed
list_regions - Removed
search_cities - Removed
search_cities_in_country
21 tool updates
v1.0.8- First observed
cities_by_coordinates_closest - First observed
cities_by_coordinates_largest - First observed
cities_distance - First observed
city_context - First observed
compare_cities - First observed
country_overview - First observed
find_cities_near_city - First observed
get_city - First observed
get_city_settlement_types - First observed
get_city_translations - First observed
get_country - First observed
get_country_regions - First observed
get_country_translations - First observed
get_language - First observed
get_region - First observed
get_region_translations - First observed
list_countries - First observed
list_languages - First observed
list_regions - First observed
search_cities - First observed
search_cities_in_country
TDQS
Scored across 1 tool
With only one tool, there is no risk of confusion or overlap with other tools.
The single tool name follows a clear verb_noun pattern (search_cities_in_country), which is consistent and descriptive.
A single tool feels thin for a geographic data server; while it serves a specific purpose, users might expect more capabilities like listing countries or city details.
The tool only allows searching cities by country name, missing essential operations like retrieving city details, listing countries, or reverse lookups, making the surface severely incomplete.
Maintenance
Related MCP Connectors
Geo-based flight search MCP server. Find more flights between any two places on earth
Geospatial MCP server for earthquake, tsunami, volcano, disaster, and FX data queries.
MCP server for Japan geodata: cadastral lot numbers (chiban) and reverse geocoding, for AI agents.
Geospatial AI MCP server — satellite imagery, embeddings, weather, GNS governance
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA geospatial MCP server that provides tools for geocoding, routing, elevation profiles, and spatial analysis. It enables AI agents to process GIS file formats like GeoJSON and Shapefiles while performing complex coordinate transformations and distance calculations.4MIT
- AlicenseAqualityFmaintenanceMCP server providing structured geographic data for AI agents. Access 261 countries and millions of cities via Bamwor API.543 npm2MIT
- AlicenseNot gradedqualityDmaintenanceMCP Server that gives AI assistants access to comprehensive country data from 250+ countries.1MIT
- AlicenseAqualityDmaintenanceMCP server for spatial queries via the Terranode Geospatial API, enabling AI agents to perform point-in-polygon lookups, nearest feature search, distance calculations, and spatial joins.631 npmMIT