Awesome-claude-skills 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.

install
source · Clone the upstream repo
git clone https://github.com/ComposioHQ/awesome-claude-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComposioHQ/awesome-claude-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/composio-skills/google-maps-automation" ~/.claude/skills/composiohq-awesome-claude-skills-google-maps-automation && rm -rf "$T"
manifest: composio-skills/google-maps-automation/SKILL.md
source content

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 address
GOOGLE_MAPS_GEOCODING_API
address
or
latlng
or
place_id
Reverse geocode
GOOGLE_MAPS_GEOCODE_LOCATION
(see full schema via RUBE_SEARCH_TOOLS)
Text search
GOOGLE_MAPS_TEXT_SEARCH
textQuery
,
fieldMask
,
maxResultCount
Nearby search
GOOGLE_MAPS_NEARBY_SEARCH
latitude
,
longitude
,
radius
,
includedTypes
Get directions
GOOGLE_MAPS_GET_ROUTE
origin_address
,
destination_address
,
travelMode
Distance matrix
GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX
origins
,
destinations
,
travelMode
Place details
GOOGLE_MAPS_GET_PLACE_DETAILS
(see full schema via RUBE_SEARCH_TOOLS)
Autocomplete
GOOGLE_MAPS_AUTOCOMPLETE
input
,
includedRegionCodes
,
locationBias
Place photo
GOOGLE_MAPS_PLACE_PHOTO
(see full schema via RUBE_SEARCH_TOOLS)
Embed map
GOOGLE_MAPS_MAPS_EMBED_API
mode
, plus mode-specific params

Powered by Composio