网易首页 > 网易号 > 正文 申请入驻

Spring AI再进化:支持MCP对话外部世界

0
分享至

随着 AI 技术的快速发展,如何让 AI 系统高效地获取和处理外部数据成为一个关键挑战。今天为大家介绍 Spring AI 最新支持的 MCP 协议,它将为 AI 应用打开一个全新的数据互联世界。
MCP:AI 与外部世界的"万能翻译官"

想象一下,如果你的 AI 应用需要同时读取数据库、访问文件系统、调用 API,以前你可能需要为每个数据源写一个专门的接口。而现在,Model Context Protocol (MCP)的出现彻底改变了这一切。

为什么 MCP 这么特别?

  • 统一标准:一次开发,到处运行。MCP 就像一个"万能适配器",让 AI 应用可以用同一种方式与各种数据源对话。

  • 全面兼容:无论是结构化的数据库表,还是非结构化的文本文件,MCP 都能轻松应对。

  • 即插即用:想在聊天界面中直接查看 GitHub 代码或 Google 文档?MCP 让这一切变得自然而流畅。

MCP vs Function Calling:不止是简单的函数调用

很多开发者可能会问:这和 Function Calling 有什么不同?关键区别在于:

  • Function Calling 更像是"一次性订制":完成特定任务,但难以复用

  • MCP 则是"通用翻译官":为不同系统搭建沟通的桥梁,让数据和功能自由流动

Spring AI + MCP:几行代码搞定数据互联

让我们通过一个实际例子,看看如何在 Spring AI 中使用 MCP:让 AI 帮你优化文章

有了 MCP 的支持,我们可以让 AI 直接读取本地文档,数据库,各种数据源,这种能力让 AI 应用的实用性大大提升,为内容创作、文档处理等场景带来新的可能。

1. 添加依赖

首先在 pom.xml 中添加必要的依赖:


     

 org.springframework.experimental groupId>     

 spring-ai-mcp artifactId>     

 0.4.1 version> dependency>



2. 基础配置

在 application.properties 中配置 AI 服务:

spring.ai.openai.base-url=your-api-base-url
spring.ai.openai.api-key=your-api-key
3. 核心实现

@Bean
 public CommandLineRunner predefinedQuestions(ChatClient.Builder chatClientBuilder,    List  functionCallbacks, ConfigurableApplicationContext context)  {

  return args -> {
   var chatClient = chatClientBuilder
     .defaultFunctions(functionCallbacks.toArray(new McpFunctionCallback[0]))
     .build();
   String question1 = "mcp.txt 这篇文档有什么建议吗?方便公众号传播推广";
   System.out.println("ASSISTANT: " + chatClient.prompt(question1).call().content());
   context.close();
  };
 }

 @Bean
 public List   functionCallbacks (McpSyncClient mcpClient)  {

        return mcpClient.listTools(null)
                .tools()
                .stream()
                .map(tool -> new McpFunctionCallback(mcpClient, tool))
                .toList();
 }

 @Bean(destroyMethod = "close")
 public McpSyncClient mcpClient() {
  var stdioParams = ServerParameters.builder("npx")
    .args("-y", "@modelcontextprotocol/server-filesystem", getDbPath())
    .build();

  var mcpClient = McpClient.using(new StdioClientTransport(stdioParams))
    .requestTimeout(Duration.ofSeconds(10)).sync();

  var init = mcpClient.initialize();

  System.out.println("MCP Initialized: " + init);

  return mcpClient;

 }

 private static String getDbPath() {
  return Paths.get(System.getProperty("user.dir"), "target").toString();
 }
测试执行

运行以下命令来启动 Spring Boot 应用,测试 MCP 功能:

mvn springboot:run

如果您对 Java AI 应用开发感兴趣,可以学习一下笔者录制的这个系列视频:Java AI应用开发(https://javaai.pig4cloud.com),当然是开源免费的啦。当然如果对Java AI 开发感兴趣可以加入我们社群:

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
演员金晨道歉后,喜之郎悄悄恢复被隐藏的内容、娇韵诗微博置顶换成迪丽热巴,阿迪达斯宣布金晨仍为其代言人

演员金晨道歉后,喜之郎悄悄恢复被隐藏的内容、娇韵诗微博置顶换成迪丽热巴,阿迪达斯宣布金晨仍为其代言人

扬子晚报
2026-01-31 10:31:01
1米86小伙被妈妈“抓来”当中老年装模特,因“太帅”走红,带火21年老店;妈妈发声:自家卖男装,来的多是女客户,儿子暂无女朋友

1米86小伙被妈妈“抓来”当中老年装模特,因“太帅”走红,带火21年老店;妈妈发声:自家卖男装,来的多是女客户,儿子暂无女朋友

扬子晚报
2026-01-31 07:58:30
震撼!马斯克发射100万颗卫星建太空AI算力中心,商业航天又要起飞?

震撼!马斯克发射100万颗卫星建太空AI算力中心,商业航天又要起飞?

股市皆大事
2026-01-31 19:17:13
临沧市公安局临翔分局原副局长为走私、赌博场等提供庇护,一审获刑六年

临沧市公安局临翔分局原副局长为走私、赌博场等提供庇护,一审获刑六年

澎湃新闻
2026-01-31 10:15:04
湖南“夺命寡妇村”:5年内死亡20多名男性,专家调查揭开真相

湖南“夺命寡妇村”:5年内死亡20多名男性,专家调查揭开真相

谈史论天地
2026-01-30 16:51:02
前Google工程师因向中国公司窃取AI商业机密被判罪名成立 面临数十年刑期

前Google工程师因向中国公司窃取AI商业机密被判罪名成立 面临数十年刑期

cnBeta.COM
2026-01-30 14:10:11
魏文彬追悼会!人群乌泱泱,汪涵送到最后,李维嘉带女友人现身

魏文彬追悼会!人群乌泱泱,汪涵送到最后,李维嘉带女友人现身

李健政观察
2026-01-31 13:47:22
医生忠告:脑梗早期不是手脚麻,而是频繁出现5症状,千万别忽视

医生忠告:脑梗早期不是手脚麻,而是频繁出现5症状,千万别忽视

健康之光
2026-01-31 07:25:07
斯塔默来北京吃云南菜了?给一坐一忘的三个建议

斯塔默来北京吃云南菜了?给一坐一忘的三个建议

飞上自己的天空去
2026-01-31 18:39:17
德媒表示,中国并没有看上去的那么强大

德媒表示,中国并没有看上去的那么强大

忠于法纪
2026-01-30 18:25:44
年薪近2000万,在49岁时仍然是单身!这位董秘的硬核人生,太飒了

年薪近2000万,在49岁时仍然是单身!这位董秘的硬核人生,太飒了

墨兰史书
2026-01-22 23:50:03
1988年授衔前,赵南起被匿名举报为“韩国间谍”,为何仍被授上将

1988年授衔前,赵南起被匿名举报为“韩国间谍”,为何仍被授上将

墨说古今
2026-01-18 22:56:11
麦当劳新包装被网友称像祭祀用品,客服回应

麦当劳新包装被网友称像祭祀用品,客服回应

大象新闻
2026-01-30 17:09:20
上海宣布:购车以旧换新,最高补贴2万元!2月6日首轮摇号,每月一次,细则公布→

上海宣布:购车以旧换新,最高补贴2万元!2月6日首轮摇号,每月一次,细则公布→

新民晚报
2026-01-31 12:05:53
谁也没想到,干掉电车的竟然是小小的洗车房

谁也没想到,干掉电车的竟然是小小的洗车房

柏铭锐谈
2026-01-29 12:48:41
莱巴金娜逆转战胜萨巴伦卡,首夺澳网冠军

莱巴金娜逆转战胜萨巴伦卡,首夺澳网冠军

余蹮搞笑段子
2026-01-31 19:21:34
2026电视剧盛典赢家:于和伟封神,郭京飞正名,杨幂转型最狠

2026电视剧盛典赢家:于和伟封神,郭京飞正名,杨幂转型最狠

娱乐圈十三太保
2026-01-30 16:24:40
美国宣布对伊朗最新制裁措施

美国宣布对伊朗最新制裁措施

界面新闻
2026-01-30 23:40:21
老挝放弃中国提案,效仿韩国抄袭三峡大坝技术,大坝溃决后中国持何态度?

老挝放弃中国提案,效仿韩国抄袭三峡大坝技术,大坝溃决后中国持何态度?

史海孤雁
2026-01-30 16:20:15
这就是赤裸裸的差距!电信正式员工每个月的企业年金能有多离谱?

这就是赤裸裸的差距!电信正式员工每个月的企业年金能有多离谱?

匹夫来搞笑
2026-01-31 15:56:57
2026-01-31 20:43:00
开源中国 incentive-icons
开源中国
每天为开发者推送最新技术资讯
7577文章数 34499关注度
往期回顾 全部

科技要闻

SpaceX申请部署百万卫星 打造太空数据中心

头条要闻

"天安门墙绘"创作者带17位村民登上长城 老人激动落泪

头条要闻

"天安门墙绘"创作者带17位村民登上长城 老人激动落泪

体育要闻

新时代得分王!东皇37+三双刷7纪录怒吼释放

娱乐要闻

李维嘉、吴昕、汪涵现身魏文彬追悼会

财经要闻

白银,暴跌!黄金,40年最大跌幅!

汽车要闻

新款宾利欧陆GT S/GTC S官图发布 V8混动加持

态度原创

艺术
旅游
教育
数码
公开课

艺术要闻

他用色粉笔绘出惊艳的人体质感,网友惊叹!

旅游要闻

广西将策划1200余项特色文旅活动 充实假日文旅市场供给

教育要闻

已知了四边形的两条邻边的长,怎样求这个四边形的面积

数码要闻

2025中国扫地机器人销量榜:科沃斯霸榜第一 大疆5个月杀进前10

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版