当前位置: 首页 > news >正文

基于SpringBoot开发一个MCP Server

最近MCP特别火,互联网上也出现了很多基于MCP开发出来的MCP Server。

本文将以SpringBoot项目为例,分享如何基于SpringBoot项目开发一个MCP Server,帮助大家提高日常开发效率。

一、 MCP是什么?

MCP(Model Coordination Protocol)是一种协议,用来支持大模型调用外部的工具和服务,最初由 Anthropic 公司倡导和开发,你可能没听过这家公司,但是Claude模型你一定用过,它就是出自Anthropic之手。

MCP支持两种传输方式:

  • stdio (标准输入输出)
    适用于本地进程间通信。

  • sse(Server-Sent Events)
    使用http作为传输层
    适用于远程通信和 Web 环境

二、mcp server是什么?

除大模型本身的能力之外的其他工具和服务统称为mcp server。

可处理来自AI 客户端,如Claude, Cursor的请求和响应。

三、如何基于SpringBoot开发一个MCP Server?

基于SpringBoot开发一个MCP Server大致可分为几下几步。

  1. 首先安装JDK和IDEA,JDK的版本必须在17及以上。
  2. 导入maven依赖

注意,spring-ai提供了三个包,用来实现MCP Server。

每个包支持的协议不一样。

我们需要的是webmvc。

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-mcp-server-webmvc</artifactId><version>1.0.0</version></dependency>
  • spring-ai-starter-mcp-server
    支持stdio协议。
  • spring-ai-starter-mcp-server-webmvc/
    支持sse协议
  • spring-ai-starter-mcp-server-webflux
    支持sse协议
  1. .yml文件中配置MCP Server相关属性。
spring:ai:mcp:server:stdio: false # 禁用stdio协议name: mcp-server # mcp-server名称sse-endpoint: sse # 启动sse协议,并指定端点路径为/sseenabled: true # 组件启用
  1. 使用@Tool注解标记具体的tool

该注解目前只支持方法维度。

@Service
public class EmployeeServiceImpl implements EmployeeService{@Autowiredprivate EmployeeMapper employeeMapper;@Override@Tool(name = "getEmployeeInfo", description = "获取员工信息")public Employee getEmployeeInfo(String employeeId) {return employeeMapper.selectById(employeeId);}@Override@Tool(name = "getEmployeeList", description = "获取员工列表")public List<Employee> getEmployeeList() {return employeeMapper.selectList(null);}@Override@Tool(name = "addEmployee", description = "添加新员工")public boolean addEmployee(TurEmployee employee) {return employeeMapper.insert(employee) > 0;}@Override@Tool(name = "updateEmployee", description = "更新员工信息")public boolean updateEmployee(TurEmployee employee) {return employeeMapper.updateById(employee) > 0;}
}
  1. 注册Tool对象
@Configuration
public class McpConfig {@Beanpublic ToolCallbackProvider toolCallbackProvider(TurEmployeeService turEmployeeService) {// 创建一个ToolCallbackProvider实例return MethodToolCallbackProvider.builder().toolObjects(EmployeeService) // 这里可以添加多个工具对象.build();}
}
  1. 启动springboot,检查tool是否已注册到mcp server中
    在这里插入图片描述
  2. 使用MCP Client调用MCP Server

本文使用的cursor。

需要配置下刚写好的MCP Server。

{"mcpServers": {"mcp-server": {"url": "http://127.0.0.1:18888/sse","type": "sse" // 协议类型}}
}

然后刷新下,即可看到已经注册到MCP Server 的4个tools。
在这里插入图片描述
9. 测试
在这里插入图片描述

如果觉得文章对您有帮助,欢迎点赞、关注并收藏。
后续会出系列文章来玩转mcp server,支持Java和Python两种语言。

相关文章:

  • 社区造数服务接入MCP|得物技术
  • JavaScript 中 this 指向全解析:从基础到 Vue 应用
  • C语言 文件操作(2)
  • Nodejs+http-server 使用 http-server 快速搭建本地图片访问服务
  • 不同坐标系下的 面积微元
  • 越南跨境电商免税政策遇冷?工商会为何踩下“刹车”
  • 8086 处理器寄存器超详细解析:从原理到实战
  • BEV和OCC学习-1:数据集以及评估指标
  • 麒麟v10,arm64架构,编译安装Qt5.12.8
  • Python爬虫实战:研究Tornado框架相关技术
  • UDP组播套接字与URI/URL/URN技术详解
  • Qt/C++开发监控GB28181系统/sip协议/同时支持udp和tcp模式/底层协议解析
  • 一文了解智慧教育顶刊《Journal of Computer Assisted Learning》2025年4月研究热点
  • 上传头像upload的简易方法,转base64调接口的
  • RK3568DAYU开发板-平台驱动开发:I2C驱动(原理、源码、案例分析)
  • BeeWorks:构建企业智能数字化协作中枢,实现办公与业务系统的无缝整合
  • 基础组件库建设方案(支持业务系统与公共基础服务)
  • 【AI】Spring AI MCP Server 三种实现方式的区别
  • 程序员出海之英语-使用手册
  • world quant教程学习二
  • 帮客户做网站图片被告侵权/网络科技公司
  • 宁波房产信息网官方网站/网站优化联系
  • 网站里面的视频功能怎么做的/天津seo实战培训
  • 都兰县建设局交通局网站/百度竞价排名收费
  • 合作建站协议/百度数据分析
  • b2b商业网站建设/日照seo公司