项目简介

这是一个实现了 Model Context Protocol (MCP) 的服务器,专注于提供 Yandex 地图相关的能力。它允许支持 MCP 协议的大型语言模型 (LLM) 客户端通过结构化的工具调用方式,访问 Yandex 地图的地理信息和静态地图服务。

主要功能点

该服务器通过以下工具向 LLM 客户端暴露 Yandex 地图功能:

  • 地理编码 (maps_geocode): 将详细的地址信息(如国家、城市、街道、门牌号等)转换为对应的地理坐标(经纬度)。
  • 逆地理编码 (maps_reverse_geocode): 将给定的地理坐标(经纬度)转换为可读的地址信息。
  • 地图渲染 (maps_render): 根据指定的中心坐标、显示范围以及可选的标记点,生成一张表示该区域的 PNG 格式地图图片。

安装步骤

  1. 获取 API 密钥: 你需要拥有 Yandex 地图的 "JavaScript and Geocoder API" 密钥(用于地理编码)和 "Static API" 密钥(用于地图渲染)。请访问 Yandex 开发者网站申请并获取。
  2. 克隆仓库: 使用 Git 命令将项目代码下载到本地。
    git clone https://github.com/peschinskiy/yandex-maps-mcp.git
    cd yandex-maps-mcp
  3. 安装依赖: 使用 npm 安装项目所需的依赖库。
    npm install
  4. 设置 API 密钥环境变量: 在运行服务器之前,你需要将获取到的 API 密钥设置为环境变量。
    export YANDEX_MAPS_API_KEY="你的地理编码API密钥"
    export YANDEX_MAPS_STATIC_API_KEY="你的静态地图API密钥"
  5. 构建服务器: 编译 TypeScript 代码。
    npm run build
  6. 运行服务器: 启动 MCP 服务器。
    node dist/index.js
    服务器将通过标准输入/输出 (stdio) 与 MCP 客户端通信。

服务器配置

要在支持 MCP 的客户端(如 Claude Desktop)中使用此服务器,你需要在客户端的配置中添加该 MCP 服务器的信息。典型的配置需要指定服务器的名称、启动命令和参数,以及必要的环境变量(特别是 Yandex API 密钥)。

例如,在 'claude_desktop_config.json' 文件中,你需要在 'mcpServers' 部分添加一个条目,指定:

  • 服务器的唯一名称(例如 '"yandex-maps"')。
  • 用于启动服务器进程的命令 ('"node"')。
  • 传递给命令的参数('["path/to/index.js"]',其中 '"path/to/index.js"' 需要替换为你本地项目的实际路径)。
  • 包含 Yandex API 密钥的环境变量 ('"YANDEX_MAPS_API_KEY"' 和 '"YANDEX_MAPS_STATIC_API_KEY"')。

请参考你的 MCP 客户端文档,将上述信息填入对应的 JSON 配置结构中。

基本使用方法

一旦服务器配置完成并在客户端中启用,LLM 将能够识别并使用这些工具。你可以像与 LLM 自然交流一样提出与地图相关的问题或指令,例如:

  • "Show me the map of Berlin"
  • "Show me the location of Eiffel Tower in Paris"
  • "What is the address of the coordinates 52.5200, 13.4050?"

LLM 会根据你的指令,自动判断需要调用哪个 Yandex 地图工具,并向 MCP 服务器发起相应的请求。服务器执行请求后,将结果(如坐标、地址或地图图片)返回给 LLM,LLM 再将结果呈现给你。

信息

分类

网页与API