mcpField
M
MCP-CRUD-Interview-Question

MCP-CRUD-Interview-Question

本地服务
github.com/MichaelJGKopp商业与营销080 周前更新

关于 MCP-CRUD-Interview-Question

MCP-CRUD-Interview-Question 是基于 Spring Boot 和 Spring AI 的服务,用于管理 MySQL 中的面试题记录。它通过 MCP 工具支持按类别筛选及增删改查,供 Agent 和 AI 模型使用。

主要功能

  1. 01创建、读取、更新和删除面试题
  2. 02按类别筛选面试题
  3. 03将记录持久化到 MySQL
  4. 04通过 Spring AI 工具开放操作

适用场景

  1. 01检索指定类别的面试题
  2. 02维护面试题数据库
  3. 03让 Agent 访问面试题记录

MCP 相关

该 MCP 服务提供查询全部或按类别筛选面试题、保存或更新题目以及删除题目的工具。项目简介指出其通过 STDIO 通信。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP-CRUD-Interview-Question

一个基于 Spring Boot 的模型控制协议(MCP)服务,旨在管理面试题数据库。本项目利用 Spring AI 的 MCP 能力,通过工具提供对面试题数据的访问。

Spring Boot Java Spring AI

概述

本项目是一个使用 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
数据库设置
  1. 创建所需的 MySQL 数据库:
CREATE DATABASE IF NOT EXISTS mcp_interview_questions_db;
  1. 配置具有适当权限的 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 模型添加字段:

  1. 更新 InterviewQuestion.java 实体类
  2. 添加适当的 getter 和 setter
  3. 重启应用(由于设置了 spring.jpa.hibernate.ddl-auto=update,数据库架构会自动更新)

许可证

本项目为开源项目。有关许可证的详细信息,请联系仓库所有者。

联系方式

如有问题或需要支持,请联系 Michael J.G. Kopp。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。