pzpupu/classover_mcp_server
3.1
If you are the rightful owner of classover_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The project is a Model Context Protocol (MCP) server for managing class schedules, built using Spring Boot and Spring AI.
课表管理 MCP 服务器
基于 Spring Boot 和 Spring AI MCP 的课表管理系统,提供课表查询、课程时间管理、教师更换等功能。
项目概述
本项目是一个基于 Spring Boot 3.5.5 和 Spring AI 1.0.1 构建的 MCP (Model Context Protocol) 服务器。系统提供了完整的课表管理功能,包括:
- 课表查询:支持按课程、教师、星期、教室等多种方式查询课表
- 课程时间管理:支持更新课程的上课时间、节次等信息
- 教师更换:支持动态更换课程的授课教师
- 基础数据管理:提供课程和教师信息的查询接口
技术栈
- Java 21
- Spring Boot 3.5.5
- Spring AI 1.0.1 (MCP Server WebMVC)
- Lombok - 减少样板代码
- JUnit 5 - 单元测试
- Maven - 项目构建和依赖管理
项目结构
src/main/java/com/classover/mcp/server/
├── McpServerApplication.java # 主启动类
├── config/
│ └── McpServerConfig.java # MCP 服务器配置
├── controller/
│ └── ScheduleController.java # REST API 控制器
├── model/
│ ├── Course.java # 课程实体类
│ ├── Schedule.java # 课程安排实体类
│ └── Teacher.java # 教师实体类
└── service/
└── ScheduleService.java # 课表管理服务类
API 接口
查询接口
GET /api/schedule/all- 查询所有课表GET /api/schedule/course/{courseId}- 根据课程ID查询课表GET /api/schedule/teacher/{teacherId}- 根据教师ID查询课表GET /api/schedule/day/{dayOfWeek}- 根据星期几查询课表 (1-7)GET /api/schedule/classroom/{classroom}- 根据教室查询课表GET /api/schedule/courses- 获取所有课程信息GET /api/schedule/teachers- 获取所有教师信息
管理接口
PUT /api/schedule/{scheduleId}/time- 更新课程时间PUT /api/schedule/{scheduleId}/teacher- 更换授课教师PUT /api/schedule/{scheduleId}/classroom- 更新上课教室POST /api/schedule- 添加新的课程安排DELETE /api/schedule/{scheduleId}- 删除课程安排
使用示例
查询所有课表
curl http://localhost:8080/api/schedule/all
更换教师
curl -X PUT "http://localhost:8080/api/schedule/S001/teacher" \
-H "Content-Type: application/json" \
-d '{"newTeacherId": "T002"}'
更新课程时间
curl -X PUT "http://localhost:8080/api/schedule/S001/time" \
-H "Content-Type: application/json" \
-d '{
"startTime": "2024-09-02 14:00",
"endTime": "2024-09-02 15:40",
"dayOfWeek": 1,
"period": 7
}'
构建和运行
构建项目
./mvnw clean install
运行测试
./mvnw test
启动应用
# 方式1:使用 Maven 插件
./mvnw spring-boot:run
# 方式2:运行打包后的 JAR
./mvnw package
java -jar target/server-0.0.1-SNAPSHOT.jar
应用启动后会在 http://localhost:8080 提供 REST API 服务。
测试数据
系统初始化时会创建以下测试数据:
教师信息:
- T001: 张三 (教授, 计算机学院)
- T002: 李四 (副教授, 数学学院)
课程信息:
- C001: Java程序设计 (3学分, 必修)
- C002: 高等数学 (4学分, 必修)
课程安排:
- S001: Java程序设计 (周一第1节, 教学楼A101)
- S002: 高等数学 (周二第3节, 教学楼B201)
扩展功能
作为 MCP 服务器,本项目支持通过 Model Context Protocol 与 AI 模型集成,可以:
- 通过自然语言查询课表信息
- 智能调度课程安排
- 自动处理课程冲突检测
- 生成课表报告和统计信息
开发规范
- 所有 Java 类、方法和重要字段都包含详细的中文注释
- 使用 JavaDoc 格式编写类和方法文档
- 遵循 Spring Boot 最佳实践
- 单元测试覆盖核心业务逻辑