高德地图 MCP Server

这是一个高德地图MCP服务器,提供地理编码、IP定位、天气查询、路线规划(骑行、步行、驾车和公共交通)、距离测量以及POI搜索等工具。

location-services

5.1k 查看 · 2026-07-07 更新

简介

这是一个高德地图MCP服务器,提供地理编码、IP定位、天气查询、路线规划(骑行、步行、驾车和公共交通)、距离测量以及POI搜索等工具。

简介

这是一个高德地图MCP服务器,提供地理编码、IP定位、天气查询、路线规划(骑行、步行、驾车和公共交通)、距离测量以及POI搜索等工具。

高德地图 MCP Server

该高德地图 MCP Server 发布在 PyPI

MCP 工具列表

本服务提供以下工具:

地理编码工具

maps_regeocode

将一个高德经纬度坐标转换为行政区划地址信息

参数:

  • location: 经纬度坐标

maps_geo

将详细的结构化地址转换为经纬度坐标。支持对地标性名胜景区、建筑物名称解析为经纬度坐标

参数:

  • address: 结构化地址
  • city (可选): 指定查询的城市

位置服务工具

maps_ip_location

IP 定位根据用户输入的 IP 地址,定位 IP 的所在位置

参数:

  • ip: IP地址

maps_weather

根据城市名称或者标准adcode查询指定城市的天气

参数:

  • city: 城市名称或者adcode

路线规划工具

骑行路线

maps_bicycling_by_coordinates

骑行路径规划用于规划骑行通勤方案,规划时会考虑天桥、单行线、封路等情况。最大支持 500km 的骑行路线规划

参数:

  • origin: 起点经纬度坐标
  • destination: 终点经纬度坐标
maps_bicycling_by_address

骑行路径规划(地址版),使用地址进行骑行路线规划,推荐优先使用此工具

参数:

  • origin_address: 起点地址(例如:"北京市朝阳区阜通东大街6号")
  • destination_address: 终点地址(例如:"北京市海淀区上地十街10号")
  • origin_city (可选): 起点所在城市,用于提高地理编码准确性
  • destination_city (可选): 终点所在城市,用于提高地理编码准确性

步行路线

maps_direction_walking_by_coordinates

步行路径规划 API 可以根据输入起点终点经纬度坐标规划100km 以内的步行通勤方案,并且返回通勤方案的数据

参数:

  • origin: 起点经纬度坐标
  • destination: 终点经纬度坐标
maps_direction_walking_by_address

步行路径规划(地址版),使用地址进行步行路线规划,推荐优先使用此工具

参数:

  • origin_address: 起点地址(例如:"北京市朝阳区阜通东大街6号")
  • destination_address: 终点地址(例如:"北京市海淀区上地十街10号")
  • origin_city (可选): 起点所在城市,用于提高地理编码准确性
  • destination_city (可选): 终点所在城市,用于提高地理编码准确性

驾车路线

maps_direction_driving_by_coordinates

驾车路径规划 API 可以根据用户起终点经纬度坐标规划以小客车、轿车通勤出行的方案,并且返回通勤方案的数据

参数:

  • origin: 起点经纬度坐标
  • destination: 终点经纬度坐标
maps_direction_driving_by_address

驾车路径规划(地址版),使用地址进行驾车路线规划,推荐优先使用此工具

参数:

  • origin_address: 起点地址(例如:"北京市朝阳区阜通东大街6号")
  • destination_address: 终点地址(例如:"北京市海淀区上地十街10号")
  • origin_city (可选): 起点所在城市,用于提高地理编码准确性
  • destination_city (可选): 终点所在城市,用于提高地理编码准确性

公共交通路线

maps_direction_transit_integrated_by_coordinates

根据用户起终点经纬度坐标规划综合各类公共(火车、公交、地铁)交通方式的通勤方案,并且返回通勤方案的数据,跨城场景下必须传起点城市与终点城市

参数:

  • origin: 起点经纬度坐标
  • destination: 终点经纬度坐标
  • city: 起点城市
  • cityd: 终点城市
maps_direction_transit_integrated_by_address

公共交通路径规划(地址版),使用地址进行公共交通路线规划,推荐优先使用此工具

参数:

  • origin_address: 起点地址(例如:"北京市朝阳区阜通东大街6号")
  • destination_address: 终点地址(例如:"北京市海淀区上地十街10号")
  • origin_city: 起点所在城市(跨城交通必需)
  • destination_city: 终点所在城市(跨城交通必需)

距离测量工具

maps_distance

测量两个经纬度坐标之间的距离,支持驾车、步行以及球面距离测量

参数:

  • origins: 起点经纬度坐标
  • destination: 终点经纬度坐标
  • type (可选,默认为"1"): 测量类型

POI搜索工具

maps_text_search

关键词搜索 API 根据用户输入的关键字进行 POI 搜索,并返回相关的信息

参数:

  • keywords: 搜索关键词
  • city (可选): 查询城市
  • citylimit (可选,默认为"false"): 是否限制城市范围内搜索

maps_around_search

周边搜,根据用户传入关键词以及坐标location,搜索出radius半径范围的POI

参数:

  • location: 中心点经纬度坐标
  • radius (可选,默认为"1000"): 搜索半径
  • keywords (可选): 搜索关键词

maps_search_detail

查询关键词搜或者周边搜获取到的POI ID的详细信息

参数:

  • id: POI ID

配置方法

要使用此服务,您需要在应用中添加以下MCP配置。服务支持三种传输方式:stdio(默认)、ssestreamable-http

stdio 传输(默认)

直接在客户端配置如下MCP Server即可。

{ "mcpServers": { "amap-mcp-server": { "command": "uvx", "args": [ "amap-mcp-server" ], "env": { "AMAP_MAPS_API_KEY": "your valid amap maps api key" } } } }

SSE 传输

SSE传输支持实时数据推送,适合远程部署MCP Server。

本地以SSE运行 amap-mcp-server

$ export AMAP_MAPS_API_KEY=你的有效API Key $ uvx amap-mcp-server sse INFO: Started server process [50125] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

MCP客户端配置:

{ "mcpServers": { "amap-mcp-server": { "url": "http://0.0.0.0:8000/sse" } } }

Streamable HTTP 传输

本地以Streamable HTTP运行 amap-mcp-server

$ export AMAP_MAPS_API_KEY=你的有效API Key $ uvx amap-mcp-server streamable-http INFO: Started server process [50227] INFO: Waiting for application startup. StreamableHTTP session manager started INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

MCP客户端配置:

{ "mcpServers": { "amap-mcp-server": { "url": "http://localhost:8000/mcp" } } }

您可以在高德开放平台注册并获取API密钥。

工具列表

  • maps_regeocode: 将一个高德经纬度坐标转换为行政区划地址信息

  • maps_geo: 将详细的结构化地址转换为经纬度坐标。支持对地标性名胜景区、建筑物名称解析为经纬度坐标

  • maps_ip_location: IP 定位根据用户输入的 IP 地址,定位 IP 的所在位置

  • maps_weather: 根据城市名称或者标准adcode查询指定城市的天气

  • maps_bicycling_by_address: Plans a bicycle route between two locations using addresses. Unless you have a specific reason to use coordinates, it's recommended to use this tool.

Args: origin_address (str): Starting point address (e.g. "北京市朝阳区阜通东大街6号") destination_address (str): Ending point address (e.g. "北京市海淀区上地十街10号") origin_city (Optional[str]): Optional city name for the origin address to improve geocoding accuracy destination_city (Optional[str]): Optional city name for the destination address to improve geocoding accuracy

Returns: Dict[str, Any]: Route information including distance, duration, and turn-by-turn instructions. Considers bridges, one-way streets, and road closures. Supports routes up to 500km.

  • maps_bicycling_by_coordinates: Plans a bicycle route between two coordinates.

Args: origin_coordinates (str): Starting point coordinates in the format "longitude,latitude" (e.g. "116.434307,39.90909") destination_coordinates (str): Ending point coordinates in the format "longitude,latitude" (e.g. "116.434307,39.90909")

Returns: Dict[str, Any]: Route information including distance, duration, and turn-by-turn instructions. Considers bridges, one-way streets, and road closures. Supports routes up to 500km.

  • maps_direction_walking_by_address: Plans a walking route between two locations using addresses. Unless you have a specific reason to use coordinates, it's recommended to use this tool.

Args: origin_address (str): Starting point address (e.g. "北京市朝阳区阜通东大街6号") destination_address (str): Ending point address (e.g. "北京市海淀区上地十街10号") origin_city (Optional[str]): Optional city name for the origin address to improve geocoding accuracy destination_city (Optional[str]): Optional city name for the destination address to improve geocoding accuracy

Returns: Dict[str, Any]: Route information including distance, duration, and turn-by-turn instructions. Supports routes up to 100km.

  • maps_direction_walking_by_coordinates: 步行路径规划 API 可以根据输入起点终点经纬度坐标规划100km 以内的步行通勤方案,并且返回通勤方案的数据

Args: origin (str): 起点经纬度坐标,格式为"经度,纬度" (例如:"116.434307,39.90909") destination (str): 终点经纬度坐标,格式为"经度,纬度" (例如:"116.434307,39.90909")

Returns: Dict[str, Any]: 包含距离、时长和详细导航信息的路线数据

  • maps_direction_driving_by_address: Plans a driving route between two locations using addresses. Unless you have a specific reason to use coordinates, it's recommended to use this tool.

Args: origin_address (str): Starting point address (e.g. "北京市朝阳区阜通东大街6号") destination_address (str): Ending point address (e.g. "北京市海淀区上地十街10号") origin_city (Optional[str]): Optional city name for the origin address to improve geocoding accuracy destination_city (Optional[str]): Optional city name for the destination address to improve geocoding accuracy

Returns: Dict[str, Any]: Route information including distance, duration, and turn-by-turn instructions. Considers traffic conditions and road restrictions.

  • maps_direction_driving_by_coordinates: 驾车路径规划 API 可以根据用户起终点经纬度坐标规划以小客车、轿车通勤出行的方案,并且返回通勤方案的数据

Args: origin (str): 起点经纬度坐标,格式为"经度,纬度" (例如:"116.434307,39.90909") destination (str): 终点经纬度坐标,格式为"经度,纬度" (例如:"116.434307,39.90909")

Returns: Dict[str, Any]: 包含距离、时长和详细导航信息的路线数据

  • maps_direction_transit_integrated_by_address: Plans a public transit route between two locations using addresses. Unless you have a specific reason to use coordinates, it's recommended to use this tool.

Args: origin_address (str): Starting point address (e.g. "北京市朝阳区阜通东大街6号") destination_address (str): Ending point address (e.g. "北京市海淀区上地十街10号") origin_city (str): City name for the origin address (required for cross-city transit) destination_city (str): City name for the destination address (required for cross-city transit)

Returns: Dict[str, Any]: Route information including distance, duration, and detailed transit instructions. Considers various public transit options including buses, subways, and trains.

  • maps_direction_transit_integrated_by_coordinates: 根据用户起终点经纬度坐标规划综合各类公共(火车、公交、地铁)交通方式的通勤方案,并且返回通勤方案的数据,跨城场景下必须传起点城市与终点城市

Args: origin (str): 起点经纬度坐标,格式为"经度,纬度" (例如:"116.434307,39.90909") destination (str): 终点经纬度坐标,格式为"经度,纬度" (例如:"116.434307,39.90909") city (str): 起点城市名称 cityd (str): 终点城市名称

Returns: Dict[str, Any]: 包含距离、时长和详细公共交通信息的路线数据

  • maps_distance: 测量两个经纬度坐标之间的距离,支持驾车、步行以及球面距离测量

  • maps_text_search: 关键词搜索 API 根据用户输入的关键字进行 POI 搜索,并返回相关的信息

  • maps_around_search: 周边搜,根据用户传入关键词以及坐标location,搜索出radius半径范围的POI

  • maps_search_detail: 查询关键词搜或者周边搜获取到的POI ID的详细信息

服务配置

[{'mcpServers': {'amap-mcp-server': {'args': ['amap-mcp-server'], 'command': 'uvx', 'env': {'AMAP_MAPS_API_KEY': 'your valid amap maps api key'}}}}, {'mcpServers': {'amap-mcp-server': {'url': 'http://0.0.0.0:8000/sse'}}}, {'mcpServers': {'amap-mcp-server': {'url': 'http://localhost:8000/mcp'}}}]

来源