mcpField
G
google-maps

google-maps

github.com/aws-samplesOther19796 installsUpdated 3w ago
Repository

About google-maps

A Google Maps skill for location search, place details, geocoding, directions, and interactive map display. It is suited to location-based requests and emphasizes showing results on a map.

Key features

  1. 01Text and nearby place search
  2. 02Place details, reviews, and hours
  3. 03Address and coordinate geocoding
  4. 04Directions with travel options
  5. 05Interactive maps for places and routes

Use cases

  1. 01Find restaurants or hotels nearby
  2. 02Check opening hours and reviews
  3. 03Get directions while avoiding tolls
  4. 04Display searched places on a map

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aws-samples/sample-strands-agent-with-agentcore --skill google-maps

After installing, type/google-mapsin Claude Code to confirm it loaded.

Details

From the project README

Google Maps

Available Tools

  • search_places(query, location?, radius?, type?, open_now?, language?): Search for places using text query.

    • query (string, required): Search text (e.g., "restaurants in Seoul")
    • location (string, optional): Center location as "lat,lng" (e.g., "37.5665,126.9780")
    • radius (integer, optional): Search radius in meters (max 50,000)
    • type (string, optional): Place type filter (e.g., "restaurant", "tourist_attraction", "hotel")
    • open_now (boolean, optional, default: false): Only return currently open places
    • language (string, optional, default: "en"): Language code
  • search_nearby_places(location, radius, keyword?, type?, rank_by?, open_now?, language?): Search near specific coordinates.

    • location (string, required): Center as "lat,lng" (e.g., "37.5665,126.9780")
    • radius (integer, required): Search radius in meters (max 50,000)
    • keyword (string, optional): Search keyword
    • type (string, optional): Place type filter
    • rank_by (string, optional, default: "prominence"): "prominence" or "distance"
    • open_now (boolean, optional, default: false): Only open places
    • language (string, optional, default: "en"): Language code
  • get_place_details(place_id, language?): Get detailed place info including reviews and hours.

    • place_id (string, required): Place ID from search results
    • language (string, optional, default: "en"): Language code
  • get_directions(origin, destination, mode?, alternatives?, avoid?, language?): Get directions between two locations.

    • origin (string, required): Starting point (address or "lat,lng")
    • destination (string, required): Destination (address or "lat,lng")
    • mode (string, optional, default: "driving"): "driving", "walking", "bicycling", "transit"
    • alternatives (boolean, optional, default: false): Return alternative routes
    • avoid (string, optional): "tolls", "highways", or "ferries"
    • language (string, optional, default: "en"): Language code
  • geocode_address(address, language?, region?): Convert a text address to geographic coordinates.

    • address (string, required): Address to geocode
    • language (string, optional, default: "en"): Language code
    • region (string, optional): Country code for regional bias
  • reverse_geocode(latlng, language?): Convert coordinates to a human-readable address.

    • latlng (string, required): Coordinates as "lat,lng" (e.g., "37.5665,126.9780")
    • language (string, optional, default: "en"): Language code
  • show_on_map(map_type, markers?, directions?, center?, zoom?): Display locations or routes on an interactive map.

    • map_type (string, required): "markers" (location pins), "directions" (route), or "area"
    • markers (array, required for "markers"): List of marker objects with lat, lng
    • directions (object, required for "directions"): Route data with origin and destination
    • center (object, optional): Map center {lat, lng}
    • zoom (integer, optional): Zoom level 1-20

Usage Guidelines

  • ALWAYS call show_on_map after collecting location data — visual maps are the primary value.
  • Preserve place_id from search results for use with get_place_details.
  • Infer transportation mode from context (driving for long distances, walking for short ones).
  • Show 1-5 most relevant places per map.

Response Pattern

Follow the Text -> Map -> Text sequence. Do NOT call show_on_map in parallel with other tool calls.

  1. Text: Introduce what you'll show
  2. Map: Call show_on_map to display results
  3. Text: Explain the results

Multiple categories: Use separate maps in sequence — never parallel.

Output Rules

The map renders visually from the tool result — never echo or paraphrase the raw map_data JSON (type, center, zoom, markers, lat/lng) in your text response. Describe places in natural language only (names, ratings, brief notes). The user already sees the map; do not repeat its contents.

UI Guidance (from tools-config)

When to Use:

  • ALWAYS call show_on_map after collecting location data - visual maps are the primary value
  • Use for: search results, directions, comparisons, or any location-based query

Response Pattern (DO NOT call show_on_map in parallel):

  1. Text: Introduce what you'll show ("Here are the top restaurants:")
  2. show_on_map: Display the map
  3. Text: Explain the results ("These restaurants are rated 4.5+ stars")

Example:

  • "Let me show you restaurants in Gangnam:" → show_on_map(restaurants) → "All 5 restaurants above have excellent reviews."
  • For multiple categories: Text → Map 1 → Text → Map 2 (sequential, not parallel)

Map Organization:

  • Separate maps for different categories (restaurants vs hotels)
  • Show 1-5 most relevant places per map

Tool Selection:

  • search_places: text queries | search_nearby_places: coordinates
  • Preserve place_id for details | Infer direction mode from context

Output Rules:

  • The map is rendered visually by the UI from the tool result. NEVER echo, paraphrase, or include the raw map_data JSON (coordinates, markers, zoom, type) in your text response.
  • Describe locations in natural language only (names, ratings, brief notes). The user already sees the map — do not repeat its contents.

Comments

Markdown supported