高德地图工具是基于高德地图 Web API 的 MCP 工具集,提供了丰富的地理位置服务功能。
支持自然语言地址输入的路线规划,自动处理地址转换和坐标解析。
参数:
origin (必需): 起点地址名称destination (必需): 终点地址名称city (可选): 所在城市,默认广州travel_mode (可选): 出行方式,walking(步行)、driving(驾车)、bicycling(骑行)、transit(公交),默认步行找到最近的某类地点并提供详细的步行路线。
参数:
keywords (必需): 搜索关键词,如"奶茶店"、"餐厅"、"地铁站"、"银行"radius (可选): 搜索半径(米),默认5000米user_location (可选): 用户位置,不提供则自动定位搜索附近的多个地点,按距离排序展示。
参数:
keywords (必需): 搜索关键词,如"奶茶店"、"餐厅"、"超市"radius (可选): 搜索半径(米),默认2000米user_location (可选): 用户位置,不提供则自动定位提供到目的地的多种出行方式对比和推荐。
参数:
destination (必需): 目的地名称city (可选): 所在城市,默认广州user_location (可选): 用户位置,不提供则自动定位基于IP地址的智能定位服务。
参数:
user_ip (可选): 用户IP地址,不提供则自动获取比较不同出行方式的时间、距离和适用性。
参数:
origin (必需): 起点地址名称destination (必需): 终点地址名称city (可选): 所在城市,默认广州maps_geo - 地址转坐标maps_regeocode - 坐标转地址maps_ip_location - IP定位maps_direction_walking - 步行路径规划maps_direction_driving - 驾车路径规划maps_bicycling - 骑行路径规划maps_direction_transit_integrated - 公交路径规划maps_text_search - 关键词搜索maps_around_search - 周边搜索maps_search_detail - POI详情查询maps_weather - 天气查询maps_distance - 距离测量# 智能路线规划
result = await mcp_server.call_tool("route_planning", {
"origin": "云升科学园",
"destination": "科学城地铁站",
"travel_mode": "walking"
})
# 最近地点查找
result = await mcp_server.call_tool("find_nearest", {
"keywords": "奶茶店",
"radius": "5000"
})
# 附近地点搜索
result = await mcp_server.call_tool("find_nearby", {
"keywords": "餐厅",
"radius": "2000"
})
# 地址转坐标
result = await mcp_server.call_tool("maps_geo", {
"address": "北京市天安门广场",
"city": "北京"
})
# 步行路径规划
result = await mcp_server.call_tool("maps_direction_walking", {
"origin": "116.397428,39.90923",
"destination": "116.390813,39.904368"
})
高德地图工具采用分层架构设计:
高德地图工具需要配置 API 密钥才能正常使用。
获取 API 密钥:
配置方式:
目前 API 密钥在 src/mcp/tools/amap/__init__.py 中硬编码:
AMAP_API_KEY = "your_api_key_here"
建议配置方式:
将 API 密钥配置到 config/config.json 中:
{
"amap": {
"api_key": "your_api_key_here"
}
}
AmapManager 中实现业务逻辑AmapToolsManager 中注册新工具AmapTools 中添加工具定义AmapClient 中封装API调用AmapManager 中实现业务逻辑AmapTools 中添加工具定义@dataclass
class Location:
longitude: float # 经度
latitude: float # 纬度
@dataclass
class POI:
id: str # POI ID
name: str # 名称
address: str # 地址
location: Location # 坐标
type_code: str # 类型代码
通过高德地图工具,您可以轻松地为应用添加强大的地理位置服务功能,提供更好的用户体验。