关于 Yandex Maps MCP Server
Yandex Maps MCP Server 将 Yandex Maps 的地理编码和静态地图渲染功能提供给 MCP 客户端,支持地址与坐标双向转换,并可生成带可选标记的 PNG 地图。
主要功能
- 01地址转坐标
- 02坐标转地址
- 03渲染 PNG 地图
- 04添加可选地图标记
适用场景
- 01将地址转换为坐标
- 02根据坐标查询地址
- 03生成带标记的位置地图
MCP 相关
向 MCP 客户端提供地理编码和地图渲染工具,支持 stdio 与 Streamable HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Yandex Maps MCP 服务
用于 Yandex Maps API 的 MCP 服务。
“显示柏林地图”
“显示……的位置”
工具
-
maps_geocode- 将地址转换为坐标
- 输入:
country(字符串)- 国家名称lang(字符串)- 语言代码(例如,'ru_RU'、'en_US')state(字符串,可选)- 州、地区或省份名称city(字符串,可选)- 城市或地方名称district(字符串,可选)- 城市内的区或社区street(字符串,可选)- 街道名称house_number(字符串,可选)- 房屋或建筑物编号
- 返回:location、formatted_address、address_components
-
maps_reverse_geocode- 将坐标转换为地址
- 输入:
latitude(数字)longitude(数字)lang(字符串)- 语言代码(例如,'ru_RU'、'en_US')
- 返回:location、formatted_address、address_components
-
maps_render- 将地图渲染为 png 图像
- 输入:
latitude(数字)- 地图中心的纬度坐标longitude(数字)- 地图中心的经度坐标latitude_span(数字)- 地图图像的高度(单位:度)longitude_span(数字)- 地图图像的宽度(单位:度)lang(字符串)- 语言代码(例如,'ru_RU'、'en_US')placemarks(数组,可选)- 要在地图上显示的地标数组,样式为 "pm2rdm"- 每个地标都应包含
latitude和longitude属性
- 每个地标都应包含
- 返回:地图的 PNG 图像
设置
API 密钥
你需要两个 Yandex Maps API 密钥:
- 用于地理编码功能的“JavaScript and Geocoder API”密钥
- 用于地图渲染的 Static API 密钥
生成 API 密钥的步骤:
- 打开 https://developer.tech.yandex.ru/ 并授权
- 点击“Connect APIs”。选择“JavaScript and Geocoder API”并填写表单
- 前往 API 的控制台页面并复制 API 密钥
- 从步骤 2 开始重复操作,为 Static API 生成密钥。
本地运行
- 克隆代码库
- 安装依赖:
npm install - 设置 API 密钥:
export YANDEX_MAPS_API_KEY="your-geocoder-api-key" export YANDEX_MAPS_STATIC_API_KEY="your-static-api-key" - 构建服务端
npm run build - 运行服务端:
node dist/index.js
在 Claude Desktop 中使用(stdio)
将以下内容添加到 claude_desktop_config.json:
{
"mcpServers": {
"yandex-maps": {
"command": "node",
"args": [
"path/to/index.js"
],
"env": {
"YANDEX_MAPS_API_KEY": "<YOUR_GEOCODER_API_KEY>",
"YANDEX_MAPS_STATIC_API_KEY": "<YOUR_STATIC_API_KEY>"
}
}
}
}
作为 HTTP 服务使用
该服务支持 Streamable HTTP 传输,可供远程访问和 n8n 等基于 Web 的客户端使用。
启动 HTTP 服务
# Set required environment variables
export YANDEX_MAPS_API_KEY="your-geocoder-api-key"
export YANDEX_MAPS_STATIC_API_KEY="your-static-api-key"
export MCP_TRANSPORT="http"
export MCP_PORT="3000" # Optional, defaults to 3000
export MCP_AUTH_TOKEN="your-secret-token" # Optional but recommended
# Run the server
node dist/index.js
配置
HTTP 服务是无状态的,使用以下环境变量:
MCP_TRANSPORT:设为"http"以启用 HTTP 模式(默认值:"stdio")MCP_PORT:HTTP 服务的端口号(默认值:3000)MCP_AUTH_TOKEN:可选的 Bearer 身份验证令牌。若未设置,服务将在不进行身份验证的情况下运行(不建议用于生产环境)YANDEX_MAPS_API_KEY:你的 Yandex Geocoder API 密钥(必需)YANDEX_MAPS_STATIC_API_KEY:你的 Yandex Static Maps API 密钥(必需)
身份验证
设置 MCP_AUTH_TOKEN 后,客户端必须在 Authorization 标头中提供该令牌:
Authorization: Bearer your-secret-token
在 n8n 中使用
若要与 n8n 配合使用,请按以下方式配置 MCP Client 节点:
- 服务传输方式:
HTTP Streamable - URL:
http://your-server:3000(根据需要调整主机和端口) - 身份验证:如果已配置,请添加 Bearer 令牌
已知限制
Yandex Maps Places API 没有免费套餐,这意味着 LLM 无法通过 Yandex Maps MCP 获取组织的地址和坐标。它只能对模型已知地址或坐标的地点进行地理编码,或使用用户明确输入、Web Search 或第三方 MCP 等其他来源获取相关信息。
许可证
本项目采用 MIT License 授权,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。