Rube MCP による Google Maps 自動化
Rube MCP(Composio)を介して、住所のジオコーディング、施設検索、ルート案内、距離行列計算、施設詳細の取得を行います。
ツールキットドキュメント: composio.dev/toolkits/google_maps
前提条件
- Rube MCP が接続されていること(
RUBE_SEARCH_TOOLSが利用可能) RUBE_MANAGE_CONNECTIONSによるアクティブな接続(ツールキットgoogle_maps)- 最初に必ず
RUBE_SEARCH_TOOLSを呼び出して現在のツールスキーマを取得すること
セットアップ
Rube MCP の入手: クライアント設定に https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要で、エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認して、Rube MCP が利用可能であることを確認しますRUBE_MANAGE_CONNECTIONSをツールキットgoogle_mapsで呼び出します- 接続が ACTIVE でない場合は、返された認証リンクに従ってセットアップを完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
コアワークフロー
1. 住所のジオコーディング
GOOGLE_MAPS_GEOCODING_API を使用して、住所を地理座標(緯度/経度)に変換します。
ツール: GOOGLE_MAPS_GEOCODING_API
パラメータ:
- address: ジオコーディングする住所またはプラスコード
- latlng: 逆ジオコーディング用の緯度/経度(例: "40.714224,-73.961452")
- place_id: 場所ジオコーディング用のプレイスID
- language: 結果の言語
- region: 地域バイアス(ccTLD コード)
- bounds: ビューポートバイアス用のバウンディングボックス
- components: コンポーネントフィルター(例: "postal_code:94043|country:US")
2. 施設の検索
GOOGLE_MAPS_TEXT_SEARCH を使用して、自由テキストクエリで施設を検索します。
ツール: GOOGLE_MAPS_TEXT_SEARCH
パラメータ:
- textQuery(必須): 検索テキスト(例: "東京のレストラン")
- fieldMask: 返すフィールド(例: "displayName,formattedAddress,rating")
- maxResultCount: 最大結果数(1~20、デフォルトは10)
3. 2地点間のルート案内
GOOGLE_MAPS_GET_ROUTE を使用して、距離と所要時間を含むルートを計算します。
ツール: GOOGLE_MAPS_GET_ROUTE
パラメータ:
- origin_address(必須): 出発地点(住所または "緯度,経度")
- destination_address(必須): 到着地点(住所または "緯度,経度")
- travelMode: DRIVE、BICYCLE、WALK、TWO_WHEELER、または TRANSIT
- routingPreference: TRAFFIC_UNAWARE、TRAFFIC_AWARE、TRAFFIC_AWARE_OPTIMAL
- computeAlternativeRoutes: 代替ルートを返す(真偽値)
- units: METRIC または IMPERIAL
- languageCode: BCP-47 言語コード
- routeModifiers_avoidTolls / avoidHighways / avoidFerries: ルート設定
4. 距離行列の計算
GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX を使用して、複数の出発地と目的地間の距離と所要時間を計算します。
ツール: GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX
パラメータ:
- origins(必須): 出発地点の配列(住所文字列または緯度/経度オブジェクト)
- destinations(必須): 目的地の配列
- travelMode: DRIVE、BICYCLE、WALK、TWO_WHEELER、または TRANSIT
- routingPreference: TRAFFIC_UNAWARE、TRAFFIC_AWARE、TRAFFIC_AWARE_OPTIMAL
- fieldMask: 含める応答フィールド
- units: METRIC または IMPERIAL
5. 施設詳細の取得
GOOGLE_MAPS_GET_PLACE_DETAILS を使用して、特定の施設に関する詳細情報を取得します。
ツール: GOOGLE_MAPS_GET_PLACE_DETAILS
説明: リソース名(places/{place_id} 形式)を使用して、施設の詳細情報を取得します。
営業時間、連絡先、レビューなどを返します。
注意: RUBE_SEARCH_TOOLS を呼び出して、このツールの完全なスキーマを取得してください。
6. 近くの施設を検索
GOOGLE_MAPS_NEARBY_SEARCH を使用して、ある地点を中心とする円形エリア内の施設を検索します。
ツール: GOOGLE_MAPS_NEARBY_SEARCH
パラメータ:
- latitude(必須): 中心の緯度(-90 ~ 90)
- longitude(必須): 中心の経度(-180 ~ 180)
- radius(必須): 検索半径(メートル、最大 50000)
- includedTypes: 含める施設タイプ(例: ["restaurant", "cafe"])
- excludedTypes: 除外する施設タイプ
- fieldMask: 返すフィールド
- maxResultCount: 最大結果数(1~20)
一般的なパターン
- ジオコーディング → ルート:
GOOGLE_MAPS_GEOCODING_APIで住所を座標に変換し、GOOGLE_MAPS_GET_ROUTEでそれらの間のルート案内を取得します。 - 検索 → 詳細:
GOOGLE_MAPS_TEXT_SEARCHで施設を検索し、GOOGLE_MAPS_GET_PLACE_DETAILSでより詳細なメタデータ(営業時間、連絡先、レビュー)を取得します。 - オートコンプリート UX:
GOOGLE_MAPS_AUTOCOMPLETEを使用して、ユーザーが住所や施設名を入力する際に、タイプアヘッド検索候補を表示します。 - 逆ジオコーディング:
GOOGLE_MAPS_GEOCODE_LOCATIONを使用して、座標を人間が読める住所に変換します。 - バッチ距離計算:
GOOGLE_MAPS_GET_ROUTEを繰り返し呼び出す代わりに、GOOGLE_MAPS_COMPUTE_ROUTE_MATRIXを使用して多対多の距離計算を行います。 - 地図の埋め込み:
GOOGLE_MAPS_MAPS_EMBED_APIを使用して、施設、ルート案内、または検索結果の埋め込み可能な地図 URL を生成します。
既知の落とし穴
- ルート行列の結果構造:
GOOGLE_MAPS_COMPUTE_ROUTE_MATRIXはroutes[]構造ではなく、originIndexとdestinationIndexに加えてdistanceMetersとdurationを持つdata.elementsの下に結果を返します。 - 所要時間の形式:
GOOGLE_MAPS_GET_ROUTEは所要時間をdata.response_data.routes内で"937s"のような文字列で返します。数値比較の前にこれらを解析する必要があります。 - チェーン用のプレイスID:
GOOGLE_MAPS_TEXT_SEARCHから返されたプレイス識別子を使用して、GOOGLE_MAPS_GET_PLACE_DETAILSを呼び出し、よりリッチなフィールドを取得します。 - 逆ジオコーディングの入力:
GOOGLE_MAPS_GEOCODE_LOCATIONは座標に基づいて動作します。誤ったルックアップを避けるため、住所文字列ではなく緯度/経度を渡すようにしてください。 - ルーティング設定の制限:
travelModeが WALK、BICYCLE、または TRANSIT の場合、routingPreferenceは設定できません。これらのモードでは省略する必要があります。 - 近隣検索のタイプの有効性:
GOOGLE_MAPS_NEARBY_SEARCHでは"food"は有効なタイプではありません(Table B に属します)。代わりにrestaurant、cafe、bakery、fast_food_restaurantなどの具体的なタイプを使用してください。 - 埋め込み API は API キーのみを使用:
GOOGLE_MAPS_MAPS_EMBED_APIは API キーが必要であり、OAuth2 をサポートしていません。
クイックリファレンス
| アクション | ツール | 主要パラメータ |
|---|---|---|
| 住所のジオコーディング | GOOGLE_MAPS_GEOCODING_API | address または latlng または place_id |
| 逆ジオコーディング | GOOGLE_MAPS_GEOCODE_LOCATION | (RUBE_SEARCH_TOOLS で完全なスキーマを参照) |
| テキスト検索 | GOOGLE_MAPS_TEXT_SEARCH | textQuery、fieldMask、maxResultCount |
| 近隣検索 | GOOGLE_MAPS_NEARBY_SEARCH | latitude、longitude、radius、includedTypes |
| ルート案内 | GOOGLE_MAPS_GET_ROUTE | origin_address、destination_address、travelMode |
| 距離行列 | GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX | origins、destinations、travelMode |
| 施設詳細 | GOOGLE_MAPS_GET_PLACE_DETAILS | (RUBE_SEARCH_TOOLS で完全なスキーマを参照) |
| オートコンプリート | GOOGLE_MAPS_AUTOCOMPLETE | input、includedRegionCodes、locationBias |
| 施設写真 | GOOGLE_MAPS_PLACE_PHOTO | (RUBE_SEARCH_TOOLS で完全なスキーマを参照) |
| 地図の埋め込み | GOOGLE_MAPS_MAPS_EMBED_API | mode、およびモード固有のパラメータ |
Powered by Composio