使用说明
Spring AI MCP Server - 研究项目
这是一个很好的研究项目,学习如何创建一个 MCP(模型上下文协议)服务器 使用 春季AI该项目是按照 丹·维加 并演示如何通过 MCP 协议将自定义工具与 AI 模型集成。
🎯 关于项目
该项目实施了一个简单的MCP服务器,用于展示管理课程的工具。这是一个实际的例子:
- 使用 Spring AI 创建 MCP 服务器
- 定义自定义工具
- 通过 MCP 协议与 AI 模型集成
- 配置无 Web 接口的服务器 (STDIO 传输)
🏗️ 项目架构
文件结构
src/main/java/com/gotocode/courses/
├── CoursesApplication.java # Classe principal da aplicação
├── CourseService.java # Serviço com as ferramentas MCP
└── Course.java # Modelo de dados (Record)
主要组件
- 课程申请配置 MCP 服务器的主要类
- 课程服务展示用于管理课程的 MCP 工具的服务
- 课程: 代表课程标题和 URL 的记录
🛠️ 使用的技术
- Java 24
- 弹簧靴3.4.5
- 春季AI 1.0.0-M8
- 梅文
📋 先决条件
在运行项目之前,请确保您已安装:
- Java 24 你上级
- 梅文 3.6+优
检查安装
# Verificar versão do Java
java -version
# Verificar versão do 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运行
# Compilar o JAR
mvn clean package
# Executar o JAR
java -jar target/courses-0.0.1-SNAPSHOT.jar
🔧 配置
工程已配置为通过文件作为 MCP 服务器运行 application.properties:
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(String) - 课程标题 - 返回指定的课程或 null 如果未找到
📝 使用范例
数据结构
public record Course(String title, String url) {
}
示例数据
该服务通过一些示例课程启动:
courses.addAll(List.of(
new Course("Título do vídeo 01", "https://www.urlvideo01"),
new Course("Título do vídeo 02", "https://www.urlvideo02")
));
🔍 如何运作
- 初始化MCP 服务器在没有 Web 界面的情况下启动
- 工具注册:O
CourseService注册为 MCP 工具 - STDIO 通信服务器通过默认输入/输出进行通信
- 与 AI 集成人工智能模型可以通过MCP协议使用这些工具
🎓 项目学习者
这个项目展示了:
- 如何使用Spring AI创建自定义工具
- 配置没有 Web 界面的 MCP 服务器
- 使用注释
@Tool将方法作为工具展示 - 与 MCP 协议集成,用于与 AI 模型通信
- 功能 MCP 服务器的基本结构
🤝 贡献
这是一个研究项目,但欢迎贡献!为了贡献:
- 创建项目分叉
- 为您的功能创建一个分支 (
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推动一个分支(
git push origin feature/AmazingFeature) - Abra um Pull请求
📚 额外资源
📄 许可证
这个项目是MIT许可的。查看文件 LICENSE 了解更多详情。
作为基于Dan Vega课程的研究项目开发 🚀
