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 가져오기: 클라이언트 설정에 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. 두 위치 간 길찾기
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와 같은 구체적인 유형을 사용하세요. - 임베드 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, 모드별 추가 매개변수 |
Composio 제공