关于 MCP-CRUD-Interview-Question
MCP-CRUD-Interview-Question 是基于 Spring Boot 和 Spring AI 的服务,用于管理 MySQL 中的面试题记录。它通过 MCP 工具支持按类别筛选及增删改查,供 Agent 和 AI 模型使用。
主要功能
- 01创建、读取、更新和删除面试题
- 02按类别筛选面试题
- 03将记录持久化到 MySQL
- 04通过 Spring AI 工具开放操作
适用场景
- 01检索指定类别的面试题
- 02维护面试题数据库
- 03让 Agent 访问面试题记录
MCP 相关
该 MCP 服务提供查询全部或按类别筛选面试题、保存或更新题目以及删除题目的工具。项目简介指出其通过 STDIO 通信。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP-CRUD-Interview-Question
一个基于 Spring Boot 的模型控制协议(MCP)服务,旨在管理面试题数据库。本项目利用 Spring AI 的 MCP 能力,通过工具提供对面试题数据的访问。
概述
本项目是一个使用 Spring Boot 和 Spring AI 构建的 MCP(模型控制协议)服务。它通过基于工具的交互提供面试题管理服务,方便从数据库中检索、创建、更新和删除面试题。
功能
- 面试题管理:创建、读取、更新和删除面试题
- 按类别筛选:按指定类别检索题目
- 基于工具的 API:使用 Spring AI 的工具注解,便于集成
- MySQL 数据库集成:持久化保存面试题
项目结构
src/
├── main/
│ ├── java/
│ │ └── io/
│ │ └── michaeljgkopp/
│ │ └── github/
│ │ ├── dao/
│ │ │ └── InterviewQuestionRepository.java
│ │ ├── entity/
│ │ │ └── InterviewQuestion.java
│ │ ├── service/
│ │ │ └── InterviewQuestionService.java
│ │ └── SpringMcpServerApplication.java
│ └── resources/
│ ├── application.properties
│ └── create_db.sql
要求
- Java 24
- MySQL 数据库
- Maven 3.6+ 或兼容的构建工具
安装
克隆仓库
git clone https://github.com/MichaelJGKopp/MCP-CRUD-Interview-Question.git
cd MCP-CRUD-Interview-Question
数据库设置
- 创建所需的 MySQL 数据库:
CREATE DATABASE IF NOT EXISTS mcp_interview_questions_db;
- 配置具有适当权限的 MySQL 用户(或使用已拥有相应访问权限的现有凭据)
配置
应用通过 application.properties 进行配置。你可以自定义这些设置,或使用环境变量覆盖:
spring.application.name=interview-questions-mcp-server
spring.main.web-application-type=none
spring.ai.mcp.server.name=interview-questions-mcp-server
spring.ai.mcp.server.version=0.0.1
server.port=${SERVER_PORT:3001}
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=${DB_URL:jdbc:mysql://localhost:3306/mcp_interview_questions_db}
spring.datasource.username=${DB_USERNAME:springstudent}
spring.datasource.password=${DB_PASSWORD:springstudent}
构建项目
mvn clean package
运行服务
java -jar target/spring-mcp-server-0.0.1-SNAPSHOT.jar
或者使用自定义环境变量:
SERVER_PORT=3002 DB_USERNAME=custom_user DB_PASSWORD=secure_password java -jar target/spring-mcp-server-0.0.1-SNAPSHOT.jar
可用工具
MCP 服务提供以下工具供交互使用:
| 工具名称 | 描述 |
|---|---|
iqs_get_interview_questions_by_category | 检索按指定类别筛选的面试题 |
iqs_get_interview_questions_all | 检索数据库中的所有面试题 |
iqs_save_interview_question | 创建新的面试题或更新现有面试题 |
iqs_delete_interview_question_by_id | 根据 ID 删除面试题 |
iqs_delete_all_interview_questions | 删除所有面试题(请谨慎使用) |
面试题模型
每道面试题包含以下字段:
| 字段 | 描述 |
|---|---|
| id | 唯一标识符(自动生成) |
| difficulty | 题目难度级别(最多 10 个字符) |
| category | 题目类别(例如,“Java”“SQL”“Spring”) |
| title | 题目的简短标题 |
| question | 面试题内容(最多 1000 个字符) |
| answer | 答案或解决方案(最多 10000 个字符) |
与 AI 模型集成
本 MCP 服务旨在与 Spring AI 配合使用,让 AI 模型通过提供的工具与面试题数据库交互。根据配置中的 spring.main.web-application-type=none,此服务不提供传统的 Web 界面。
开发
添加新类别
系统支持任意字符串类别。要在新类别中添加题目,只需在创建题目时使用该类别名称。
扩展模型
要为 InterviewQuestion 模型添加字段:
- 更新
InterviewQuestion.java实体类 - 添加适当的 getter 和 setter
- 重启应用(由于设置了
spring.jpa.hibernate.ddl-auto=update,数据库架构会自动更新)
许可证
本项目为开源项目。有关许可证的详细信息,请联系仓库所有者。
联系方式
如有问题或需要支持,请联系 Michael J.G. Kopp。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。