Tool: search_places
Call this tool when the user's request is to find places, businesses, addresses, locations, points of interest, or any other Google Maps related search.
Input Requirements (CRITICAL):
text_query(string - MANDATORY): The primary search query. This must clearly define what the user is looking for.- Examples:
'restaurants in New York','coffee shops near Golden Gate Park','SF MoMA','1600 Amphitheatre Pkwy, Mountain View, CA, USA','pets friendly parks in Manhattan, New York','date night restaurants in Chicago','accessible public libraries in Los Angeles'.
- For specific place details: Include the requested attribute (e.g.,
'Google Store Mountain View opening hours','SF MoMa phone number','Shoreline Park Mountain View address').
- Examples:
location_bias(object - OPTIONAL): Use this to prioritize results near a specific geographic area.- Format:
{"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
- Usage:
- To bias to a 5km radius:
{"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}} - To bias strongly to the center point:
{"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}}(omittingradius_meters).
- To bias to a 5km radius:
- Format:
language_code(string - OPTIONAL): The language to show the search results summary in.- Format: A two-letter language code (ISO 639-1), optionally followed by an underscore and a two-letter country code (ISO 3166-1 alpha-2), e.g.,
en,ja,en_US,zh_CN,es_MX. If the language code is not provided, the results will be in English.
- Format: A two-letter language code (ISO 639-1), optionally followed by an underscore and a two-letter country code (ISO 3166-1 alpha-2), e.g.,
region_code(string - OPTIONAL): The Unicode CLDR region code of the user. This parameter is used to display the place details, like region-specific place name, if available. The parameter canaffect results based on applicable law.- Format: A two-letter country code (ISO 3166-1 alpha-2), e.g.,
US,CA.
- Format: A two-letter country code (ISO 3166-1 alpha-2), e.g.,
Instructions for Tool Call:
Location Information (CRITICAL): The search must contain sufficient location information. If the location is ambiguous (e.g., just "pizza places"), you must specify it in the
text_query(e.g., "pizza places in New York") or use thelocation_biasparameter. Include city, state/province, and region/country name if needed for disambiguation.Always provide the most specific and contextually rich
text_querypossible.Only use
location_biasif coordinates are explicitly provided or if inferring a location from a user's known context is appropriate and necessary for better results.
The following sample demonstrate how to use curl to invoke the search_places MCP tool.
| Curl Request |
|---|
curl --location 'https://mapstools.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_places", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for SearchText.
SearchTextRequest
| JSON representation |
|---|
{ "textQuery": string, "languageCode": string, "regionCode": string, "pageSize": integer, "pageToken": string, // Union field |
| Fields | |
|---|---|
textQuery |
Required. The text query. |
languageCode |
Optional. The language to request that the summary is returned in. If the language code is unspecified or unrecognized, the summary with a preference for English will be returned. For example, "en" for English. Current list of supported languages: https://developers.google.com/maps/faq#languagesupport. |
regionCode |
Optional. The Unicode country/region code (CLDR) of the location where the request is coming from. This parameter is used to display the place details, like region-specific place name, if available. The parameter can affect results based on applicable law. For example, "US" for United States. For more information, see https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. Note that 3-digit region codes are not currently supported. |
pageSize |
Optional. The maximum number of places to return. The service may return fewer than this value. |
pageToken |
Optional. A page token, received from a previous |
Union field
|
|
locationBias |
An optional region to bias the search results to. If an explicit location is in |
LocationBias
| JSON representation |
|---|
{
"circle": {
object ( |
| Fields | |
|---|---|
circle |
Optional. A circle defined by center point and radius. The |
Circle
| JSON representation |
|---|
{ "center": { object ( |
| Fields | |
|---|---|
center |
Required. The center point of the circle. |
Union field
|
|
radiusMeters |
The radius of the circle in meters. The radius must be within 50,000 meters. |
LatLng
| JSON representation |
|---|
{ "latitude": number, "longitude": number } |
| Fields | |
|---|---|
latitude |
The latitude in degrees. It must be in the range [-90.0, +90.0]. |
longitude |
The longitude in degrees. It must be in the range [-180.0, +180.0]. |
Output Schema
Response message for SearchText.
SearchTextResponse
| JSON representation |
|---|
{
"places": [
{
object ( |
| Fields | |
|---|---|
places[] |
Output only. The list of places that are mentioned in the summary. |
summary |
Output only. A natural language summary of the search results. The summary may contain zero-based citations like "[0]", "[1]", "[2]" etc. These citations map to the corresponding places in the |
nextPageToken |
Optional. A token that can be sent as |
PlaceView
| JSON representation |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| Fields | |
|---|---|
place |
The resource name of the underlying place, in the format of "places/{id}". |
id |
The place ID of the underlying place. |
googleMapsLinks |
Links to trigger different Google Maps actions. |
Union field
|
|
location |
The position of this place. |
LatLng
| JSON representation |
|---|
{ "latitude": number, "longitude": number } |
| Fields | |
|---|---|
latitude |
The latitude in degrees. It must be in the range [-90.0, +90.0]. |
longitude |
The longitude in degrees. It must be in the range [-180.0, +180.0]. |
GoogleMapsLinks
| JSON representation |
|---|
{ "directionsUrl": string, "placeUrl": string, "writeAReviewUrl": string, "reviewsUrl": string, "photosUrl": string } |
| Fields | |
|---|---|
directionsUrl |
A link to show the directions to the place. The link only populates the destination location and uses the default travel mode |
placeUrl |
A link to show this place. |
writeAReviewUrl |
A link to write a review for this place on Google Maps. |
reviewsUrl |
A link to show reviews of this place on Google Maps. |
photosUrl |
A link to show reviews of this place on Google Maps. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌