OpenCage-Geocoding MCP 服务
使用说明(Markdown格式)
项目简介
- 该项目实现了一个 MCP 服务器,作为后端上下文服务,为 MCP 客户端提供地理编码相关的工具、提示模板以及对 OpenCage API 的封装调用。
主要功能点
- 正向地理编码(geocode-forward):将地址/地名转换为坐标信息,支持限定语言、国家/地区、范围边界、返回数量等参数。
- 反向地理编码(geocode-reverse):将坐标转换为地址信息,支持语言和是否返回注释等选项。
- 获取 OpenCage API 信息(get-opencage-info):查询当前的 API 使用情况与速率限制信息。
- 提供可用工具(工具列表):按 MCP 规范暴露 geocode-forward、geocode-reverse、get-opencage-info 三个工具及其输入输出描述。
- 提供提示模板(prompts):包含 geocoding 助手提示,帮助 MCP 客户端用户更高效地使用地理编码工具。
- 错误处理:覆盖网络错误、API 错误、无结果等情况的友好反馈。
- 传输方式:当前实现通过标准输入输出(stdio)进行 MCP 服务器通信,适用于 Claude Desktop 等客户端的集成场景。
安装步骤
- 确保 Node.js 版本为 20 及以上。
- 获取 OpenCage API Key(需要注册获取免费/付费密钥)。
- 安装依赖并构建:
- 克隆仓库并进入项目目录
- 运行 npm install
- 设置环境变量 OPENCAGE_API_KEY(在运行前导出或通过启动脚本传入)
- 构建项目:npm run build
服务器配置(MCP 客户端所需信息,为连接 MCP 服务器准备的配置,不属于 MCP 客户端代码) 以下为一个示例配置说明,实际使用时请将路径替换为你本地环境中的绝对路径,并提供你的 API Key。
- server name: opencage-geocoding
- command: node
- args: ["/ABSOLUTE/PATH/TO/opencage-geocoding-mcp/build/index.js"]
- env: { OPENCAGE_API_KEY: "your_opencage_api_key_here" }
基本使用方法
- 启动与连接
- 在命令行使用上述参数启动 MCP 服务器(确保 OPENCAGE_API_KEY 已设置)。
- 使用 MCP 客户端(如 Claude Desktop)配置连接,指定服务器名称、启动命令、参数以及环境变量(如 OpenCage API Key)。
- 客户端通过 JSON-RPC 向服务器请求工具(geocode-forward、geocode-reverse、get-opencage-info)并获取结果。
- 常用流程
- 列出可用工具:服务器会返回 geocode-forward、geocode-reverse、get-opencage-info 的描述与输入要求。
- 调用工具:通过工具名和参数发送请求,服务器执行对应的处理逻辑,返回结构化文本信息或错误信息。
- 获取提示:通过 geocoding-assistant 提示获取帮助信息与可用选项,便于用户提问。
注意事项
- OpenCage API Key 通过环境变量 OPENCAGE_API_KEY 传入,缺失该变量会导致服务器启动失败。
- 服务器当前实现使用 stdio 传输,适用于通过命令行或桌面客户端的集成场景。
- 根据实际部署需要,可将服务改造为其他传输协议(如 SSE、WebSocket),但当前实现仅提供 stdio。
关键词 地理编码, 坐标转换, OpenCage API, JSON-RPC 服务, 客户端集成
分类ID 5