跳转到正文
使用手册 / v0.4.0

Google Cloud 配置 ​

本程序使用 API 密钥或 OAuth 2.0 凭据验证发送到 Google 的出站调用。MCP_HTTP_TOKEN 独立验证连接 MCP HTTP 服务器的客户端;选择 Google OAuth 不会替代它。

启用服务与结算 ​

在 Google Cloud 控制台选择或创建项目,然后在 Billing 下关联有效的结算账号。在 APIs & Services → Library 中启用所需 API。启用 API 与在 API 密钥限制中允许该 API 是两个独立步骤。调用可能产生费用。

下表列出本版本使用的端点:

Google API需要启用的服务本项目使用的认证方式
Places API (New)places.googleapis.comAPI 密钥或 OAuth
Routes APIroutes.googleapis.comAPI 密钥或 OAuth
Weather APIweather.googleapis.comAPI 密钥或 OAuth
Air Quality APIairquality.googleapis.comAPI 密钥或 OAuth
Address Validation APIaddressvalidation.googleapis.comAPI 密钥或 OAuth
Places Aggregate APIareainsights.googleapis.comAPI 密钥或 OAuth
Pollen APIpollen.googleapis.comAPI 密钥
Roads APIroads.googleapis.comAPI 密钥
Geocoding API v3geocoding-backend.googleapis.comAPI 密钥
Elevation APIelevation-backend.googleapis.comAPI 密钥
Time Zone APItimezone-backend.googleapis.comAPI 密钥
Maps Static APIstatic-maps-backend.googleapis.comAPI 密钥

用管理员的 gcloud 登录一次启用全部 12 项服务:

sh
export PROJECT_ID='your-project-id'
gcloud services enable --project="$PROJECT_ID" \
  places.googleapis.com routes.googleapis.com \
  weather.googleapis.com airquality.googleapis.com \
  geocoding-backend.googleapis.com elevation-backend.googleapis.com \
  timezone-backend.googleapis.com static-maps-backend.googleapis.com \
  addressvalidation.googleapis.com areainsights.googleapis.com \
  pollen.googleapis.com roads.googleapis.com

CLI 的 directions 和 distance-matrix 工具使用 Routes API,因此无需旧版 Directions 和 Distance Matrix API。本项目的 Geocoding 仍使用 v3;Google Geocoding v4 的 OAuth 支持不会改变这些 v3 调用的认证方式。复合工具可能调用多个 API。即使主操作使用 Places 或 Routes,按名称解析地点或回退查询仍可能需要 Geocoding。需要避免此依赖时请使用坐标,或为仅支持密钥的端点保留受限制的密钥。

创建受限制的 API 密钥 ​

  1. 在所选项目中打开 Google Maps Platform → Keys & Credentials,选择 Create credentials → API key。
  2. 仅选择此实例会使用的表中 API。对于已有密钥,编辑其 API 限制并保存。
  3. 此应用在服务器端运行,请将应用限制设为 IP addresses,允许 Google 实际看到的公网出口 IP。Kubernetes Pod 或私有 IP 通常不是公共来源地址;固定 Cloud NAT 或其他出口地址可让限制更可预测。
  4. 将密钥存入被忽略的 .env、注入环境变量或 Kubernetes Secret。参阅 Google 密钥限制指南。

.env 示例:

dotenv
GOOGLE_MAPS_AUTH_MODE=api-key
GOOGLE_MAPS_API_KEY=your-restricted-api-key

默认模式为 api-key。仅提供服务账号路径不会更改认证模式。工具发现不会连接 Google;请用实际调用验证项目结算、API 启用情况与限制:

sh
mcp-gmap-rs geocode --address 'Paris, France'

后续步骤 ​

服务账号 JSON、ADC、本地模拟和 GKE 身份请参阅身份验证,然后选择 CLI 或 MCP。工具参考列出了各工具的凭据要求。

新增服务与限制 ​

Solar 和 Map Tiles 也支持 OAuth。Datasets 与 Route Optimization 需要 OAuth 及对应操作的 IAM 权限。Street View Publish 必须使用明确指定的 authorized_user 凭据文件,并获得 streetviewpublish 范围的用户同意。

服务API身份验证
Geolocation APIgeolocation.googleapis.comAPI 密钥
Solar APIsolar.googleapis.comAPI 密钥 / OAuth
Aerial View APIaerialview.googleapis.comAPI 密钥
Map Tiles APItile.googleapis.comAPI 密钥 / OAuth
Street View Static APIstreet-view-image-backend.googleapis.comAPI 密钥
Maps Platform Datasets APImapsplatformdatasets.googleapis.comOAuth / IAM
Route Optimization APIrouteoptimization.googleapis.comOAuth / IAM
Street View Publish APIstreetviewpublish.googleapis.com需用户同意的 OAuth;不接受服务账号

Speed Limits 需要受限的 Asset Tracking 授权。Aerial View 仅支持特定美国地址,禁止下载或缓存视频。Map Tiles 仅供可视化展示,禁止机器分析和数据提取。Weather 分钟预报和地图工具属于实验功能,缓存最多一小时,并有额外使用限制。各工具参考页列出详细条款、署名要求和限制。

Google: Speed Limits, Map Tiles, Aerial View, Street View Publish.