这是地图体验智能体工具提供的 MCP 服务器。该服务器为开发者提供了基于 Google Maps Platform 构建 LLM 应用的工具。
Model Context Protocol (MCP) 服务器充当外部服务(为大语言模型 [LLM] 或 AI 应用提供上下文、数据或功能)与 LLM 或 AI 应用之间的代理。MCP 服务器将 AI 应用连接到数据库和 Web 服务等外部系统,并将这些系统的响应转换为 AI 应用可理解的格式。
服务器设置
您必须先启用 MCP 服务器并设置身份验证,然后才能使用。如需详细了解如何使用 Google 和 Google Cloud 远程 MCP 服务器,请参阅 Google Cloud MCP 服务器概览。
服务器端点
MCP 服务端点是 MCP 服务器的网络地址和通信接口(通常是网址),AI 应用(MCP 客户端的宿主)使用该端点来建立安全、标准化的连接。它是 LLM 请求上下文、调用工具或访问资源的交互点。
地图实验专区智能体工具 MCP 服务器具有以下全局 MCP 端点:
- https://mapstools.googleapis.com/mcp
MCP 工具
MCP 工具是 MCP 服务器向 LLM 或 AI 应用公开的函数或可执行功能,用于在现实世界中执行操作。
工具
mapstools.googleapis.com MCP 服务器具有以下工具:
| MCP 工具 | |
|---|---|
search_places |
当用户请求查找地点、商家、地址、位置、地图注点或任何其他与 Google 地图相关的搜索时,请调用此工具。 输入要求(至关重要):
工具调用说明:
|
lookup_weather |
检索某个地点的综合环境情报,包括天气、空气质量(AQI 和污染物)以及 Pollen(树木、草、杂草和植物物种过敏原水平):天气和空气质量的当前状况、每小时预报/历史记录以及每日预报;Pollen 仅提供每日预报(今天到 +4 天,无每小时或过去的数据)。可用的环境网域和功能(capabilities:WEATHER、AIR_QUALITY、POLLEN - 关键):* 强制性显式选择:您必须在每次调用的 capabilities 中至少包含 WEATHER、AIR_QUALITY 或 POLLEN 之一。不允许省略 capabilities。* 宽泛/模糊的户外查询(完整户外环境套件):如果用户提出宽泛的户外、旅行或情境问题,而未限定特定领域(例如“现在户外跑步的条件如何?”),请明确包含所有三项功能 (capabilities: ["WEATHER", "AIR_QUALITY", "POLLEN"]),以返回完整的户外环境套件(天气 + 空气质量 + 花粉);对于过去的 date/hour,请排除没有历史记录的 POLLEN。* 有针对性的领域选择(特定查询):如果用户明确要求仅查询一两个领域(例如,“西雅图此时此刻的 AQI 是多少?”),请仅包含所请求的功能(WEATHER、AIR_QUALITY 和/或 POLLEN)。系统只会执行并返回所请求领域的信息。按领域提供的具体数据:* 天气 (weather):温度(当前温度、体感温度、最高/最低温度、热度指数)、风(风速、阵风、风向)、天体事件(日出/日落、月相)、降水(类型、概率、数量/QPF)和大气条件(紫外线指数、湿度、云量、雷暴概率、气压)。* 空气质量 (air_quality):通用和本地空气质量指数(AQI 值、类别、主要污染物)、针对 7 个敏感群体的健康建议,以及污染物浓度 (include_pollutant_concentration: true)。每个指数都有自己的主要污染物;请按指数报告(例如,不要将通用 AQI 的污染物作为美国 AQI 的污染物)。* 花粉 (pollen):每日通用花粉指数(UPI,0-5),按树木、草和杂草类别以及植物种类(index.value 及其 index.category,例如 1 =“非常低”)、当季状态、交叉反应和健康建议。* 缺少花粉字段:缺少 in_season 表示不在季节。如果返回的植物种类没有 index,请忽略该植物,除非用户询问该植物;如果用户询问,请说明今天没有报告该植物的花粉数据(不要推断花粉水平)。地理位置规则(至关重要):必须在 location 中指定目标地理位置,且只能使用以下 oneof 子字段中的一个:1. 地理坐标 (lat_lng):* 在已知确切纬度/经度坐标时使用。* 示例:{"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} 2. 地点 ID (place_id):* 明确的 Google 地图地点 ID(例如,从 search_places 或 resolve_names 获取)。* 示例:{"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} 3. 地址字符串 (address):* 城市/地区、街区、地标或景点、街道地址或邮政编码,最好包含城市/国家/地区。* 示例:{"location": {"address": "Paris, France"}} 时间与使用模式(date 和 hour - 关键):* 本地时区参考:所有 date ({year, month, day}) 和 hour (0-23) 输入都必须以所请求 location 的本地民用时区表示(例如,对 "Paris tomorrow at 13:00" 的查询使用 Europe/Paris 本地日期和小时 13),绝不能使用世界协调时间 (UTC) 或调用方的时区。* 1. 当前条件(省略了 date 且省略了 hour):* 提供 location 和目标 capabilities(WEATHER、AIR_QUALITY、POLLEN)。请勿指定 date 或 hour。 * 返回所请求网域的实时当前状况 (CC)(当前天气、当前小时空气质量和/或今天的花粉预报)。* 对于空气质量,“当前状况”仅代表一个小时:请勿单独使用它来回答有关今天整体空气质量或广泛户外活动的问题(请使用下方的“每日查询”)。* 2. 每小时预测/历史记录(指定了 date 且指定了 hour 0-23):* 提供 location、date ({year, month, day})、hour (0-23) 和目标 capabilities。如果提及分钟,则向下舍入到最接近的小时。* 关键限制(设置 hour 时,date 为必需项):不允许提供 hour 而不提供 date(省略 date,设置 hour),否则会导致错误。即使当用户询问今天的特定时间(例如 "at 13:00 today")时,你也必须同时填充 date(今天的日期,时间为 location)和 hour。* 每小时执行一次查询,获取 YYYY-MM-DD-HH 的天气和/或空气质量信息;每天执行一次查询,获取 YYYY-MM-DD 的花粉信息。* 天气“时间”问题:对于询问时间/几点/最佳时间的天气问题(例如 "what time will it stop raining?"),请针对相关时间使用每小时 WEATHER 调用(date + hour)。每日天气预报没有逐小时值。对于宽泛的户外“何时/最佳时间”问题(例如 "when is the best time to go walking today?"),除了在“每日查询”下所述的空气质量(和花粉)全天调用之外,还要进行这些每小时 WEATHER 调用。* 3. 每日查询(指定了 date,省略了 hour):* 提供 location、date(所请求 location 的当地民用时间中的 {year, month, day}),不提供 hour,以及目标 capabilities,以进行全天查询(例如 "weather and pollen in London tomorrow")。 * 关于今天的空气质量和广泛户外问题:对于关于今天的空气质量问题和广泛户外问题(包括空气质量)(例如 "how will the air quality change today"、"is today a good day for a picnic?"),请将 date 设置为今天的日期(在 location)(省略小时),以获取当天的每小时空气质量系列。仅调用 Current Conditions 只能返回当前小时的空气质量,这还不够;如果用户还询问“现在”的情况,您可以添加一个。* 空气质量时间窗口:对于有关一天内某个时间窗口(例如 "air quality between noon and 6 PM")的空气质量问题,最好针对该日期进行一次每日调用,并从空气质量序列中读取该时间窗口的小时数,而不是对各个小时进行采样。如果您使用每小时调用,请覆盖时间范围内的每个小时。* 返回所请求的天气和/或花粉每日预报,以及当天每小时空气质量系列,涵盖整个本地日(本地时间 00:00–23:00):过去日期的 24 小时历史数据、未来日期的 24 小时预报数据,以及今天的较早小时(历史数据)、当前小时和剩余小时(预报数据)。各领域支持的时间范围:* 天气:从 24 小时前到未来 240 小时(10 天)的每小时天气(过去的小时需要同时提供 date 和 hour);从今天到未来 9 天(共 10 天)的每日天气;不支持每日历史天气。* 空气质量:从 720 小时(30 天)前到 96 小时(4 天)后,按小时提供;全天调用必须在该时间范围内(目前实际为 -29 天到 +3 天)。* 花粉:仅限每日,从今天到 +4 天(包括今天在内共 5 天);没有过去日期,并且 hour 会被忽略。* (注意:如果请求了多项功能,并且 date/hour 超出了其中一项功能的范围,则调用仍会成功,并且仅返回受支持的功能。)* 超出范围的请求:如果请求的日期或小时可能超出上述网域支持的范围(例如,过去日期的花粉数据),仍请针对请求的日期/小时调用 lookup_weather;错误消息会说明支持的范围。请勿调用其他日期、小时或网域作为替代。网域选项和归因:* 语言 (language_code):可选的 BCP-47 语言代码(例如 "fr")。默认为 "en"。* 天气单位(weather_options.units_system 或 units_system):默认为 METRIC。如果用户暗示使用美国标准或明确要求使用英制单位,请设置为 IMPERIAL(华氏度/英里/小时)。weather_options.units_system(首选)和顶级 units_system 均支持此属性;如果同时指定了这两者,则它们不得冲突。* 空气质量选项 (air_quality_options):如果需要特定污染物浓度(PM2.5、PM10、O3、NO2、SO2、CO),请设置 include_pollutant_concentration: true;可选择设置 index_region_code(由两个字母组成的 ISO 国家/地区代码,例如 "US"),以请求特定区域的 AQI 标度。默认情况下,响应中会包含通用 AQI 和该地点的区域 AQI。* 归因:必须使用每个返回的网域容器(weather.attribution、air_quality.attribution、pollen.attribution)内的 attribution 字段,将有依据的输出归因于来源。* 返回的时间:空气质量 date_time 值已采用所在位置的当地时间(包含 utc_offset);请按原样显示。天气 date_time(当前和每小时)以及日出/日落时间采用世界协调时间 (UTC);请使用 time_zone 将其转换为所在位置的当地时间。将所有时间标记为本地时间。
|
compute_routes |
计算出发地和目的地之间的行程路线,可选择经过中间停靠点。返回每条路线的距离和时长。 输入要求(至关重要):
工具调用说明:
工具调用示例:{"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"intermediate_waypoints":[{"address":"Louvre Museum"}],"travel_mode":"DRIVE","departure_time":"2026-09-19T08:00:00+02:00"} Instructions for Response:
|
search_along_route |
当用户想要查找旅行路线沿途的地点、商家或地图注点(例如“去太浩湖路上的加油站”“旧金山和圣何塞之间的咖啡店”)时,请调用此工具。调用此工具的费用高于 输入要求(至关重要):
工具调用说明:
|
resolve_names |
将特定位置查询(地标名称或确切地址)的批量列表解析为规范的 Google 地图地点 ID。 输入要求(至关重要):
工具调用说明:
保存到 Google 地图:
错误处理(关键):
|
resolve_maps_urls |
将 Google 地图网址列表解析为规范的 Google 地图地点 ID。 何时调用此工具(至关重要):
输入要求(至关重要):
保存到 Google 地图:
错误处理(关键):
|
获取 MCP 工具规范
如需获取 MCP 服务器中所有工具的 MCP 工具规范,请使用 tools/list 方法。下面的示例演示了如何使用 curl 列出 MCP 服务器中当前可用的所有工具及其规范。
| Curl 请求 |
|---|
curl --location 'https://mapstools.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }' |