Rube MCP 経由の Google Maps 自動化
Rube MCP(Composio)を使用して、住所のジオコーディング、場所の検索、経路案内、距離行列の計算、場所の詳細情報の取得を Google Maps 経由で行います。
ツールキットドキュメント: composio.dev/toolkits/google_maps
前提条件
- Rube MCP が接続されていること(
RUBE_SEARCH_TOOLSが利用可能) RUBE_MANAGE_CONNECTIONSを使用したアクティブな接続(ツールキット:google_maps)- 現在のツールスキーマを取得するために、常に最初に
RUBE_SEARCH_TOOLSを呼び出すこと
セットアップ
Rube MCP の入手: クライアント設定に MCP サーバーとして https://rube.app/mcp を追加します。API キーは不要で、エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認して、Rube MCP が利用可能であることを確認します- ツールキット
google_mapsを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が 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(必須): 出発地点(住所または "lat,lng")
- destination_address(必須): 到着地点(住所または "lat,lng")
- travelMode: DRIVE、BICYCLE、WALK、TWO_WHEELER、TRANSIT のいずれか
- routingPreference: TRAFFIC_UNAWARE、TRAFFIC_AWARE、TRAFFIC_AWARE_OPTIMAL のいずれか
- computeAlternativeRoutes: 代替ルートを返すかどうか(boolean)
- units: METRIC または IMPERIAL
- languageCode: BCP-47 言語コード
- routeModifiers_avoidTolls / avoidHighways / avoidFerries: ルートの設定
4. 距離行列の計算
GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX を使用して、複数の出発地と到着地間の距離と所要時間を計算します。
ツール: GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX
パラメータ:
- origins(必須): 出発地の配列(住所文字列または lat/lng オブジェクト)
- 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[]構造ではなく、data.elements以下にoriginIndexとdestinationIndex、さらにdistanceMetersとdurationを含む結果を返します。 - 所要時間の形式:
GOOGLE_MAPS_GET_ROUTEは、data.response_data.routes内に"937s"のような文字列で所要時間を返します。数値比較の前にパースする必要があります。 - チェーン用のプレースID:
GOOGLE_MAPS_GET_PLACE_DETAILSをよりリッチなフィールドで呼び出す際は、GOOGLE_MAPS_TEXT_SEARCHから返された場所識別子を使用します。 - 逆ジオコーディングの入力:
GOOGLE_MAPS_GEOCODE_LOCATIONは座標駆動型です。誤検索を避けるため、住所文字列ではなく lat/lng を渡すようにしてください。 - ルーティング設定の制限:
travelModeが WALK、BICYCLE、または TRANSIT の場合、routingPreferenceは設定できません。これらのモードでは省略する必要があります。 - 近隣検索のタイプの有効性:
GOOGLE_MAPS_NEARBY_SEARCHでは"food"は有効なタイプではありません(Table B です)。代わりにrestaurant、cafe、bakery、fast_food_restaurantなどの具体的なタイプを使用してください。 - Embed 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