【附源码】用Spring AI通杀所有MCP客户端,简直离谱!
<iframe src="//player.bilibili.com/player.html?isOutside=true&aid=114640310831245&bvid=BV1qfTLzCEaF&cid=30364795664&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe><p>在上一章节中,我们讲解了MCP服务,并以Spring AI作为客户端和服务端进行示例说明。然而,当前市面上已经存在众多成熟的MCP客户端和服务端实现。那么,Spring AI在这些现有方案中的适配程度究竟如何?接下来,我们将深入探讨这一问题。</p>
<h1 id="spring-ai客户端-第三方mcp">Spring AI客户端-第三方MCP</h1>
<h2 id="mcp市场">MCP市场</h2>
<p>我们先看下目前流行的MCP服务都有哪些,当然我们不必去手动实现已有的服务端,现在有很多MCP市场,比如腾讯云、阿里都有这些市场,我们都来实验一下,在Spring AI客户端中的是否可以真正的使用起来。那么这里我们就以腾讯云为例开始演示。地址在这里:https://cloud.tencent.com/developer/mcp</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173559062-1724056143.png" alt="image" loading="lazy"></p>
<h3 id="腾讯位置服务-mcp-server">腾讯位置服务 MCP Server</h3>
<p>今天我们就举一个最常见的案例——地图服务,我们找到腾讯位置服务,然后根据他的文档快速的申请一下相关的秘钥信息等。</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173603966-1437566100.png" alt="image" loading="lazy"></p>
<p>准备工作完成之后,我们开始接入,在配置文件中,我们引入必要的配置信息,如下:</p>
<pre><code class="language-properties">spring.ai.mcp.client.sse.connections.server2.url=https://mcp.map.qq.com
spring.ai.mcp.client.sse.connections.server2.sse-endpoint=/sse?key=<申请的key>&format=0
</code></pre>
<p>OK。就这么简单,我们直接启动项目进行实时对话直接查看是否成功,效果如下:</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173609108-827496189.png" alt="image" loading="lazy"></p>
<h3 id="新闻服务">新闻服务</h3>
<p>除了常规使用SSE URL方式进行通信的MCP服务可以正常兼容外,在Studio模式下同样能够良好运行和适配。接下来,我们将以一个新闻服务的快速接入为示例进行演示。如图所示:</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173613313-866641242.png" alt="image" loading="lazy"></p>
<p>按照其配置说明添加在Spring AI项目的配置目录下。具体配置如下:</p>
<pre><code class="language-properties">spring.ai.mcp.client.stdio.servers-configuration=classpath:mcp-servers.json
</code></pre>
<p>我们只需要将此文件内容换成官方的命令即可。随后我们正常启动项目,效果如下:</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173618913-286281539.png" alt="image" loading="lazy"></p>
<p>服务端常用的两种模式,这里全部正常。我们再看下第三方MCP客户端和Spring AI 服务端是否也可以正常兼容。</p>
<h1 id="第三方mcp客户端-spring-ai-服务端">第三方MCP客户端-Spring AI 服务端</h1>
<h1 id="claude-desktop">Claude Desktop</h1>
<p>首先,我们要介绍的是当前最为流行的客户端工具之一 —— Claude Desktop。该工具支持本地运行,用户只需在本地下载安装完成后,便可通过选择相应的配置文件,直接加载并对接Spring AI所提供的MCP服务,实现快速接入与调试。具体操作流程如下图所示:</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173624231-551148637.png" alt="image" loading="lazy"></p>
<p>文件内容如下所示:</p>
<pre><code class="language-json">"spring-ai-mcp-weather": {
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-Dspring.main.web-application-type=none",
"-Dlogging.pattern.console=",
"-Dmybatis-plus.global-config.banner=false",
"-jar",
"D:/project/spring-ai-courses/08-course-mcp/course-mcp-server/target/course-mcp-server-1.0-SNAPSHOT.jar"
]
}
</code></pre>
<p>配置完成后,请注意需要重启应用,使刚才的设置生效。</p>
<p>我们这边的 Spring AI 服务无需单独运行,只需打好 JAR 包即可被加载使用。下面我们直接来做一个简单的测试:</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173630916-747665675.png" alt="image" loading="lazy"></p>
<p>首先他会进行一次提示,询问是否调用MCP服务,说明基本成功了。我们再看下能够成功调用,效果如下:</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173635976-2083943350.png" alt="image" loading="lazy"></p>
<h1 id="n8n">n8n</h1>
<p>接下来,我们将继续测试另一个近期非常热门的工具 —— n8n。该自动化平台原生支持与 MCP 服务的集成,且采用的是基于 SSE(Server-Sent Events)的通信模式。</p>
<p>如果本地尚未安装 n8n,可通过宝塔面板轻松获取并完成部署。只需在面板应用市场中搜索 “n8n”,即可一键安装并开始配置。如下图所示:</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173640829-900685660.png" alt="image" loading="lazy"></p>
<p>接下来要做的,是让 n8n 能访问到我们本地的 Spring AI 服务。你有两个选择:要么把服务部署到线上;要么就像我这样,用内网穿透把本地服务暴露出来。</p>
<p>我这里用的是内网穿透的方式,接下来我们就来配置一下:</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173645867-156193940.png" alt="image" loading="lazy"></p>
<p>这里的 /sse 是 Spring AI 默认提供的接口后缀,我们直接填这个就行了。如果你在服务端做了修改,那也可以用自定义的路径。</p>
<p>现在我们来看下最终的效果,看看能不能成功触发调用。如下图所示:</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173650440-1024774854.png" alt="image" loading="lazy"></p>
<h1 id="codebuddy">Codebuddy</h1>
<p>最后一个环节是 IDE 插件的集成配置,这里我们以腾讯云出品的 Codebuddy 插件为例进行演示。</p>
<p>首先,在本地 IDE(如 IntelliJ IDEA 或 VS Code)中安装好 Codebuddy 插件。然后登录自己的腾讯云账号,登录完成后点击左侧的 “MCP 管理” 菜单,进入插件的 MCP 配置界面,如下图所示:</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173657139-1536599434.png" alt="image" loading="lazy"></p>
<p>紧接着写好我们的配置文件内容,可以写sse模式也可以写studio模式的配置,这里以studio模式为例。如图所示:</p>
<p><img src="https://img2024.cnblogs.com/blog/1423484/202506/1423484-20250620173701126-1064817395.png" alt="image" loading="lazy"></p>
<p>一切调用成功。</p>
<h1 id="小结">小结</h1>
<p>本文系统演示了如何在 Spring AI 架构下集成主流 MCP 服务和客户端工具,包括腾讯云地图、新闻服务、Claude Desktop、n8n 以及 Codebuddy 插件,全面验证了 Spring AI 的良好兼容性与扩展性。</p>
<p>本文源码已提交至 GitHub 仓库,可直接下载使用:https://github.com/StudiousXiaoYu/spring-ai-courses</p><br><br>
来源:https://www.cnblogs.com/guoxiaoyu/p/18938912
頁:
[1]