先了解:MCP 公开服务市场
先了解:MCP 公开服务市场
首先给大家推荐一个优质的 MCP 公开服务平台:https://mcp.so/zh
这个平台类似 MCP 服务的「GitHub」,目前已收录超过一万八千个公开 MCP 服务,涵盖地图、工具、接口等各类场景,我们今天要用的高德地图 MCP 服务也收录其中。
mcp-market
高德地图 MCP 服务直达链接:https://mcp.so/zh/server/amap-maps/amap
进入链接后,注意保存页面中的「服务器配置 JSON」(如下所示),后续配置项目时会直接用到,重点留意 env 中的 AMAP_MAPS_API_KEY 字段。
mcp-gaode
二、前置准备:申请高德 API-Key
调用高德地图 MCP 服务,需先获取个人 API-Key,步骤如下(3步搞定):
登录高德开放平台
访问高德开放平台:https://lbs.amap.com/ ,注册一个用户,完成认证后登录到后台创建一个应用
gaode-project生成 API-Key
注意:服务平台选择Web服务,填写完成后提交,即可生成 API-Key,保存好该 Key,后续替换配置使用。
gaode-api-key
三、编写客户端代码连接高德服务
前置准备完成后,开始配置项目、编写代码,全程分为3个步骤,也很简单操作。
- 拷贝高德MCP服务中的json文件到项目中
**注意: **替换api_key,使用我们刚刚创建好的api_key
{
“mcpServers”: {
“amap-maps”: {
“command”: “npx”,
“args”: [
“-y”,
“@amap/amap-maps-mcp-server”
],
“env”: {
“AMAP_MAPS_API_KEY”: “api_key”
}
}
}
}
把这个json放到项目resource目录下,命名为 mcp-servers-config.json (可自定义,但需与后续配置对应)
- 修改application.yml配置文件
添加 MCP 客户端配置,核心是指定上述 JSON 文件的路径
spring:
application:
name: spring-ai-alibaba-agent
ai:
dashscope:
api-key: ${AliQwen_API}
mcp:
client:
type: async
request-timeout: 10s
toolcallback:
enabled: true
stdio:
servers-configuration: classpath:/mcp-servers-config.json
3. 编写测试代码
测试代码其实和上一篇的客户端代码基本没有什么改动,我就简单放上来一些啦~
@GetMapping(“mcpTest”)
private void mcpTest() throws GraphRunnerException {
ChatModel chatModel = getChatModel(); ToolCallback[] toolCallbacks = toolCallbackProvider.getToolCallbacks(); System.out.printf(""" =====Find the tools from spring ToolCallbackProvider===== %s """, JSON.toJSONString(toolCallbacks)); // 构建智能体并绑定mcp服务 ReactAgent agent = ReactAgent.builder() .name("ip_search") .model(chatModel) .description("你是一个天气查询助手") .saver(new MemorySaver()) .toolCallbackProviders(toolCallbackProvider) .build(); // 运行时配置 RunnableConfig config = RunnableConfig.builder() .threadId("session") .build(); // 流式调用agent Flux<NodeOutput> stream = agent.stream("上海未来天气怎么样", config); StringBuffer answerString = new StringBuffer(); stream.doOnNext(output -> { if (output.node().equals("_AGENT_MODEL_")) { answerString.append(((StreamingOutput<?>) output).message().getText()); } else if (output.node().equals("_AGENT_TOOL_")) { answerString.append("\nTool Call:").append(((ToolResponseMessage) ((StreamingOutput<?>) output).message()).getResponses().get(0)).append("\n"); } }) .doOnComplete(() -> System.out.println(answerString)) .doOnError(e -> System.err.println("Stream Processing Error: " + e.getMessage())) .blockLast();}
代码编写完成后,启动项目,访问接口:http://localhost:8080/mcpTest,即可测试高德 MCP 服务调用效果。
四、效果演示
首先可以看到我们已经加载到了高德MCP的服务列表
gaode-map-tool-list
接下来可以看到大模型输出了对未来7天天气的回答
gaode-mcp-result
五、总结
以上就是「Spring AI Alibaba 调用 MCP 公开服务」的完整实操流程,核心是「获取 API-Key → 配置 MCP 服务 → 编写测试代码」,步骤简洁且可复现。