isaWOW
    Back to Skills & MCP Library
    Claude Skill · DevTools & Code

    Google Maps Automation

    Automate Google Maps tasks via Rube MCP (Composio): geocode addresses, search places, get directions, compute route matrices, reverse geocode, autocomplete, get place details. Always search tools first for current schemas.

    Claude
    Claude Code
    OpenClaw
    Hermes
    View source

    Skill definition (SKILL.md)


    name: google-maps-automation description: "Automate Google Maps tasks via Rube MCP (Composio): geocode addresses, search places, get directions, compute route matrices, reverse geocode, autocomplete, get place details. Always search tools first for current schemas." requires: mcp: [rube]

    Google Maps Automation via Rube MCP

    Geocode addresses, search places, get directions, compute distance matrices, and retrieve place details using Google Maps via Rube MCP (Composio).

    Toolkit docs: composio.dev/toolkits/google_maps

    Prerequisites

    • Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
    • Active connection via RUBE_MANAGE_CONNECTIONS with toolkit google_maps
    • Always call RUBE_SEARCH_TOOLS first to get current tool schemas

    Setup

    Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.

    1. Verify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds
    2. Call RUBE_MANAGE_CONNECTIONS with toolkit google_maps
    3. If connection is not ACTIVE, follow the returned auth link to complete setup
    4. Confirm connection status shows ACTIVE before running any workflows

    Core Workflows

    1. Geocode an Address

    Use GOOGLE_MAPS_GEOCODING_API to convert a street address into geographic coordinates (latitude/longitude).

    Tool: GOOGLE_MAPS_GEOCODING_API
    Parameters:
      - address: Street address or plus code to geocode
      - latlng: Lat/lng for reverse geocoding (e.g., "40.714224,-73.961452")
      - place_id: Place ID for place geocoding
      - language: Language for results
      - region: Region bias (ccTLD code)
      - bounds: Bounding box for viewport bias
      - components: Component filter (e.g., "postal_code:94043|country:US")
    

    2. Search for Places

    Use GOOGLE_MAPS_TEXT_SEARCH to find places using a free-text query.

    Tool: GOOGLE_MAPS_TEXT_SEARCH
    Parameters:
      - textQuery (required): Search text (e.g., "restaurants in London")
      - fieldMask: Fields to return (e.g., "displayName,formattedAddress,rating")
      - maxResultCount: Max results (1-20, default 10)
    

    3. Get Directions Between Two Locations

    Use GOOGLE_MAPS_GET_ROUTE to calculate routes with distance and duration.

    Tool: GOOGLE_MAPS_GET_ROUTE
    Parameters:
      - origin_address (required): Starting point (address or "lat,lng")
      - destination_address (required): End point (address or "lat,lng")
      - travelMode: DRIVE, BICYCLE, WALK, TWO_WHEELER, or TRANSIT
      - routingPreference: TRAFFIC_UNAWARE, TRAFFIC_AWARE, TRAFFIC_AWARE_OPTIMAL
      - computeAlternativeRoutes: Return alternative routes (boolean)
      - units: METRIC or IMPERIAL
      - languageCode: BCP-47 language code
      - routeModifiers_avoidTolls / avoidHighways / avoidFerries: Route preferences
    

    4. Compute Distance Matrix

    Use GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX to calculate distances and durations between multiple origins and destinations.

    Tool: GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX
    Parameters:
      - origins (required): Array of origin locations (address strings or lat/lng objects)
      - destinations (required): Array of destination locations
      - travelMode: DRIVE, BICYCLE, WALK, TWO_WHEELER, or TRANSIT
      - routingPreference: TRAFFIC_UNAWARE, TRAFFIC_AWARE, TRAFFIC_AWARE_OPTIMAL
      - fieldMask: Response fields to include
      - units: METRIC or IMPERIAL
    

    5. Get Place Details

    Use GOOGLE_MAPS_GET_PLACE_DETAILS to retrieve comprehensive information about a specific place.

    Tool: GOOGLE_MAPS_GET_PLACE_DETAILS
    Description: Retrieves comprehensive details for a place using its resource
      name (places/{place_id} format). Returns hours, contacts, reviews, etc.
    Note: Call RUBE_SEARCH_TOOLS to get the full schema for this tool.
    

    6. Search Nearby Places

    Use GOOGLE_MAPS_NEARBY_SEARCH to find places within a circular area around a point.

    Tool: GOOGLE_MAPS_NEARBY_SEARCH
    Parameters:
      - latitude (required): Center latitude (-90 to 90)
      - longitude (required): Center longitude (-180 to 180)
      - radius (required): Search radius in meters (max 50000)
      - includedTypes: Place types to include (e.g., ["restaurant", "cafe"])
      - excludedTypes: Place types to exclude
      - fieldMask: Fields to return
      - maxResultCount: Max results (1-20)
    

    Common Patterns

    • Geocode then route: Use GOOGLE_MAPS_GEOCODING_API to convert addresses to coordinates, then GOOGLE_MAPS_GET_ROUTE for directions between them.
    • Search then detail: Use GOOGLE_MAPS_TEXT_SEARCH to find places, then GOOGLE_MAPS_GET_PLACE_DETAILS for richer metadata (hours, contacts, reviews).
    • Autocomplete UX: Use GOOGLE_MAPS_AUTOCOMPLETE for type-ahead search suggestions as users type addresses or place names.
    • Reverse geocode: Use GOOGLE_MAPS_GEOCODE_LOCATION to convert coordinates back to a human-readable address.
    • Batch distance calculation: Use GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX for many-to-many distance calculations instead of calling GOOGLE_MAPS_GET_ROUTE repeatedly.
    • Embed maps: Use GOOGLE_MAPS_MAPS_EMBED_API to generate embeddable map URLs for places, directions, or search results.

    Known Pitfalls

    • Route matrix results structure: GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX returns results under data.elements with originIndex and destinationIndex plus distanceMeters and duration -- not a routes[] structure.
    • Duration format: GOOGLE_MAPS_GET_ROUTE returns durations as strings like "937s" inside data.response_data.routes. You must parse these before numeric comparisons.
    • Place IDs for chaining: Use place identifiers returned from GOOGLE_MAPS_TEXT_SEARCH when calling GOOGLE_MAPS_GET_PLACE_DETAILS for richer fields.
    • Reverse geocoding input: GOOGLE_MAPS_GEOCODE_LOCATION is coordinate-driven. Ensure you pass lat/lng (not an address string) to avoid mismatched lookups.
    • Routing preference restrictions: routingPreference cannot be set when travelMode is WALK, BICYCLE, or TRANSIT -- it must be omitted for these modes.
    • Nearby search type validity: "food" is NOT a valid type for GOOGLE_MAPS_NEARBY_SEARCH (it is Table B). Use specific types like restaurant, cafe, bakery, fast_food_restaurant instead.
    • Embed API uses API keys only: GOOGLE_MAPS_MAPS_EMBED_API requires an API key and does not support OAuth2.

    Quick Reference

    ActionToolKey Parameters
    Geocode addressGOOGLE_MAPS_GEOCODING_APIaddress or latlng or place_id
    Reverse geocodeGOOGLE_MAPS_GEOCODE_LOCATION(see full schema via RUBE_SEARCH_TOOLS)
    Text searchGOOGLE_MAPS_TEXT_SEARCHtextQuery, fieldMask, maxResultCount
    Nearby searchGOOGLE_MAPS_NEARBY_SEARCHlatitude, longitude, radius, includedTypes
    Get directionsGOOGLE_MAPS_GET_ROUTEorigin_address, destination_address, travelMode
    Distance matrixGOOGLE_MAPS_COMPUTE_ROUTE_MATRIXorigins, destinations, travelMode
    Place detailsGOOGLE_MAPS_GET_PLACE_DETAILS(see full schema via RUBE_SEARCH_TOOLS)
    AutocompleteGOOGLE_MAPS_AUTOCOMPLETEinput, includedRegionCodes, locationBias
    Place photoGOOGLE_MAPS_PLACE_PHOTO(see full schema via RUBE_SEARCH_TOOLS)
    Embed mapGOOGLE_MAPS_MAPS_EMBED_APImode, plus mode-specific params

    Powered by Composio

    isaWOW · Custom Skill Development

    Want a custom Skill built for your team?

    We design private Claude, OpenClaw and Hermes Skills tailored to your workflows, SOPs and brand voice — production-ready in days.

    Get a custom Skill