关于 School Database MCP Server
用于管理模拟学校数据库的演示 MCP 服务,使用 SQLite 存储数据。项目面向教学演示,将数据库工具与学生行为分类及邮件提醒结合起来。
主要功能
- 01查看数据库结构和表关系
- 02执行参数化 SELECT、INSERT 和 UPDATE 查询
- 03记录并分类行为备注
- 04检查学生行为提醒
- 05发送提醒邮件
适用场景
- 01查看模拟学校数据和数据库结构
- 02记录并分类学生事件
- 03检查行为模式是否需要提醒
- 04通过邮件通知相关人员
MCP 相关
通过 stdio 向 MCP 客户端提供学校数据库检查、查询、行为跟踪和提醒工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
School Database MCP Server
一个用于管理模拟学校数据库的 Model Context Protocol(MCP)服务,具备自动行为追踪和警报系统。
概览
此项目实现了一个学校管理系统后端,提供以下工具:
- 管理学生和教师数据
- 记录并分类学生行为事件
- 带电子邮件通知的自动行为警报系统
- 数据库查询和架构检查
该服务使用 SQLite 存储数据,并集成外部服务(如 Gmail)发送通知。
功能
核心数据库管理
- 架构检查:获取完整的数据库结构及表关系
- 安全查询执行:通过参数绑定执行 SELECT、INSERT 和 UPDATE 查询
- 示例数据:查看任意表中的示例记录
行为管理工作流
- 添加行为记录:记录学生行为事件,并标记为待分类
- 大模型分类:自动将行为分类为积极、消极或中性
- 警报系统:监控学生是否出现令人担忧的行为模式
- 电子邮件通知:自动向相关人员发送警报
可用工具
get_database_schema- 检查数据库结构和关系execute_query- 安全地运行 SQL 查询add_behavior_note_pending_classification- 记录新的行为事件update_behavior_classification- 经大模型分析后对行为进行分类get_pending_classifications- 列出尚未分类的行为记录check_student_alerts_enhanced- 检查学生是否需要行为警报send_behavior_alert_email_immediately- 发送自动电子邮件警报
数据库架构
系统包含以下表:
- 学生:学生信息和联系方式
- 教师:教师信息
- 行为记录:包含分类和警报信息的事件记录
- 班级:课程和选课信息
- 成绩:学业表现追踪
安装
先决条件
- Python 3.12+
- SQLite3
设置
- 克隆代码库
- 安装依赖项:
pip install mcp>=1.9.2 - 运行服务:
python school_db_mcp.py
用法
启动服务
python school_db_mcp.py
该服务作为 MCP 服务运行,并使用 stdio 进行通信。
示例工作流
-
检查数据库结构:
{ "tool": "get_database_schema", "arguments": {"include_sample_data": true} } -
添加行为事件:
{ "tool": "add_behavior_note_pending_classification", "arguments": { "student_name": "John Doe", "teacher_id": 1, "description": "Student was disruptive during class", "location": "Classroom 101" } } -
对行为进行分类:
{ "tool": "update_behavior_classification", "arguments": { "note_id": 1, "behavior_type": "negative", "reasoning": "Disruptive behavior affects learning environment" } } -
检查警报:
{ "tool": "check_student_alerts_enhanced", "arguments": { "student_id": 123, "days_back": 7 } }
安全功能
- 查询清理:仅允许 SELECT、INSERT 和 UPDATE 查询
- 参数绑定:防止 SQL 注入攻击
- 输入验证:处理前验证所有工具输入
集成
此服务旨在与以下系统配合使用:
- Gmail MCP Server:发送行为警报电子邮件
- 大模型系统:自动对行为进行分类
- 学校管理系统:作为后端数据服务
开发
项目结构
school-db-server/
├── school_db_mcp.py # Main server implementation
├── pyproject.toml # Project configuration
├── README.md # This file
└── school_data # SQLite database file (created on first run)
关键类
SchoolDatabaseMCP:负责处理 MCP 协议的主服务类- 数据库操作使用 SQLite,并通过 row factory 支持类似字典的访问方式
- 所有工具操作均采用 Async/await 模式
说明
- 这是一个展示 MCP 服务开发的演示/示例项目
- 使用模拟数据用于教育目的
- 旨在与更大型系统中的其他 MCP 服务集成
- 包含完善的错误处理和日志记录
许可证
此项目用于教育和演示目的。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。