工具:search_places
当用户的请求是查找地点、商家、地址、位置、地图注点或任何其他与 Google 地图相关的搜索时,请调用此工具。
输入要求(关键):
text_query(字符串 - 必需):主要搜索查询。这必须清楚地定义用户正在寻找的内容。- 示例:
'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'。
- 对于特定地点的详细信息:请添加所请求的属性(例如
'Google Store Mountain View opening hours'、'SF MoMa phone number'、'Shoreline Park Mountain View address')。
- 示例:
location_bias(对象 - 可选):使用此参数可优先显示特定地理区域附近的结果。- 格式:
{"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
- 用法:
- 偏向 5 公里半径:
{"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}} - 强烈偏向中心点:
{"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}}(省略radius_meters)。
- 偏向 5 公里半径:
- 格式:
language_code(字符串 - 可选):显示搜索结果摘要所用的语言。- 格式:一个双字母语言代码 (ISO 639-1),可以选择后跟一个下划线和一个双字母国家/地区代码 (ISO 3166-1 alpha-2),例如
en、ja、en_US、zh_CN、es_MX。如果未提供语言代码,结果将以英语显示。
- 格式:一个双字母语言代码 (ISO 639-1),可以选择后跟一个下划线和一个双字母国家/地区代码 (ISO 3166-1 alpha-2),例如
region_code(字符串 - 可选):用户的 Unicode CLDR 地区代码。此参数用于显示地点详情,例如特定于区域的地点名称(如果有)。此参数可能会根据适用法律影响结果。- 格式:双字母国家/地区代码 (ISO 3166-1 alpha-2),例如
US、CA。
- 格式:双字母国家/地区代码 (ISO 3166-1 alpha-2),例如
工具调用说明:
位置信息(严重):搜索内容必须包含足够的位置信息。如果位置不明确(例如,仅为“披萨店”),您必须在
text_query中指定位置(例如,“纽约的披萨店”),或使用location_bias参数。如果需要消除歧义,请添加城市、州/省/直辖市/自治区和国家/地区名称。始终提供最具体且最贴合上下文的
text_query。仅当明确提供坐标时,或者当从用户的已知情境推断位置信息对于获得更好的结果是适当且必要的时,才使用
location_bias。如果
attribution字段中包含信息,则必须使用该信息将基于事实的输出归因于来源。
以下代码示例展示了如何使用 curl 调用 search_places MCP 工具。
| Curl 请求 |
|---|
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 MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
针对 SearchText 的请求消息。
SearchTextRequest
| JSON 表示法 |
|---|
{ "textQuery": string, "languageCode": string, "regionCode": string, // Union field |
| 字段 | |
|---|---|
textQuery |
必需。文本查询。 |
languageCode |
可选。请求返回摘要时使用的语言。如果未指定或无法识别语言代码,系统会返回首选语言为英语的摘要。 例如,“en”表示英语。 目前支持的语言列表:https://developers.google.com/maps/faq#languagesupport。 |
regionCode |
可选。请求来源地的 Unicode 国家/地区代码 (CLDR)。此参数用于显示地点详情,例如特定于区域的地点名称(如果有)。此参数可能会根据适用法律影响结果。 例如,“US”表示美国。 如需了解详情,请参阅 https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html。 请注意,目前不支持 3 位数的地区代码。 |
联合字段
|
|
locationBias |
用于调整搜索结果的可选地区。如果 |
LocationBias
| JSON 表示法 |
|---|
{
"circle": {
object ( |
| 字段 | |
|---|---|
circle |
可选。由中心点和半径定义的圆。 |
圆形
| JSON 表示法 |
|---|
{ "center": { object ( |
| 字段 | |
|---|---|
center |
必需。圆的中心点。 |
联合字段
|
|
radiusMeters |
圆的半径(以米为单位)。半径必须在 50,000 米以内。 |
LatLng
| JSON 表示法 |
|---|
{ "latitude": number, "longitude": number } |
| 字段 | |
|---|---|
latitude |
纬度(以度为单位)。它必须在 [-90.0, +90.0] 范围内。 |
longitude |
经度(以度为单位)。它必须在 [-180.0, +180.0] 范围内。 |
输出架构
针对 SearchText 的响应消息。
SearchTextResponse
| JSON 表示法 |
|---|
{
"places": [
{
object ( |
| 字段 | |
|---|---|
places[] |
仅限输出。摘要中提及的地点的列表。 |
summary |
仅限输出。搜索结果的自然语言摘要。摘要可能包含从零开始的引用,例如“[0]”“[1]”“[2]”等。这些引用对应于 |
PlaceView
| JSON 表示法 |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| 字段 | |
|---|---|
place |
底层地点的资源名称,格式为“places/{id}”。 |
id |
底层地点的地点 ID。 |
googleMapsLinks |
用于触发不同 Google 地图操作的链接。 |
attribution |
必须与地点一起显示的提供方信息。 |
联合字段
|
|
location |
相应地点的位置。 |
LatLng
| JSON 表示法 |
|---|
{ "latitude": number, "longitude": number } |
| 字段 | |
|---|---|
latitude |
纬度(以度为单位)。它必须在 [-90.0, +90.0] 范围内。 |
longitude |
经度(以度为单位)。它必须在 [-180.0, +180.0] 范围内。 |
GoogleMapsLinks
| JSON 表示法 |
|---|
{ "directionsUrl": string, "placeUrl": string, "writeAReviewUrl": string, "reviewsUrl": string, "photosUrl": string } |
| 字段 | |
|---|---|
directionsUrl |
用于显示前往该地点的路线的链接。该链接仅填充目的地位置,并使用默认出行方式 |
placeUrl |
用于显示相应地点的链接。 |
writeAReviewUrl |
用于在 Google 地图上为此地点撰写评价的链接。 |
reviewsUrl |
用于在 Google 地图上显示相应地点的评价的链接。 |
photosUrl |
用于在 Google 地图上显示相应地点的照片的链接。 |
归因
| JSON 表示法 |
|---|
{ "title": string, "url": string } |
| 字段 | |
|---|---|
title |
要为提供方信息显示的标题。 |
url |
提供方信息的链接网址。 |
工具注释
工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。
除了标题字符串之外,还定义了以下布尔值提示:
readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界,而内存工具不是开放世界。
破坏性提示:❌ | 等幂性提示:❌ | 只读提示:✅ | 开放世界提示:❌