OpenCage地理编码MCP服务器
MCP(模型上下文协议)服务器,使用 OpenCage地理编码API. 此服务器允许您在地址和地理坐标之间进行转换。
请注意: 这里显示的示例基于与 claude.ai的桌面客户端。MCP作为一个概念得到了其他服务的支持,但可能需要稍微不同的配置。
特性
- 正向地理编码:将地址或地名转换为坐标(纬度/经度)
- 反向地理编码:将坐标转换为地址
- API状态监控:检查您的API使用和费率限制(假设您的penCage帐户有硬限制)。
先决条件
- Node.js (版本20或更高)
- OpenCage地理编码API密钥:注册 OpenCage网站 获得免费试用的地理编码API密钥
安装
- MCP是正确的工具吗?
此MCP是进行少量地理编码的正确工具,例如在手动提示LLM时。
然而,如果你想处理大量数据,例如充满地址或坐标的CSV文件,或者连接到充满数据的数据库,几乎可以肯定,使用它既更快又更实惠 我们的命令行工具,或者让LLM编写一个脚本来直接调用我们的API。
我们提供降价格式 opencage地理编码api技巧 文件来训练您的人工智能使用我们的地理编码API的最佳实践。
- 克隆存储库。切换到存储库目录
git clone git@github.com:OpenCageData/opencage-geocoding-mcp.git
# or
git clone https://github.com/OpenCageData/opencage-geocoding-mcp.git
cd opencage-geocoding-mcp- 安装依赖项:
npm install这足以让MCP与Claude Desktop一起工作(见下文)
如果您想开发MCP并计划从命令行查询MCP 您还需要:
- 将OpenCage地理编码API键设置为环境变量:
export OPENCAGE_API_KEY="your_opencage_geocoding_api_key_here"- 构建项目:
npm run build用法
在Claude Desktop中使用
将此配置添加到您的Claude Desktop配置文件中
在Mac上,配置文件应该是(~/Library/Application Support/Claude/claude_desktop_config.json),但您也可以通过菜单导航到该文件: Settings > Developer > Edit Config
{
"mcpServers": {
"opencage-geocoding": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/opencage-geocoding-mcp/build/index.js"],
"env": {
"OPENCAGE_API_KEY": "your_opencage_geocoding_api_key_here"
}
}
}
}可用工具
注意:第一次运行命令时,您需要授予Claude权限
1.地理编码转发
将地址或地名转换为该位置的坐标和信息。
参数:
query(必填):要进行地理编码的地址或地名countrycode(可选):仅限于国家(ISO 3166-1 alpha-2代码)bounds(可选):边界框(min_lon、min_lat、max_lon、max_lat)language(可选):结果语言(例如“en”、“de”、“fr”)limit(可选):最大结果(1-100,默认10)no_annotations(可选):排除位置注释
示例提示
Prompt: "What are the coordinates of Trafalgar Square, London?"
Result: coordinates, timezone, local currency, etc
Prompt: "Where is Les Vans, France? Which Department is it in?"
Result: coordinates, and correct answer that Les Vans is in the Ardèche department
Prompt: "In welchem Bundesland liegt Weimar?"
Result: coordinates, and correct answer that Weimar is in Thüringen
2.地理编码反向
将坐标转换为地址和有关该位置的信息
参数:
latitude(必填):十进制格式的纬度坐标(-90到90)longitude(必填):十进制格式的经度坐标(-180至180)language(可选):结果语言no_annotations(可选):排除位置注释
示例提示
Prompt: "what is the address at 38.8976, -77.0365?"
Result: "1600 Pennsylvania Avenue NW, Washington, DC 20500, United States of America"
Prompt: "Which province are the coordinates 41.38700, 2.16995 in?"
Result: "Coordinates are in Barcelona in the province of Catalonia"
3.获取opencage信息
检查您当前的API使用情况和费率限制。 备注:订阅客户没有硬性使用限制。看 相关文档.
参数: 无
退货: 有关剩余请求、速率限制和重置时间的信息。
可用提示
地理编码助手
地理编码任务的有用助手。提供有效使用地理编码工具的指导。
错误处理
服务器包括全面的错误处理:
- API密钥无效
- 请求频率超限
- 网络错误
- 坐标或地址无效
- API服务不可用
环境变量
OPENCAGE_API_KEY:您的OpenCage地理编码API密钥(必需)
故障排除
- “需要API密钥”错误:确保env变量
OPENCAGE_API_KEY已设置 - “未找到结果”:尝试更具体或不同的地址格式,请参阅 OpenCage查询格式指南
- 速率限制错误:使用检查您的API使用情况
get-api-status工具 - 网络错误:验证互联网连接或 公共OpenCage状态页面
相关链接
- OpenCage主页 -获取地理编码API密钥
- OpenCage API文档 -完整的OpenCage地理编码API参考
- 模型上下文协议 -了解有关MCP的更多信息
谁是OpenCage GmbH?
我们在全球范围内运营 地理编码API 和 地理研究 基于开放数据的服务。 了解更多 关于我们.
我们还组织 Geomob,为基于位置的服务创建者举办的一系列定期聚会,我们尽最大努力突出地理创新。如果你喜欢地理方面的东西,你可能会喜欢 Geomob播客.
