/ ディレクトリ / プレイグラウンド / Google Maps
● 公式 modelcontextprotocol 🔑 自分のキーが必要

Google Maps

作者 modelcontextprotocol · modelcontextprotocol/servers-archived

ジオコーディング、場所検索、ルート案内、距離マトリックス — 旅程、店舗検索機能、地域分析のための Google マップの機能。

リファレンス Google Maps MCP (現在は modelcontextprotocol/servers-archived にあります)。 主要な Maps API をラップします: ジオコーディング、場所の検索と詳細、道順、距離マトリックス、標高。 現実世界の地理を必要とするエージェント タスクに役立ちます。 注: アーカイブとは、アクティブなメンテナンスがないことを意味します。コミュニティ フォークは長期的に計画してください。

なぜ使うのか

主な機能

ライブデモ

実際の動作

google-maps.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "google-maps",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "google-maps": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-google-maps"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add google-maps -- npx -y @modelcontextprotocol/server-google-maps

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: Google Maps

現実的な移動時間を考慮して日帰り旅行の旅程を計画する

👤 旅行者、複数の場所に立ち寄る 1 日を計画している人 ⏱ ~10 min beginner

使うタイミング: 1 日に行きたい場所が 5 か所あり、移動時間を考慮した現実的な順序が必要です。

前提条件
  • 関連する API が有効になっている Google Map API キー — console.cloud.google.com → Geocoding、Places、Directions API を有効にして、キーを作成します
フロー
  1. すべてのストップをジオコード化する
    これら 5 つの場所を緯度/経度にジオコーディングします: <リスト>。 各アドレスが正しいことを確認します。✓ コピーしました
    → 自信を持って5つのコーディネートを
  2. 距離行列を計算する
    平日の午前 10 時に、各停留所間の運転時間を取得します。 マトリックスとして表示します。✓ コピーしました
    → 5×5 時間マトリクス
  3. ルートを注文して追加する
    総運転時間を最短にする順序を提案します。 それから、ターンバイターンでストップからストップまでの道順を教えてください。✓ コピーしました
    → ルート案内付きの最適化されたルート

結果: 「良さそうな」計画ではなく、実際に実行できる旅程。

注意点
  • 距離マトリックスは駐車時間/玄関までの徒歩時間を考慮していません — 駐車する場合は、片足ずつ 10 ~ 15 分ずつパッドを入れてください。 ダウンタウンの目的地ではさらに長い
  • リアルタイム トラフィックは特定のモード/地域でのみ利用可能 — 交通量を考慮した見積もりを取得するには、delivery_time を使用します。 プランによっては「今」が除外される場合があります
組み合わせ: brave-search

地域の商品の店舗検索データを構築する

👤 「場所の検索」機能を実装する開発者 ⏱ ~30 min intermediate

使うタイミング: 「最寄りの店舗」機能を構築しているので、実際の座標と詳細をシードする必要があります。

フロー
  1. 各店舗の住所をジオコード化する
    /data/stores.csv に 50 店舗の住所の CSV があります。 それぞれをジオコーディングし、lat、lng、place_id、Google の正規化された住所を追加した新しい CSV を返します。✓ コピーしました
    → 強化されたCSV。 正しくジオコーディングされなかった住所にフラグを立てる
  2. それぞれについて豊富な詳細を引き出す
    各 place_id について、営業時間、電話番号、ウェブサイトを取得します。 CSVに追加します。✓ コピーしました
    → 店舗ごとの詳細(該当する場合は欠損データフラグ付き)
  3. サンプルの検証
    ランダムな 5 行を選択し、ジオコーディングされた座標が視覚的に正しく見えることを確認します (例: 「ストックホルムの住所はウィスコンシンではなくスウェーデンにジオコーディングされている」)。✓ コピーしました
    → 健全性チェックパス。 異常値のフラグが立てられた

結果: UI を強化する準備ができているクリーン ストア データセット。

注意点
  • Geocoding API には呼び出しごとのコストがかかります。50 アドレスは数セントですが、50,000 はリアルマネーです — 結果を積極的にキャッシュします。 住所文字列が変更された場合にのみ再ジオコードを行う
組み合わせ: filesystem

候補地から X 分以内に住んでいる顧客を見つける

👤 運用、不動産、成長アナリスト ⏱ ~25 min advanced

使うタイミング: あなたは新しい店舗/オフィスの場所を評価していて、それが何人の既存顧客にサービスを提供するかを知りたいと考えています。

フロー
  1. 候補をジオコーディングする
    候補の住所をジオコーディングします:「1234 Market St, San Francisco」。✓ コピーしました
    → 座標を確認しました
  2. 顧客の ZIP までの距離マトリックス
    候補から、これら 100 の顧客 ZIP セントロイドのそれぞれまでの到達圏を計算します: <リスト>。 平日朝9時のご利用。✓ コピーしました
    → ZIPごとの走行時間
  3. 集計
    15 分、30 分、60 分以内に何人の顧客がいますか? ヒストグラムをプロットします (ASCII バーは OK)。✓ コピーしました
    → 決定を知らせるバケット化されたカウント

結果: 「ここにオープンすべきか?」に対するデータに基づく答え

注意点
  • ZIP セントロイドは実際の顧客の住所のプロキシとしては不十分です — 実際の住所がある場合は、それを使用してください。 重心は郊外の分析を歪めます
  • 距離マトリックスによるバッチ サイズの制限 — Google では、通話ごとの発信元×宛先の数に上限を設けています。 複数のリクエストに分割しますが、いずれにしても要素ごとに料金が発生します
組み合わせ: postgres · filesystem

組み合わせ

他のMCPと組み合わせて10倍の力を

google-maps + filesystem

CSV を一括ジオコーディングし、エンリッチされたファイルを書き戻す

/data/customers.csv を読み取り、各住所をジオコーディングし、lat/lng/place_id 列を追加して /data/customers_geo.csv を書き込みます。✓ コピーしました
google-maps + postgres

オンボーディング中に顧客行をジオコーディングする

lat が NULL である「customers」のすべての行について、住所をジオコーディングし、行を更新します。 コストを管理するために 500 を超えたら停止します。✓ コピーしました
google-maps + brave-search

Brave が候補地を検索 → Google マップが地理コードとルートを取得

勇敢に「最高のラーメンミッションSF」を検索してください。 トップ 3 については、place_id と 16th St BART からの徒歩ルートを取得します。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
maps_geocode address: str 住所→座標 $5 / 1000 calls
maps_reverse_geocode lat: number, lng: number 座標→住所 $5 / 1000 calls
maps_search_places query: str, location?, radius? 地点付近の名前/カテゴリで場所を検索する $17-32 / 1000 (text search) or less for nearby
maps_place_details place_id: str 1 か所に詳細を表示して水分補給する $17 / 1000 base + add-ons per field
maps_distance_matrix origins[], destinations[], mode?, departure_time? 多数のポイント間のバルク距離/時間 $5 / 1000 elements (origin×destination)
maps_directions origin, destination, mode?, waypoints? 1 つのルートのターンバイターン $5 / 1000 calls
maps_elevation locations: [{lat, lng}] パスまたはポイントの標高プロファイル $5 / 1000 calls

コストと制限

運用コスト

APIクォータ
APIごと。 プロジェクトのデフォルトの上限はありますが、引き上げることは可能です。
呼び出しあたりのトークン
小さい; コストはトークンではなく金銭です
金額
通話ごとに支払います。 ジオコーディング $5/1,000 場所の詳細 $17/1,000。 距離行列 $5/1,000 要素。 過去に月 200 ドルの無料クレジット — 現在の Google ポリシーを確認してください。
ヒント
ジオコーディングされた住所を無期限にキャッシュします (住所は変更されません)。 距離マトリックスは、1 回のプロンプトで 50 ドルを吹き込む簡単な方法です。電話をかける前に、常に出発地 × 目的地を計算します。

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: 環境変数「GOOGLE_MAPS_API_KEY」の API キー。 Google Cloud コンソールで API ごとに、(可能であれば)IP / リファラーごとにキーを制限します。
データ送信先: Maps.googleapis.com へのすべての呼び出し
絶対に付与しない: unrestricted-everywhere keys — can be scraped from build artifacts and abused

トラブルシューティング

よくあるエラーと対処法

REQUEST_DENIED

API がキーに対して有効になっていない、または請求が構成されていません。 Cloud コンソールで各 API(ジオコーディング、場所、ルート)を有効にし、請求を設定します。

OVER_QUERY_LIMIT

1 秒あたりまたは 1 日あたりの上限に達しました。 スロットリングを追加します。 必要に応じて、Cloud コンソールで割り当てを引き上げます。

ZERO_RESULTS on geocode

住所があいまいか、記載どおりに存在しません。 国/州を追加してみるか、代わりに Place Autocomplete を使用してください。

Distance matrix INVALID_REQUEST

発信元×宛先が通話ごとの要素制限を超えていないことを確認してください (プランによって異なります)。 リクエストをチャンクします。

代替案

Google Maps 他との比較

代替案代わりに使う場面トレードオフ
OpenStreetMap (Nominatim) via fetch無料、API キーなし、自己レート制限を設け、データ品質の低下を受け入れるPOI データがまばらになる。 Nominatim の使用ポリシーにより、頻繁な使用が制限されます
Mapbox via custom MCP大量生産に適した価格設定が可能な、マネージド型の代替手段が必要な場合ファーストパーティ MCP はまだありません
HERE / TomTom APIs via custom MCPGoogle が苦手な地域でのルーティング/POIファーストパーティ MCP なし

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る