用途
mcp-google-map 旨在让 AI 智能体直接使用 Google Maps Platform 的能力,避免为每个 AI 应用重复构建地点搜索、路线规划和工作流。它将 Google Maps Platform 包装为 18 个只读智能体工具和 3 个专注型 Skill,智能体可以据此查找真实地点、验证路线、比较选项、构建实用行程,或审计本地搜索可见性。
主要能力
项目将工具分为原子工具和复合工具两类:
- 原子工具处理地理编码、地点详情、路线、天气、空气质量、地图等基础能力。
- 复合工具用于探索区域、比较候选地点、优化停靠点、衡量本地排名。
3 个 Agent Skills 分别覆盖:通用地图研究(google-maps)、有证据支撑的旅行规划(google-maps-travel-planning)、本地 SEO 业务可见性分析(google-maps-local-seo)。Codex 仅在请求匹配时加载对应 Skill 的完整指令。
所有 18 个工具均声明 readOnlyHint: true 和 destructiveHint: false。每个 MCP 工具也对应一个简短的 CLI 名称。
使用方式
集成方式有三种,均需要 Node.js 18+ 和 Google Maps Platform API 密钥,实际调用可能产生计费。
-
Codex(无需 MCP):在 Codex 运行环境中设置 GOOGLE_MAPS_API_KEY,然后开始新对话。可用 doctor 命令在不发起 Google API 请求的情况下验证本地设置;成功意味着 node、package 和 api-key 检查通过,live-api 被跳过。仅在确实要发送可能计费的检查时才用 doctor --live。
-
Claude Code(无需 MCP):开始新的 Claude Code 会话,在其环境中设置 GOOGLE_MAPS_API_KEY,执行同样的 doctor 检查。Claude 通过插件命名空间暴露已安装的 Skill,例如 /mcp-google-map:google-maps-travel-planning。每个 GitHub release 还包含带版本号的 mcp-google-map-claude-plugin-v*.zip 和 SHA-256 校验和用于直接分发。
-
独立 CLI:每次调用是无状态的。成功调用在 stdout 返回 { "success": true, "data": ... };失败时以非零状态退出并向 stderr 写入结构化 JSON。可用于批量地址补全。
-
MCP 客户端:stdio 模式用于桌面 MCP 客户端;Streamable HTTP 用于共享和远程部署。可通过 GOOGLE_MAPS_ENABLED_TOOLS 添加逗号分隔的允许列表来减少工具列表上下文,例如 "GOOGLE_MAPS_ENABLED_TOOLS": "maps_geocode,maps_directions,maps_search_places";省略或使用 * 则暴露所有工具。
凭据优先级为:X-Google-Maps-API-Key 请求头、--apikey 命令行选项、GOOGLE_MAPS_API_KEY 环境变量。建议优先使用环境变量或请求头,命令行密钥可能出现在 shell 历史和进程列表中。密钥所属的 Google Cloud 项目需启用计费,且限制与运行环境兼容。常见地点和路线工作流需要 Places API (New)、Routes API,通常还需要 Geocoding API。
适用场景
- 通用地点研究:查找并核实真实地点、保留地点身份、周边搜索、查看营业详情。
- 出行规划:计算通行时间、分组邻近地点、比较候选方案,构建如“京都两日行程”这样的实用方案并说明营业时间假设。
- 本地 SEO:审计本地搜索可见性、衡量本地排名。
- 自动化与批量处理:通过 CLI 进行地址富化等无状态调用。
限制
项目文档明确说明,这些是数据和规划工具,不保证安全性、无障碍性、营业状态或排名结果。成功的 API 响应并不能证明可访问性、安全性、法律适用性或实时可用性。天气可用性存在地区限制。显示 Places 评论、照片或 AI 摘要的应用必须遵守内容署名和存储指南。HTTP 模式绑定 0.0.0.0 仅用于需要接受外部连接时;多租户部署建议使用 X-Google-Maps-API-Key 请求头以按会话隔离密钥。HTTP 模式支持按会话 API 密钥隔离和 DNS 重绑定保护。
该项目为 MIT 许可、可自托管。实时端到端调用需要 GOOGLE_MAPS_API_KEY,且可能计费:npm run test:e2e。安全相关说明参见 SECURITY.md 和 Security Assessment Clarifications。