Skip to main content
Glama
930m310n

geomelon-mcp

by 930m310n

geomelon-mcp

用于 Geomelon 地理 API 的 MCP 服务器。将城市、国家、地区和语言作为工具公开,供任何兼容 MCP 的 AI 客户端调用。

包含两种传输方式:

二进制文件

传输方式

使用场景

geomelon-mcp

stdio

本地客户端 — Claude Desktop, Cursor, Cline, Continue

geomelon-mcp-http

HTTP (可流式传输)

远程 / 托管服务器

要求

  • Node.js 18+

  • 一个已订阅 Geomelon API 的 RapidAPI 密钥

Related MCP server: bamwor-mcp-server

设置

将 .env.example 复制为 .env 并填入您的密钥:

cp .env.example .env
GEOMELON_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 传输是无状态的 — 每个请求都是独立的,无需管理会话。

可用工具

城市

工具

描述

search_cities

按名称、国家代码、地区、人口范围、排序方式搜索

get_city

通过 UUID 获取城市的详细信息

cities_by_coordinates_closest

距离经纬度最近的城市,按距离排序

cities_by_coordinates_largest

经纬度附近最大的城市,按人口排序

cities_distance

两个城市之间的距离(公里)

国家

工具

描述

list_countries

列出所有国家,按电话区号过滤

get_country

通过 UUID 获取国家的详细信息(包含翻译和地区)

地区

工具

描述

list_regions

列出地区,按国家 UUID 过滤

get_region

通过 UUID 获取地区的详细信息

语言

工具

描述

list_languages

列出数据库中的所有语言

get_language

通过 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.js

Available Tools

1 tool
search_cities_in_countryA
Read-only

Search cities using a country name instead of an ISO code. Resolves the country first, then searches cities within it.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoCity name prefix to filter by
sortNoSort order
limitNoMax results (default 20)
offsetNoPagination offset
countryNameYesCountry name prefix (e.g. "France", "United States")
maxPopulationNoMaximum population
minPopulationNoMinimum population
preferredLanguagesNoComma-separated BCP 47 language tags

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 20 tool updatesv1.1.1
    • Removedcities_by_coordinates_closest
    • Removedcities_by_coordinates_largest
    • Removedcities_distance
    • Removedcity_context
    • Removedcompare_cities
    • Removedcountry_overview
    • Removedfind_cities_near_city
    • Removedget_city
    • Removedget_city_settlement_types
    • Removedget_city_translations
    • Removedget_country
    • Removedget_country_regions
    • Removedget_country_translations
    • Removedget_language
    • Removedget_region
    • Removedget_region_translations
    • Removedlist_countries
    • Removedlist_languages
    • Removedlist_regions
    • Removedsearch_cities
  2. 21 tool updatesv1.0.9
    • Addedcities_by_coordinates_closest
    • Addedcities_by_coordinates_largest
    • Addedcities_distance
    • Addedcity_context
    • Addedcompare_cities
    • Addedcountry_overview
    • Addedfind_cities_near_city
    • Addedget_city
    • Addedget_city_settlement_types
    • Addedget_city_translations
    • Addedget_country
    • Addedget_country_regions
    • Addedget_country_translations
    • Addedget_language
    • Addedget_region
    • Addedget_region_translations
    • Addedlist_countries
    • Addedlist_languages
    • Addedlist_regions
    • Addedsearch_cities
    • Addedsearch_cities_in_country
  3. 21 tool updates
    • Removedcities_by_coordinates_closest
    • Removedcities_by_coordinates_largest
    • Removedcities_distance
    • Removedcity_context
    • Removedcompare_cities
    • Removedcountry_overview
    • Removedfind_cities_near_city
    • Removedget_city
    • Removedget_city_settlement_types
    • Removedget_city_translations
    • Removedget_country
    • Removedget_country_regions
    • Removedget_country_translations
    • Removedget_language
    • Removedget_region
    • Removedget_region_translations
    • Removedlist_countries
    • Removedlist_languages
    • Removedlist_regions
    • Removedsearch_cities
    • Removedsearch_cities_in_country
  4. 21 tool updatesv1.0.8
    • First observedcities_by_coordinates_closest
    • First observedcities_by_coordinates_largest
    • First observedcities_distance
    • First observedcity_context
    • First observedcompare_cities
    • First observedcountry_overview
    • First observedfind_cities_near_city
    • First observedget_city
    • First observedget_city_settlement_types
    • First observedget_city_translations
    • First observedget_country
    • First observedget_country_regions
    • First observedget_country_translations
    • First observedget_language
    • First observedget_region
    • First observedget_region_translations
    • First observedlist_countries
    • First observedlist_languages
    • First observedlist_regions
    • First observedsearch_cities
    • First observedsearch_cities_in_country

TDQS

A3.6/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no risk of confusion or overlap with other tools.

Naming Consistency5/5

The single tool name follows a clear verb_noun pattern (search_cities_in_country), which is consistent and descriptive.

Tool Count3/5

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.

Completeness1/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    A 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.
    4
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP 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.
    6
    31 npm
    MIT