Spring AI Alibaba + MCP:调用MCP市场公开服务实操

简介: 本文详细讲解Spring Ai Alibaba调用MCP市场公开服务的全流程,以高德地图MCP服务为例,包含API-Key申请、客户端配置、代码实操,助力开发者快速掌握Spring Ai Alibaba与MCP服务对接技巧。

上一篇博客,我们介绍了如何将本地工具封装为 MCP 服务,并成功创建客户端实现连接,感兴趣的朋友可以回顾:https://www.lucaju.cn/index.php/archives/169/

今天,我们聚焦实操——如何调用 MCP 市场上的公开服务,以「高德地图 MCP 服务」为例,步骤清晰可复现,新手也能快速上手。

一、先了解:MCP 公开服务市场

首先给大家推荐一个优质的 MCP 公开服务平台:https://mcp.so/zh

这个平台类似 MCP 服务的「GitHub」,目前已收录超过一万八千个公开 MCP 服务,涵盖地图、工具、接口等各类场景,我们今天要用的高德地图 MCP 服务也收录其中。

mcp-market.png

高德地图 MCP 服务直达链接:https://mcp.so/zh/server/amap-maps/amap

进入链接后,注意保存页面中的「服务器配置 JSON」(如下所示),后续配置项目时会直接用到,重点留意 env 中的 AMAP_MAPS_API_KEY 字段。

image-20260319155446199

二、前置准备:申请高德 API-Key

调用高德地图 MCP 服务,需先获取个人 API-Key,步骤如下(3步搞定):

1. 登录高德开放平台

访问高德开放平台:https://lbs.amap.com/ ,注册一个用户,完成认证后登录到后台

2. 创建一个应用

gaode-project.png

3. 生成 API-Key

注意:服务平台选择Web服务,填写完成后提交,即可生成 API-Key,保存好该 Key,后续替换配置使用。

gaode-api-key.png

三、编写客户端代码连接高德服务

前置准备完成后,开始配置项目、编写代码,全程分为3个步骤,也很简单操作。

1. 拷贝高德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 (可自定义,但需与后续配置对应)

2. 修改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.png

接下来可以看到大模型输出了对未来7天天气的回答

gaode-mcp-result.png

五、总结

以上就是「Spring AI Alibaba 调用 MCP 公开服务」的完整实操流程,核心是「获取 API-Key → 配置 MCP 服务 → 编写测试代码」,步骤简洁且可复现。

本次实操的全部代码(含之前 Agent 相关测试代码)已上传至 GitHub,需要的朋友可以自行获取,如有疑问,欢迎在评论区交流~

GitHub 链接:https://github.com/Jucunqi/spring-ai-alibaba-agent.git

目录
相关文章
|
4天前
|
人工智能 安全 Java
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
掌握 Spring AI Alibaba 与 MCP 协议实战教程!本文详解 MCP 服务端搭建、客户端配置,教你封装本地工具为 MCP 服务,实现大模型安全调用外部接口,附完整代码与测试步骤,快速打通 AI 工具调用链路!
239 13
|
5天前
|
人工智能 前端开发 Java
Agent Skills | Spring Ai Alibaba从零构建可扩展 AI 智能体
本文详细讲解 Spring AI Alibaba Skill 技能体系,从核心概念、组件解析到实战开发,手把手教你基于 ReAct 智能体实现技能发现、工具调用与 PDF 信息提取,助你快速构建可扩展、可插拔的企业级 AI 智能体应用。
248 7
|
8天前
|
存储 人工智能 Java
吃透 Spring AI Alibaba 多智能体|四大协同模式+完整代码
本文详细讲解 Spring AI Alibaba Multi-Agent 多智能体架构,包含顺序执行、并行执行、LLM 路由、监督者四大协同模式,搭配可运行代码示例与真实业务场景,从零带你上手多智能体开发。
419 3
|
19小时前
|
人工智能 搜索推荐 数据挖掘
避坑指南|为什么你的 OpenClaw 没用?只因少装这 4 个核心技能
OpenClaw部署后必装4大核心技能:Find Skills(智能找工具)、Tavily Search(精准实时搜索)、Multi Search(全网聚合检索)、Office Automation(办公软件自动化)。缺一不可,否则仅能聊天,无法实现高效办公、精准检索与任务执行——不装=白部署!
|
21天前
|
人工智能 运维 应用服务中间件
当 AI 学会远程操控:向日葵 MCP Server 从配置到实战
向日葵MCP Server基于Anthropic提出的MCP协议,将成熟远程控制能力封装为AI可调用的标准接口,赋予大模型“动手能力”:支持跨设备远程操控、命令执行与智能桌面自动化,兼容Windows/macOS及Claude Code等主流AI平台,真正实现AI隔空办事。(239字)
284 9
|
6月前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
本文介绍RAG(检索增强生成)技术,结合Spring AI与本地及云知识库实现学术分析AI应用,利用阿里云Qwen-Plus模型提升回答准确性与可信度。
1943 90
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
|
3月前
|
人工智能 JSON 自然语言处理
干货!三款顶流大开源模型深度对比:谁才是中文场景下的定制化之王?
本文深入解析大模型定制化路径,从“通才”到“专才”的关键跃迁。通过对比Llama 3、Qwen 2.5与Mistral在中文电商评论情感分析中的表现,揭示模型架构、语料基因与量化技术对效果的影响,结合LoRA/QLoRA等高效调优方法,为开发者提供选型指南与实战框架,助力低成本实现精准AI落地。
703 4
|
4月前
|
运维 Kubernetes 安全
不是装个 Docker 就叫容器化:聊聊“一站式运维数千节点”的真功夫
不是装个 Docker 就叫容器化:聊聊“一站式运维数千节点”的真功夫
236 5
|
5月前
|
存储 搜索推荐 前端开发
如何快速低成本自建埋点系统?基于ClkLog的开源解决方案
ClkLog是一款可私有化部署的开源用户行为数据分析系统,支持 Web、App、小程序、鸿蒙 OS 等端的事件埋点采集,内置多种主流分析模型,帮助团队快速搭建自有埋点分析平台,实现访问统计、事件分析、用户画像等能力。本文将带你了解,如何用开源方案ClkLog自建一套完整的埋点分析系统。
|
7月前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
5988 2
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API

热门文章

最新文章