Google Maps MCP Serverの使用方法

# Google Maps MCP Serverの使用方法

## はじめに

モデルコンテキストプロトコル（MCP）は、大規模言語モデル（LLM）と外部システムとの通信を標準化する新しいプロトコルです。Google Maps MCP Serverは、このプロトコルを使用して、Claude、GPT、PerplexityなどのAIアシスタントがGoogle Mapsの強力な機能にアクセスできるようにするツールです。本記事では、Google Maps MCP Serverのセットアップ方法と、その多様な機能を活用する方法について詳しく解説します。

## MCPとは何か

モデルコンテキストプロトコル（MCP）は、AIアシスタントがデータが存在するシステムと接続するための標準です。Anthropicによって開発され、オープンソース化されたこのプロトコルは、AIモデルに外部ツールやデータへのアクセスを提供する統一された方法を確立しています。MCPは、AIアプリケーション用のUSB-Cポートのようなものと考えることができます。

## Google Maps MCP Serverの概要

Google Maps MCP Serverは、AIアシスタントがGoogle Maps APIの機能にアクセスできるようにするMCPサーバーです。位置情報サービス、ルーティング、場所の詳細情報など、Google Mapsの強力な機能をAIアシスタントに提供します。

## 主な機能

Google Maps MCP Serverは、以下の主要な機能を提供しています：

### 1. maps_geocode
住所を座標に変換します。
- 入力: 住所（文字列）
- 返り値: 位置情報、フォーマットされた住所、場所ID

### 2. maps_reverse_geocode
座標を住所に変換します。
- 入力: 緯度（数値）、経度（数値）
- 返り値: フォーマットされた住所、場所ID、住所コンポーネント

### 3. maps_search_places
テキストクエリを使用して場所を検索します。
- 入力: 
  - クエリ（文字列）
  - 位置情報（オプション）: {latitude: 数値, longitude: 数値}
  - 半径（オプション）: 数値（メートル、最大50000）
- 返り値: 名前、住所、位置情報を含む場所の配列

### 4. maps_place_details
場所に関する詳細情報を取得します。
- 入力: place_id（文字列）
- 返り値: 名前、住所、連絡先情報、評価、レビュー、営業時間

### 5. maps_distance_matrix
ポイント間の距離と時間を計算します。
- 入力:
  - origins（文字列配列）
  - destinations（文字列配列）
  - mode（オプション）: "driving" | "walking" | "bicycling" | "transit"
- 返り値: 距離と所要時間のマトリックス

### 6. maps_elevation
位置の標高データを取得します。
- 入力: locations（{latitude, longitude}の配列）
- 返り値: 各ポイントの標高データ

### 7. maps_directions
ポイント間の経路を取得します。
- 入力:
  - origin（文字列）
  - destination（文字列）
  - mode（オプション）: "driving" | "walking" | "bicycling" | "transit"
- 返り値: ステップ、距離、所要時間を含む経路の詳細

## セットアップ手順

### APIキーの取得

Google Maps MCP Serverを使用するには、まずGoogle Maps APIキーが必要です。以下の手順でAPIキーを取得します：

1. Google Cloud Platformコンソール（https://console.cloud.google.com/）にアクセス
2. 新しいプロジェクトを作成またはプロジェクトを選択
3. APIとサービスに移動し、「APIとサービスの有効化」をクリック
4. Maps JavaScript API、Geocoding API、Places API、Distance Matrix API、Elevation API、Directions APIなど、必要なAPIを有効化
5. 認証情報メニューから「認証情報を作成」→「APIキー」を選択
6. 生成されたAPIキーをコピー（セキュリティ対策として、APIキーの制限を設定することをお勧めします）

### 実装方法

Google Maps MCP Serverの実装には、主に2つの方法があります：

#### 1. Dockerを使用する方法

```json
{
  "mcpServers": {
    "google-maps": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GOOGLE_MAPS_API_KEY",
        "mcp/google-maps"
      ],
      "env": {
        "GOOGLE_MAPS_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}
```

#### 2. NPXを使用する方法

```json
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ],
      "env": {
        "GOOGLE_MAPS_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}
```

### Dockerビルド手順

独自のDockerイメージをビルドする場合は、以下のコマンドを使用します：

```bash
docker build -t mcp/google-maps -f src/google-maps/Dockerfile .
```

## Claude Desktopでの設定

Claude Desktopで使用するには、`claude_desktop_config.json`ファイルに以下の設定を追加します：

```json
{
  "mcpServers": {
    "google-maps": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GOOGLE_MAPS_API_KEY",
        "mcp/google-maps"
      ],
      "env": {
        "GOOGLE_MAPS_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}
```

## 実際の使用例

以下に、Google Maps MCP Serverを使用した実際の例をいくつか紹介します：

### 例1：住所から座標を取得する

```
住所「東京タワー」の座標を教えてください。
```

AIアシスタントは、`maps_geocode`ツールを使用して、以下のような応答を返します：

```
東京タワーの座標は緯度35.6586, 経度139.7454です。正式住所は「〒105-0011 東京都港区芝公園４丁目２−８」です。
```

### 例2：2地点間の経路を検索する

```
東京駅から渋谷駅までの公共交通機関での行き方を教えてください。
```

AIアシスタントは、`maps_directions`ツールを使用して、以下のような応答を返します：

```
東京駅から渋谷駅までの公共交通機関での行き方:

1. JR山手線に乗車（渋谷方面）
2. 約24分、11駅を経由
3. 渋谷駅で下車

所要時間: 約24分
距離: 約6.4km
料金: 約200円
```

### 例3：周辺の飲食店を検索する

```
六本木駅周辺の人気のイタリアンレストランを5つ教えてください。
```

AIアシスタントは、`maps_search_places`と`maps_place_details`ツールを使用して、以下のような応答を返します：

```
六本木駅周辺の人気イタリアンレストラン5選:

1. リストランテ・ヒロ 六本木
   住所: 〒106-0032 東京都港区六本木7-4-5
   評価: 4.5/5 (120件のレビュー)
   営業時間: 18:00-23:00 (月曜定休)

2. アロマフレスカ 六本木店
   住所: 〒106-0032 東京都港区六本木6-1-20
   評価: 4.3/5 (88件のレビュー)
   営業時間: 11:30-15:00, 17:30-23:00

(以下省略)
```

## 注意点とベストプラクティス

### APIキーの保護

Google Maps APIキーは秘密にし、GitHubなどの公開リポジトリにアップロードしないように注意してください。環境変数として設定することをお勧めします。

### レート制限の考慮

Google Maps APIにはレート制限があります。アプリケーションの利用量に基づいて、適切な制限とクォータを設定してください。

### 課金の確認

Google Maps APIは使用量に応じて課金される場合があります。Google Cloud Platformのダッシュボードで使用状況と料金を定期的に確認することをお勧めします。

## トラブルシューティング

### APIキーのエラー

「API Key Not Valid」エラーが表示される場合は、以下を確認してください：
- APIキーが正しく設定されているか
- 必要なすべてのAPIが有効化されているか
- APIキーに制限を設定している場合、適切なリファラーやIPアドレスが許可されているか

### サーバー接続エラー

MCPサーバーに接続できない場合は、以下を確認してください：
- Dockerが正しくインストールされ実行されているか
- 設定ファイルに正しいパスとコマンドが指定されているか
- ファイアウォールや環境設定がサーバー接続をブロックしていないか

## 将来の展望

Google Maps MCP Serverは、AIとマップ技術の統合において大きな可能性を秘めています。将来的には以下のような機能の拡張が期待されます：

- リアルタイム交通情報の統合
- より詳細な地域情報へのアクセス
- カスタムマップレイヤーの作成
- 複雑な空間分析と地図視覚化
- AR/VR技術とのさらなる統合

## まとめ

Google Maps MCP Serverは、AIアシスタントにGoogle Mapsの強力な機能へのアクセスを提供する、革新的なツールです。適切に設定し活用することで、位置情報、経路検索、場所の詳細情報などを簡単に取得でき、アプリケーションの機能を大幅に拡張することができます。APIキーの保護とレート制限に注意しながら、この強力なツールを最大限に活用しましょう。

## 参考リソース

GitHub リポジトリ: https://github.com/modelcontextprotocol/servers/tree/main/src/google-maps