mcpField
M
MCP Google Map Server

MCP Google Map Server

本地服务
github.com/cablate媒体与设计4856 天前更新

关于 MCP Google Map Server

MCP Google Map Server 通过 18 个只读工具向 AI Agent 提供 Google Maps Platform 数据与工作流,也提供独立命令行工具和三个技能。它适用于地点研究、路线与行程规划、位置数据补充及本地 SEO 分析。

主要功能

  1. 0118 个只读 Google Maps 工具
  2. 02地点搜索与比较
  3. 03路线指引和多站点规划
  4. 04地理编码与位置背景信息
  5. 05本地搜索排名分析
  6. 06命令行工具与三个工作流技能

适用场景

  1. 01查找并比较区域内的地点
  2. 02核对行程时间并规划旅行
  3. 03优化外勤或配送停靠点
  4. 04衡量本地搜索可见度

MCP 相关

MCP 服务通过 stdio 或 Streamable HTTP 提供 18 个 Google Maps 工具,并可限制启用的工具集合。同一组能力也可通过独立命令行工具使用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"google-map": {
"command": "npx",
"args": [
"-y",
"@cablate/mcp-google-map"
],
"env": {
"GOOGLE_MAPS_API_KEY": "<GOOGLE_MAPS_API_KEY>",
"GOOGLE_MAPS_ENABLED_TOOLS": "<GOOGLE_MAPS_ENABLED_TOOLS>"
}
}
}
}
启动命令npx -y @cablate/mcp-google-map
需要配置的环境变量
GOOGLE_MAPS_API_KEY密钥Google Maps API key (get one at https://console.cloud.google.com)
GOOGLE_MAPS_ENABLED_TOOLSComma-separated tool names to enable. Omit or * for all 18 tools.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@cablate/mcp-google-map0.0.69

工具

18

收录的工具列表 · 更新于 3 周前

参数类型必填说明
centerobject是搜索中心点(例如:value: 49.3268778,-123.0585982,isCoordinates: true)
center.valuestring是要转换的地址、地标名称或坐标(坐标格式:lat,lng)
center.isCoordinatesboolean否该值是否为坐标
keywordstring否要搜索的地点类型(例如:restaurant、cafe、hotel、gas_station、hospital)
radiusnumber否搜索半径,单位为米
openNowboolean否仅显示当前营业的地点
minRatingnumber否最低评分要求(0-5)

详细介绍

面向 AI Agent 的 Google Maps

无需为每个 AI 应用重新构建地点搜索、路线规划和位置工作流。

@cablate/mcp-google-map 将 Google Maps Platform 转化为 18 个只读 Agent 工具和 3 个专用 Skills。Agent 可以查找真实地点、核验路线、比较选项、制定实用行程,或审查本地搜索曝光度——通过 MCP 或独立 CLI 均可使用。

由你选择集成方式:想要 Skills 且无需配置 MCP 时使用 Codex 或 Claude Code Plugin;桌面 MCP 客户端使用 stdio;共享部署和远程部署使用 Streamable HTTP。

English · 繁體中文

适用于 AI Agent 的 Google Maps 工具和工作流

npm 版本 npm 下载量 CI 状态 MIT 许可证

为什么使用它?

为 Agent 提供原始 Maps API 只是第一步。要获得有用的答案,通常需要多次相互依赖的调用:解析地点、保留其身份、搜索周边、查看营业详情、计算出行时间,并说明实际核验了哪些信息。本项目将这些工作整合为统一的接口。

  • 从查询迈向结果。 原子工具可处理地理编码、地点详情、路线、天气、空气质量和地图。组合工具可探索区域、比较候选项、优化停靠点,并衡量本地排名。
  • 无论是否使用 MCP,都能使用相同的功能。 独立的 exec CLI 可与 Agent Skills 和自动化配合使用;MCP 服务则通过 stdio 或 HTTP 提供相同的 18 个工具。
  • 为 Agent 提供工作流指南,而不只是函数名称。 3 个 Skills 分别涵盖一般地图研究、有依据的旅行规划和本地 SEO。只有请求与其匹配时,Codex 才会加载完整说明。
  • 部署方式和凭据由你掌控。 可在本地运行或自行托管。API 密钥保留在你的环境或请求标头中;HTTP 部署按会话隔离。
  • 先从小范围开始,再逐步扩展。 使用 GOOGLE_MAPS_ENABLED_TOOLS 仅注册所需工具,也可以使用完整目录。

展示已核验地点和路线的旅行规划示例

Agent 可以做什么?

目标项目如何提供帮助
查找并评估真实地点自然语言搜索和附近搜索、地点详情、评分、营业时间、评论和距离比较
制定地理位置合理的行程发现候选地点、查找沿途停靠点、核验出行时间、优化多站点路线、查看天气和静态地图
研究街区多类别探索,并针对距离、海拔、时区、天气和空气质量进行定向核验
规划实地工作或配送路线矩阵和最多 25 个停靠点的优化排序
审查本地搜索曝光度地理网格排名、竞争对手发现、ARP、ATRP 和 SoLV 指标
丰富位置数据单次或批量地理编码、反向地理编码和结构化 JSON 输出

这些是数据和规划工具,不能保证安全性、无障碍状况、营业状态或排名结果。展示 Places 评论、照片或 AI 摘要的应用必须遵循内容署名和存储指南。 <translated_markdown>

选择集成方式

用途最适合运行方式
Codex Plugin无需配置 MCP,即可向 Codex 咨询地图、旅行或本地 SEO 问题按需加载匹配的 Skill,并调用独立 CLI
Claude Code Plugin从 Claude marketplace 安装相同的三个 SkillSkill 命名空间为 mcp-google-map,并调用独立 CLI
独立 CLI脚本、自动化和其他兼容 Skill 的 Agent一条无状态命令返回 JSON
MCP stdioClaude Desktop、Cursor、VS Code 及其他本地 MCP 客户端客户端启动本地 MCP 进程
Streamable HTTP多会话、容器化、局域网或远程访问可自托管的服务公开 /mcp

所有选项都需要 Node.js 22+ 和 Google Maps Platform API 密钥。实时调用可能产生费用。请启用所选工具所需的 API;常见的地点和路线工作流需要 Places API (New)、Routes API,通常还需要 Geocoding API。

从 Codex 开始——无需 MCP

codex plugin marketplace add cablate/mcp-google-map --ref main
codex plugin add mcp-google-map@cablate

在 Codex 运行环境中设置 GOOGLE_MAPS_API_KEY,然后开始新对话。无需调用 Google API,即可验证本地配置:

npx -y @cablate/mcp-google-map doctor

成功表示 node、package 和 api-key 检查均通过,且跳过 live-api。只有在准备向 Geocoding、Places 和 Routes 发送可能产生费用的检查时,才使用 doctor --live。

试着询问:

制定一份实用的京都两日行程。将相近的地点分组,查询出行时间,并说明任何关于营业时间的假设。

Codex 会为一般位置研究选择 google-maps,为行程规划选择 google-maps-travel-planning,或为商家可见度分析选择 google-maps-local-seo。该插件不会注册或启动 MCP 服务。可参阅无需 MCP 的操作指南,查看可复现示例。

在 Claude Code 中安装——无需 MCP

claude plugin marketplace add cablate/mcp-google-map
claude plugin install mcp-google-map@cablate-maps

启动新的 Claude Code 会话,在其运行环境中设置 GOOGLE_MAPS_API_KEY,然后运行上文所示的相同 doctor 检查。Claude 会通过插件命名空间提供已安装的 Skill,例如 /mcp-google-map:google-maps-travel-planning。

每个 GitHub 发布版本还包含带版本号的 mcp-google-map-claude-plugin-v*.zip 和 SHA-256 校验和,可供直接分发。发布工作流会使用相同的 skills/ 源构建此压缩包,并在发布前使用 Claude Code 官方严格验证器进行验证。

使用独立 CLI

每个 MCP 工具也都有简短的 CLI 名称:

npx -y @cablate/mcp-google-map exec geocode '{"address":"Tokyo Tower"}'
npx -y @cablate/mcp-google-map exec search-places '{"query":"quiet cafes in Kyoto"}'
npx -y @cablate/mcp-google-map exec directions '{"origin":"Tokyo Station","destination":"Tokyo Skytree","mode":"transit"}'

每次调用都是无状态的。成功调用会在 stdout 上返回 { "success": true, "data": ... };失败时以非零状态码退出,并向 stderr 写入结构化 JSON。

批量补充地址信息:

npx @cablate/mcp-google-map batch-geocode -i addresses.txt -o results.json
cat addresses.txt | npx @cablate/mcp-google-map batch-geocode -i -

连接 MCP 客户端

stdio
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": ["-y", "@cablate/mcp-google-map", "--stdio"],
      "env": { "GOOGLE_MAPS_API_KEY": "YOUR_API_KEY" }
    }
  }
}

为减少工具列表占用的上下文,可添加以逗号分隔的允许列表,例如 "GOOGLE_MAPS_ENABLED_TOOLS": "maps_geocode,maps_directions,maps_search_places"。省略该设置或使用 *,即可公开所有工具。

Streamable HTTP
npx @cablate/mcp-google-map --host 127.0.0.1 --port 3000 --apikey "YOUR_API_KEY"
{
  "mcpServers": {
    "google-maps": {
      "type": "http",
      "url": "http://127.0.0.1:3000/mcp"
    }
  }
}

仅当服务必须接受外部连接时,才绑定到 0.0.0.0。对于多租户部署,建议使用 X-Google-Maps-API-Key 请求头,以便按会话隔离密钥。

工具目录

分组工具
地点与发现maps_search_places、maps_search_nearby、maps_place_details、maps_explore_area、maps_compare_places、maps_search_along_route
位置与路线规划maps_geocode、maps_reverse_geocode、maps_directions、maps_distance_matrix、maps_plan_route、maps_batch_geocode
上下文与可视化maps_elevation、maps_timezone、maps_weather、maps_air_quality、maps_static_map
本地 SEOmaps_local_rank_tracker

全部 18 个工具均声明 readOnlyHint: true 和 destructiveHint: false。确切参数、响应结构和工作流示例请参阅工具参考。 </translated_markdown>

API 密钥和 Google Cloud 设置

该密钥必须属于已启用结算功能且限制与运行时兼容的 Google Cloud 项目。设置和诊断指南介绍了各项功能所需的 API,并说明了常见故障。

凭据优先级如下:

  1. X-Google-Maps-API-Key HTTP 请求标头
  2. --apikey 命令行选项
  3. GOOGLE_MAPS_API_KEY 环境变量

建议使用环境变量或请求标头。命令行密钥可能会出现在 shell 历史记录和进程列表中。

信任与限制

  • 地点和路线信息来自项目已启用的 Google Maps Platform API;天气服务的可用性受地区限制。
  • API 响应成功并不能证明信息具备无障碍性、安全性、法律适用性或实时可用性。
  • 本软件包会在返回时保留来源和披露元数据,但合规归属标注和存储仍由你的界面负责。
  • HTTP 模式支持按会话隔离 API 密钥,并提供 DNS 重绑定保护。
  • 本项目采用 MIT 许可证,可自托管。有关漏洞报告,请参阅 SECURITY.md;有关审查清单,请参阅 Security Assessment Clarifications。

开发

git clone https://github.com/cablate/mcp-google-map.git
cd mcp-google-map
npm ci
npm run build
npm run test:unit
npm test

实时 E2E 调用需要 GOOGLE_MAPS_API_KEY,并且可能产生费用:npm run test:e2e。

欢迎贡献。提交拉取请求前,请阅读 CONTRIBUTING.md。发布历史见 CHANGELOG.md。

致谢

感谢 @junyinnnn 帮助添加 Streamable HTTP 支持。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。