| name | google-maps |
| description | Place search, directions, geocoding, and interactive maps |
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?, reviews_sort?): Get detailed place info including reviews and hours.
place_id (string, required): Place ID from search results
language (string, optional, default: "en"): Language code
reviews_sort (string, optional, default: "most_relevant"): "most_relevant" or "newest"
-
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.
- Text: Introduce what you'll show
- Map: Call
show_on_map to display results
- 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):
- Text: Introduce what you'll show ("Here are the top restaurants:")
- show_on_map: Display the map
- 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.