/ 目录 / 演练场 / mcp-google-map
● 社区 cablate ⚡ 即开即用

mcp-google-map

作者 cablate · cablate/mcp-google-map

地理编码、路线规划、Places、海拔、时区,甚至天气和空气质量——18 个 Google Maps 工具对 Claude 开放,用于位置感知任务。

mcp-google-map 将 Google Places(新版)和 Routes API 以及几个相关 API 包装成 14 个原子工具和 4 个复合工具。复合工具(explore-areaplan-routecompare-placeslocal-rank-tracker)可以一次性处理常见的多次调用工作流,省 token 和 Google 配额。

为什么要用

核心特性

实时演示

实际使用效果

google-map.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "google-map": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-google-map"
      ],
      "_inferred": true
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "google-map": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-google-map"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "google-map": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-google-map"
      ],
      "_inferred": true
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "google-map": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-google-map"
      ],
      "_inferred": true
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "google-map",
      "command": "npx",
      "args": [
        "-y",
        "mcp-google-map"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "google-map": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-google-map"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add google-map -- npx -y mcp-google-map

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: mcp-google-map

在多个邮编区域追踪你的 Google Maps 排名

👤 本地 SEO 专家、餐饮/服务企业 ⏱ ~20 min intermediate

何时使用: 你想知道你的企业在城镇周边 20 个邮编区域的"best pizza"搜索中排名如何,每周更新一次。

前置条件
  • 启用了 Places(新版)的 Google Maps API 密钥 — Google Cloud 控制台 > 启用 API
步骤
  1. 使用复合工具 local-rank-tracker
    针对商户'Tony's Pizza'(place_id: [id]),在查询'pizza near me'上运行 local-rank-tracker,坐标点为这 20 个位置 [列出纬度/经度]。✓ 已复制
    → 每个位置的排名(或'不在前 20')
  2. 存储历史数据
    将结果保存到 ./rank-history/YYYY-MM-DD.json。与上周进行对比。✓ 已复制
    → 周同比变化

结果: 获得每周的本地排名报告,无需支付 SaaS SEO 工具的费用。

注意事项
  • Google Places API 的成本会累积——约每 1000 次调用 $17 — 批量处理位置;仅限关键邮编;缓存 7 天
搭配使用: filesystem

规划包含驾驶时间和海拔的多站点一日游

👤 旅行者、旅游博主 ⏱ ~10 min beginner

何时使用: 规划公路旅行,想要优化的停留顺序和实际的驾驶时间。

步骤
  1. 描述停留点
    我想在一天内从 Merced 出发,访问 Yosemite Valley、Mariposa Grove、Tunnel View 和 Glacier Point。优化顺序并给出驾驶时间。✓ 已复制
    → 有序的停留点 + 每段驾驶时间(分钟)
  2. 添加上下文
    对于每个停留点,获取海拔和当前天气。✓ 已复制
    → 带注释的行程

结果: 一个合理的、基于现实驾驶时间的行程。

注意事项
  • Routes API 仅在查询时使用考虑交通的估计 — 在出行当天早上重新查询,获得真实的驾驶时间

比较新零售店的候选位置

👤 房地产分析师、特许经营规划师 ⏱ ~30 min intermediate

何时使用: 你要从 3 个候选地址中为新店面选择位置。人流量、竞争对手接近度、人口统计代理很重要。

步骤
  1. 反向地理编码每个候选地址
    针对这 3 个地址,获取坐标和邻里信息。✓ 已复制
    → 3 个地理编码结果
  2. 使用 compare-places
    对于每个位置,计算 1km 范围内的竞争对手(类别:咖啡店)。列出附近的前 10 个企业。✓ 已复制
    → 每个位置的竞争密度 + 主力商户
  3. 评估交通走廊
    对于每个位置,获取从最近的高速公路出口和主要住宅邮编的驾驶时间。✓ 已复制
    → 可达性评分

结果: 有数据支持的地点推荐,你可以在会议中为其辩护。

注意事项
  • Google Places 不能代替实际的人流数据 — 用作初步筛选;结合 Placer.ai 或县许可证数据做最终决策

组合

与其他 MCP 搭配,撬动十倍杠杆

google-map + filesystem

将每周排名追踪快照存储到磁盘,进行时间对比

为我的企业运行 local-rank-tracker,保存到 /reports/rank/YYYY-MM-DD.json。✓ 已复制
google-map + postgres

使用纬度/经度丰富你的数据库中的客户地址,用于地图仪表板

对于 customers 表中 lat 为 NULL 的每一行,对地址进行地理编码并用 lat/lng 更新。每天限制 500 条以尊重配额。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
geocode address: str 地址 → 坐标 $5 / 1000 calls
reverse_geocode lat, lng 坐标 → 地址 $5 / 1000
directions origin, destination, mode?, waypoints? 逐步转向或驾驶时间 $5-10 / 1000
places_search query, location?, radius? 按关键词查找附近的企业 $17-32 / 1000 (New Places)
place_details place_id 在 places_search 之后获取营业时间、电话、网站 $17+ / 1000
explore-area center, radius, categories[] 复合工具——一站式邻里调查 bundled
plan-route stops[], mode, optimize?: bool 多站点行程规划 bundled
compare-places places[], categories[] 地点选址或评估 bundled
local-rank-tracker query, place_id, locations[] 本地 SEO 审计 N * places_search cost

成本与限制

运行它的成本

API 配额
Google:$200/月免费额度覆盖约 12k 次地理编码或约 10k 次 Places(新版)自动完成/详情
每次调用 Token 数
工具结果 500-3000 token;通过 GOOGLE_MAPS_ENABLED_TOOLS 裁剪以降低 schema 开销
费用
直接支付给 Google。见 cloud.google.com/maps-platform/pricing。
提示
Places(新版)是最昂贵的。当你只需要坐标而不是企业数据时,使用 geocode(便宜)。积极缓存 place_id。

安全

权限、密钥、影响范围

最小权限: 只启用你实际使用的 API
凭据存储: GOOGLE_MAPS_API_KEY 环境变量。将密钥限制在你的 IP / Referer。
数据出站: 所有查询都发送到 maps.googleapis.com
切勿授予: 不要在共享机器上使用无限制密钥——任何人都可以消耗你的配额

故障排查

常见错误与修复

REQUEST_DENIED / API 密钥无效

API 未启用或密钥限制阻止了你的 IP。检查 GCP 控制台 > API 和服务 > 凭据。

验证: curl 'https://maps.googleapis.com/maps/api/geocode/json?address=NYC&key=$KEY'
OVER_QUERY_LIMIT

你已经用完了每月 $200 的免费额度,或者 Google 在进行速率限制。降低频率并批量处理。

验证: GCP 计费 > 报告
显而易见的查询没有返回结果

Places(新版)在某些调用上需要显式字段掩码。更新到最新的 npm 版本。

替代方案

mcp-google-map 对比其他方案

替代方案何时用它替代权衡
OpenStreetMap Nominatim MCP免费,无需 API 密钥,允许非商业使用数据不够丰富;速率限制为 1 rps
Mapbox MCP你倾向于 Mapbox 的样式和路由不同的定价和数据模型

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills