【附源码】用Spring AI通杀所有MCP客户端,简直离谱!

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">

在上一章节中,我们讲解了MCP服务,并以Spring AI作为客户端和服务端进行示例说明。然而,当前市面上已经存在众多成熟的MCP客户端和服务端实现。那么,Spring AI在这些现有方案中的适配程度究竟如何?接下来,我们将深入探讨这一问题。

Spring AI客户端-第三方MCP#

MCP市场#

我们先看下目前流行的MCP服务都有哪些,当然我们不必去手动实现已有的服务端,现在有很多MCP市场,比如腾讯云、阿里都有这些市场,我们都来实验一下,在Spring AI客户端中的是否可以真正的使用起来。那么这里我们就以腾讯云为例开始演示。地址在这里:https://cloud.tencent.com/developer/mcp

image

腾讯位置服务 MCP Server#

今天我们就举一个最常见的案例——地图服务,我们找到腾讯位置服务,然后根据他的文档快速的申请一下相关的秘钥信息等。

image

准备工作完成之后,我们开始接入,在配置文件中,我们引入必要的配置信息,如下:

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

OK。就这么简单,我们直接启动项目进行实时对话直接查看是否成功,效果如下:

image

新闻服务#

除了常规使用SSE URL方式进行通信的MCP服务可以正常兼容外,在Studio模式下同样能够良好运行和适配。接下来,我们将以一个新闻服务的快速接入为示例进行演示。如图所示:

image

按照其配置说明添加在Spring AI项目的配置目录下。具体配置如下:

spring.ai.mcp.client.stdio.servers-configuration=classpath:mcp-servers.json

我们只需要将此文件内容换成官方的命令即可。随后我们正常启动项目,效果如下:

image

服务端常用的两种模式,这里全部正常。我们再看下第三方MCP客户端和Spring AI 服务端是否也可以正常兼容。

第三方MCP客户端-Spring AI 服务端#

Claude Desktop#

首先,我们要介绍的是当前最为流行的客户端工具之一 —— Claude Desktop。该工具支持本地运行,用户只需在本地下载安装完成后,便可通过选择相应的配置文件,直接加载并对接Spring AI所提供的MCP服务,实现快速接入与调试。具体操作流程如下图所示:

image

文件内容如下所示:

"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"
      ]
    }

配置完成后,请注意需要重启应用,使刚才的设置生效。

我们这边的 Spring AI 服务无需单独运行,只需打好 JAR 包即可被加载使用。下面我们直接来做一个简单的测试:

image

首先他会进行一次提示,询问是否调用MCP服务,说明基本成功了。我们再看下能够成功调用,效果如下:

image

n8n#

接下来,我们将继续测试另一个近期非常热门的工具 —— n8n。该自动化平台原生支持与 MCP 服务的集成,且采用的是基于 SSE(Server-Sent Events)的通信模式。

如果本地尚未安装 n8n,可通过宝塔面板轻松获取并完成部署。只需在面板应用市场中搜索 “n8n”,即可一键安装并开始配置。如下图所示:

image

接下来要做的,是让 n8n 能访问到我们本地的 Spring AI 服务。你有两个选择:要么把服务部署到线上;要么就像我这样,用内网穿透把本地服务暴露出来。

我这里用的是内网穿透的方式,接下来我们就来配置一下:

image

这里的 /sse 是 Spring AI 默认提供的接口后缀,我们直接填这个就行了。如果你在服务端做了修改,那也可以用自定义的路径。

现在我们来看下最终的效果,看看能不能成功触发调用。如下图所示:

image

Codebuddy#

最后一个环节是 IDE 插件的集成配置,这里我们以腾讯云出品的 Codebuddy 插件为例进行演示。

首先,在本地 IDE(如 IntelliJ IDEA 或 VS Code)中安装好 Codebuddy 插件。然后登录自己的腾讯云账号,登录完成后点击左侧的 “MCP 管理” 菜单,进入插件的 MCP 配置界面,如下图所示:

image

紧接着写好我们的配置文件内容,可以写sse模式也可以写studio模式的配置,这里以studio模式为例。如图所示:

image

一切调用成功。

小结#

本文系统演示了如何在 Spring AI 架构下集成主流 MCP 服务和客户端工具,包括腾讯云地图、新闻服务、Claude Desktop、n8n 以及 Codebuddy 插件,全面验证了 Spring AI 的良好兼容性与扩展性。

本文源码已提交至 GitHub 仓库,可直接下载使用:https://github.com/StudiousXiaoYu/spring-ai-courses

原创作者: guoxiaoyu 转载于: https://www.cnblogs.com/guoxiaoyu/p/18938912
内容概要:本文详细介绍了C语言指针和字符串操作的基础知识与高级技巧。指针部分涵盖了指针作为数据类型的特点,包括指针变量的定义、间接赋值的应用场景及其重要性,以及不同级别的指针如何在函数间传递并修改实参的值。同时强调了指针操作的安全性问题,如不允许向NULL或未知地址拷贝内存,并讲解了`void*`指针的作用及其转换规则。字符串操作部分则重点讨论了字符串初始化、`sizeof`与`strlen`的区别、字符`\0`的作用及其与其他符号的区别,还展示了数组法和指针法两种操作字符串的方式,并给出了几个常见的字符串处理算法实例,如统计子串出现次数、去除字符串两端空白字符等。 适用人群:具有初步C语言基础的学习者,特别是对指针和字符串操作有进一步需求的编程人员。 使用场景及目标:①帮助读者深入理解指针的工作机制,掌握通过指针间接访问和修改内存的技术;②使读者能够熟练运用字符串操作的基本函数,并能编写高效的字符串处理代码;③培养读者的安全意识,避免因不当使用指针而导致程序崩溃或产生未定义行为。 阅读建议:由于指针和字符串是C语言中较为复杂的概念,建议读者在学习过程中多做笔记,动手实践书中的示例代码,尤其要注意理解指针间接赋值的原理,以及字符串处理函数的具体实现细节。此外,对于`void*`指针的理解和使用,应特别留意其类型转换的要求,确保代码的安全性和正确性。
Spring AI 是一个专注于人工智能能力集成的框架,其设计目的是为了简化 AI 能力在企业级应用中的落地。在 Spring AI 的生态系统中,图表展示和数据可视化是构建智能数据看板的重要组成部分,而 MCP(可能是 Multi-Charting Protocol 或 Multi-Client Platform 的缩写)则作为图表服务的通信协议或客户端平台,起到连接 AI 数据处理层与可视化层的桥梁作用。 ### 图表在 Spring AI 中的作用 在 Spring AI 中,图表组件通常用于将 AI 模型处理后的数据以可视化方式呈现,例如趋势图、柱状图、饼图等。这些图表不仅提升了数据的可读性,还帮助用户快速理解数据背后的趋势和模式。Antv 是蚂蚁集团推出的一套数据可视化解决方案,其中的 MCP 模块可能是为了支持与 Spring AI 的集成而设计的专用图表服务接口。Antv 提供了丰富的图表库和灵活的配置选项,使得其与 Spring AI 的集成能够满足多种数据可视化需求。 ### MCP 的作用与配置 MCPSpring AI 的上下文中,可能指的是与图表服务通信的客户端协议或服务端接口。通过在 `application.yml` 中配置 MCP 客户端,可以指定图表服务的地址,例如 `http://localhost:1122/mcp`,这表明 Spring AI 会通过该地址与 Antv 的图表服务进行通信[^1]。 配置示例如下: ```yaml spring: ai: mcp: client: enable: true servers: - url: http://localhost:1122/mcp ``` 上述配置启用了 MCP 客户端,并指定了图表服务的 URL。Spring AI 会利用该配置建立与 Antv 图表服务的连接,从而实现数据的可视化展示。 ### 依赖引入 为了实现与 MCP 图表服务的通信,Spring AI 需要引入特定的依赖包,例如 `spring-ai-mcp`,其版本为 `2.0.0`。这一依赖包封装了与 MCP 服务交互的客户端逻辑,包括请求的发送与响应的解析。Maven 依赖引入方式如下: ```xml <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-mcp</artifactId> <version>2.0.0</version> </dependency> ``` 通过引入该依赖,Spring AI 应用程序能够无缝对接 Antv 的 MCP 图表服务,实现数据的动态可视化展示。 ### 总结 Spring AI 结合 Antv 的 MCP 图表服务,提供了一种高效、灵活的智能数据看板构建方案。MCP 在其中扮演了关键角色,既是图表服务的通信协议,也是客户端与服务端交互的桥梁。通过合理的配置与依赖引入,可以实现 AI 数据处理与可视化展示的无缝集成。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值