高德地图MCP Server介绍以及使用

高德地图MCP Server

简介

高德地图 MCP Server 现已覆盖12大核心服务接口,提供全场景覆盖的地图服务,包括地理编码、逆地理编码、IP 定位、天气查询、骑行路径规划、步行路径规划、驾车路径规划、公交路径规划、距离测量、关键词搜索、周边搜索、详情搜索等。

特点

使用简单:无需部署本地服务,通过简单配置即可使用

自动升级:持续迭代更新,无需用户任何额外操作使用

更易于大模型理解:对原始的JSON结果进行语义化转换,更易于大模型理解内容

零运维成本:采用全托管云服务架构,用户无需关心服务器维护等底层运维问题

协议兼容:支持SSE长连接,适配不同业务场景的技术需求

核心功能

位置确定

地理编码:将详细的结构化地址转换为经纬度坐标。

逆地理编码:将一个高德经纬度坐标转换为行政区划地址信息。

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

路径规划

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

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

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

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

数据查询与分析

关键词搜索:根据用户传入关键词,搜索出相关的POI地点信息。

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

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

距离测量:测量两个经纬度坐标之间的距离。

天气服务

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

应用场景示例

智能出行:为用户提供基于位置的智能出行计划。

旅游规划:为用户提供最佳旅游路线以及浏览景点的时间顺序等。

周边服务:为用户提供周边服务推荐。

天气服务:为用户提供基于位置信息的天气信息。

快速接入

Cursor配置高德MCP

  1. 进入Cursor设置界面配置SSE连接

  2. 添加一个新的MCP Server配置

    {
      "mcpServers": {
        "amap-amap-sse": {
          "url": "https://mcp.amap.com/sse?key=您在高德官网上申请的key"
        }
      }
    }
  3. 返回设置界面查看MCP服务工具状态

  4. 模型交互模式:选择Agent方式

场景示例

制定旅游攻略
  1. 输入自己的需求描述以及输出格式

  2. 结果展示

### Java 实现 MCP Client 调用高德 MCP Server 示例代码与文档 MCP(Model Context Protocol)是一种开放协议,用于标准化应用程序向大型语言模型(LLM)提供上下文的方式。在 Java 中实现 MCP 客户端调用高德 MCP Server 的过程涉及配置 HTTP 请求、解析 JSON 响应以及处理 SSE(Server-Sent Events)连接[^3]。 以下是基于 Java 的 MCP 客户端调用高德 MCP Server 的示例代码: #### 1. 引入依赖库 首先需要引入必要的依赖库来处理 HTTP 请求和 JSON 数据。可以使用 Maven 或 Gradle 来管理依赖。 **Maven 依赖:** ```xml <dependencies> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.0</version> </dependency> </dependencies> ``` #### 2. 配置高德 MCP Server API Key 在调用高德 MCP Server 之前,需要申请一个有效的 `AMAP_MAPS_API_KEY`。可以通过高德开放平台申请并获取该密钥[^2]。 #### 3. Java 实现 MCP Client 示例代码 以下是一个完整的 Java 示例代码,展示如何通过 HTTP 请求调用高德 MCP Server 查询天气信息。 ```java import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class MCPClientExample { private static final String API_KEY = "your_amap_api_key"; // 替换为你的高德地图 API 密钥 private static final String WEATHER_URL = "https://mcp.amap.com/v1/weather/query"; public static void main(String[] args) { try (CloseableHttpClient httpClient = HttpClients.createDefault()) { // 构建请求 URL String url = String.format("%s?city=北京&key=%s", WEATHER_URL, API_KEY); HttpGet request = new HttpGet(url); // 发送请求 HttpResponse response = httpClient.execute(request); // 解析响应 if (response.getStatusLine().getStatusCode() == 200) { String responseBody = EntityUtils.toString(response.getEntity(), "UTF-8"); System.out.println("天气查询结果: " + responseBody); } else { System.err.println("请求失败,状态码: " + response.getStatusLine().getStatusCode()); } } catch (Exception e) { e.printStackTrace(); } } } ``` #### 4. 处理 SSE 连接 如果需要与高德 MCP Server 建立 SSE 连接以实时接收数据,可以参考以下代码片段: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class MCPSSEClient { private static final String API_KEY = "your_amap_api_key"; // 替换为你的高德地图 API 密钥 private static final String SSE_URL = "https://mcp.amap.com/v1/sse/connect"; public static void main(String[] args) { try { // 构建请求 URL String url = String.format("%s?key=%s", SSE_URL, API_KEY); HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); connection.setRequestMethod("GET"); // 读取 SSE 流 BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println("收到 SSE 消息: " + line); } reader.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` #### 5. 注意事项 - 确保已正确申请并配置 `AMAP_MAPS_API_KEY`[^2]。 - 如果需要处理复杂的数据结构,建议使用 Jackson 或 Gson 库解析 JSON 响应[^3]。 - 对于 SSE 连接,需确保网络环境支持 WebSocket 或长连接[^4]。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值