MCP服务器

一个基于Spring AI的MCP服务器项目,用于学习如何创建和管理自定义工具,并通过MCP协议与AI模型集成。

  • by moises-paschoalick
  • Java
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 moises-paschoalick/spring-ai-mcp-server

使用说明

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)

主要组件

  1. 课程申请配置 MCP 服务器的主要类
  2. 课程服务展示用于管理课程的 MCP 工具的服务
  3. 课程: 代表课程标题和 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")
));

🔍 如何运作

  1. 初始化MCP 服务器在没有 Web 界面的情况下启动
  2. 工具注册:O CourseService 注册为 MCP 工具
  3. STDIO 通信服务器通过默认输入/输出进行通信
  4. 与 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. Abra um Pull请求

📚 额外资源

📄 许可证

这个项目是MIT许可的。查看文件 LICENSE 了解更多详情。


作为基于Dan Vega课程的研究项目开发 🚀