返回市场
弹簧人工智能MCP服务器

弹簧人工智能MCP服务器

作者:moises-paschoalick2 星标更新:2025-06-27

项目介绍

Spring AI MCP Server - 学习项目

这是一个优秀的学习项目,用于了解如何使用Spring AI创建一个MCP(模型上下文协议)服务器。该项目是根据Dan Vega的课程开发的,展示了如何通过MCP协议将自定义工具与AI模型集成。

🎯 关于项目

此项目实现了一个简单的MCP服务器,该服务器公开了管理课程的工具。这是一个实际的例子,展示了如何:

  • 使用Spring AI创建MCP服务器
  • 定义自定义工具(tools)
  • 通过MCP协议与AI模型集成
  • 配置无Web界面的服务器(STDIO传输)

🏗️ 项目架构

文件结构

src/main/java/com/gotocode/courses/
├── CoursesApplication.java    # 应用程序主类
├── CourseService.java         # 包含MCP工具的服务
└── Course.java               # 数据模型(记录)

主要组件

  1. CoursesApplication:配置MCP服务器的主要类
  2. CourseService:公开用于管理课程的MCP工具的服务
  3. Course:表示课程的记录,包含标题和URL

🛠️ 使用的技术

  • Java 24
  • Spring Boot 3.4.5
  • Spring AI 1.0.0-M8
  • Maven

📋 先决条件

在运行项目之前,请确保已安装:

  • Java 24 或更高版本
  • Maven 3.6+ 或更高版本

检查安装

# 检查Java版本
java -version

# 检查Maven版本
mvn -version

🚀 如何运行项目

1. 克隆仓库

git clone https://github.com/moises-paschoalick/spring-ai-mcp-server.git
cd spring-ai-mcp-server

2. 编译项目

mvn clean compile

3. 运行MCP服务器

mvn spring-boot:run

4. 通过JAR运行的替代方法

# 编译JAR
mvn clean package

# 运行JAR
java -jar target/courses-0.0.1-SNAPSHOT.jar

🔧 配置

项目通过application.properties文件配置为MCP服务器:

spring.application.name=courses
spring.main.web-application-type=none
spring.ai.mcp.server.name=dan-vega-mcp
spring.ai.mcp.server.version=0.0.1
spring.main.banner-mode=off
logging.pattern.console=

重要配置:

  • spring.main.web-application-type=none:禁用HTTP服务器
  • spring.ai.mcp.server.name:设置MCP服务器的名称
  • spring.main.banner-mode=off:禁用Spring Boot的启动横幅
  • logging.pattern.console=:移除控制台日志以允许STDIO传输

🛠️ 可用的MCP工具

服务器公开了两个主要工具:

1. dv_get_courses

  • 描述:获取所有可用课程的列表
  • 返回值:课程列表

2. dv_get_course

  • 描述:通过标题获取特定课程
  • 参数title (字符串) - 课程标题
  • 返回值:特定课程或未找到时返回null

📝 使用示例

数据结构

public record Course(String title, String url) {
}

示例数据

服务初始化时添加了一些示例课程:

courses.addAll(List.of(
    new Course("视频标题01", "https://www.urlvideo01"),
    new Course("视频标题02", "https://www.urlvideo02")
));

🔍 工作原理

  1. 初始化:无Web界面的MCP服务器启动
  2. 注册工具CourseService作为MCP工具被注册
  3. STDIO通信:服务器通过标准输入输出进行通信
  4. 与AI集成:AI模型可以通过MCP协议使用这些工具

🎓 项目学习点

本项目演示了:

  • 如何使用Spring AI创建自定义工具
  • 如何配置无Web界面的MCP服务器
  • 如何使用@Tool注解将方法暴露为工具
  • 如何通过MCP协议与AI模型通信
  • 基础的MCP服务器结构

🤝 贡献

这是一个学习项目,但欢迎贡献!要贡献:

  1. 分叉项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开Pull Request

📚 额外资源

📄 许可证

本项目采用MIT许可证。详情见LICENSE文件。


基于Dan Vega的课程开发的学习项目 🚀