本项目是基于 Spring Boot 的模型控制协议 (MCP) 服务器,可用于管理面试问题数据库。借助 Spring AI 的 MCP 功能,以工具形式实现对面试问题数据的便捷访问。
该项目是一个基于 Spring Boot 和 Spring AI 的 MCP 服务器,用于管理面试问题。它通过工具形式提供对面试问题数据的访问,能方便地实现对数据库中面试问题的创建、读取、更新和删除操作。
git clone https://github.com/MichaelJGKopp/MCP-CRUD-Interview-Question.git
cd MCP-CRUD-Interview-Question
CREATE DATABASE IF NOT EXISTS interview_questions;
mysql -u root -p
MariaDB [(none)]> CREATE USER 'interview_user'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON interview_questions.* TO 'interview_user'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
使用 Maven 构建项目并运行:
mvn spring-boot:run
src/
├── main/
│ ├── java/
│ │ └── io/
│ │ └── michaeljgkopp/
│ │ └── github/
│ │ ├── dao/
│ │ │ └── InterviewQuestionRepository.java
│ │ ├── entity/
│ │ │ └── InterviewQuestion.java
│ │ ├── service/
│ │ │ └── InterviewQuestionService.java
│ │ └── SpringMcpServerApplication.java
│ └── resources/
│ ├── application.properties
│ └── create_db.sql
以下是可用工具的完整列表:
| 工具名称 | 功能描述 |
|---|---|
iqs_get_interview_questions |
获取所有面试问题 |
iqs_get_interview_questions_by_category |
按类别获取面试问题 |
iqs_save_interview_question |
保存新的面试问题 |
iqs_update_interview_question |
更新现有面试问题 |
iqs_delete_interview_question |
删除指定的面试问题 |
package io.michaeljgkopp.github.entity;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.Getter;
import lombok.Setter;
@Entity
@Getter
@Setter
public class InterviewQuestion {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String question;
private String category;
private String difficulty;
private String answer;
}
package io.michaeljgkopp.github.dao;
import io.michaeljgkopp.github.entity.InterviewQuestion;
import org.springframework.data.jpa.repository.JpaRepository;
public interface InterviewQuestionRepository extends JpaRepository {
InterviewQuestion findByCategory(String category);
}
系统支持任意字符串类型的类别。要添加新的类别,只需在创建问题时使用该类别名称即可。
要扩展 InterviewQuestion 模型以包含更多字段:
InterviewQuestion.java 实体类spring.jpa.hibernate.ddl-auto=update,数据库表结构会自动更新)该项目是开源的。有关详细许可信息,请联系仓库所有者。
如有问题或需要支持,请联系 Michael J.G. Kopp。