返回 MCP 目录
public公开dns本地运行

yandex-maps-mcp

Yandex Maps MCP Server是一个为Yandex地图API提供服务的中间件,包含地理编码、反向地理编码和地图渲染功能,支持通过地址获取坐标或通过坐标获取地址,并能生成地图图片。

article

README

🚀 Yandex Maps MCP 服务器

Yandex Maps MCP 服务器基于 Yandex Maps API 的 Map Conversion Protocol(MCP)构建,可实现地址与坐标转换、地图渲染等功能,为地图相关应用开发提供支持。

🚀 快速开始

要使用 Yandex Maps MCP 服务器,你需要先获取 API 密钥,然后在本地运行服务器。具体步骤如下:

API 密钥

你需要两个 Yandex Maps API 密钥:

  1. “JavaScript and Geocoder API” 密钥用于地理编码功能。
  2. 静态 API 密钥用于地图渲染。

生成 API 密钥的方法:

  1. 打开 https://developer.tech.yandex.ru/ 并授权登录。
  2. 点击 “连接 APIs”。选择 “JavaScript and Geocoder API” 并填写表单。
  3. 访问该 API 的仪表板页面并复制 API 密钥。
  4. 重复步骤 2 和 3 为静态 API 生成密钥。

本地运行

  1. 克隆仓库。
  2. 安装依赖项:
npm install
  1. 设置你的 API 密钥:
export YANDEX_MAPS_API_KEY="your-geocoder-api-key"
export YANDEX_MAPS_STATIC_API_KEY="your-static-api-key"
  1. 运行服务器:
npm start

✨ 主要特性

  • 地址与坐标转换:提供 maps_geocodemaps_reverse_geocode 工具,可实现地址与坐标的相互转换。
  • 地图渲染maps_render 工具可将地图渲染为 png 图像。

📦 安装指南

克隆仓库

首先,你需要将项目仓库克隆到本地:

git clone [仓库地址]

安装依赖

进入项目目录,使用以下命令安装所需依赖:

npm install

配置 API 密钥

设置环境变量以配置 API 密钥:

export YANDEX_MAPS_API_KEY="your-geocoder-api-key"
export YANDEX_MAPS_STATIC_API_KEY="your-static-api-key"

启动服务器

安装和配置完成后,使用以下命令启动服务器:

npm start

💻 使用示例

基础用法

地址转坐标

# 使用 maps_geocode 工具将地址转换为坐标
# 示例输入
{
  "country": "Russia",
  "lang": "en_US",
  "city": "Moscow",
  "street": "Tverskaya Street",
  "house_number": "1"
}

坐标转地址

# 使用 maps_reverse_geocode 工具将坐标转换为地址
# 示例输入
{
  "latitude": 55.7558,
  "longitude": 37.6173,
  "lang": "en_US"
}

地图渲染

# 使用 maps_render 工具渲染地图
# 示例输入
{
  "latitude": 55.7558,
  "longitude": 37.6173,
  "latitude_span": 0.1,
  "longitude_span": 0.1,
  "lang": "en_US",
  "placemarks": [
    {
      "latitude": 55.7558,
      "longitude": 37.6173
    }
  ]
}

🔧 技术细节

工具说明

maps_geocode

  • 功能:将地址转换为坐标。
  • 输入参数
    • country (字符串):国家名称。
    • lang (字符串):语言代码(例如 'ru_RU','en_US')。
    • state (字符串, 可选):州、地区或省的名称。
    • city (字符串, 可选):城市或地方名称。
    • district (字符串, 可选):市区或城市内的社区。
    • street (字符串, 可选):街道名称。
    • house_number (字符串, 可选):房屋或建筑编号。
  • 返回值:位置,格式化地址,地址组件。

maps_reverse_geocode

  • 功能:将坐标转换为地址。
  • 输入参数
    • latitude (数字)。
    • longitude (数字)。
    • lang (字符串):语言代码(例如 'ru_RU','en_US')。
  • 返回值:位置,格式化地址,地址组件。

maps_render

  • 功能:渲染一张地图为 png 图像。
  • 输入参数
    • latitude (数字):地图中心的纬度坐标。
    • longitude (数字):地图中心的经度坐标。
    • latitude_span (数字):地图图像的高度(以度为单位)。
    • longitude_span (数字):地图图像的宽度(以度为单位)。
    • lang (字符串):语言代码(例如 'ru_RU','en_US')。
    • placemarks (数组, 可选):在地图上显示的地标的数组,样式为 "pm2rdm",每个地标应包含 latitudelongitude 属性。
  • 返回值:地图的 png 图像。

📄 许可证

项目使用 MIT 许可证。

⚠️ 重要提示

  • 仅支持输入已知的地址或位置数据,无法检索未知或未定义的位置信息。
  • 地图渲染功能可能会受到 API 使用条款的限制。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端