mcpField
S
School Database MCP Server

School Database MCP Server

本地服务
github.com/eoinmooremath数据库073 周前更新

关于 School Database MCP Server

用于管理模拟学校数据库的演示 MCP 服务,使用 SQLite 存储数据。项目面向教学演示,将数据库工具与学生行为分类及邮件提醒结合起来。

主要功能

  1. 01查看数据库结构和表关系
  2. 02执行参数化 SELECT、INSERT 和 UPDATE 查询
  3. 03记录并分类行为备注
  4. 04检查学生行为提醒
  5. 05发送提醒邮件

适用场景

  1. 01查看模拟学校数据和数据库结构
  2. 02记录并分类学生事件
  3. 03检查行为模式是否需要提醒
  4. 04通过邮件通知相关人员

MCP 相关

通过 stdio 向 MCP 客户端提供学校数据库检查、查询、行为跟踪和提醒工具。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

School Database MCP Server

一个用于管理模拟学校数据库的 Model Context Protocol(MCP)服务,具备自动行为追踪和警报系统。

概览

此项目实现了一个学校管理系统后端,提供以下工具:

  • 管理学生和教师数据
  • 记录并分类学生行为事件
  • 带电子邮件通知的自动行为警报系统
  • 数据库查询和架构检查

该服务使用 SQLite 存储数据,并集成外部服务(如 Gmail)发送通知。

功能

核心数据库管理
  • 架构检查:获取完整的数据库结构及表关系
  • 安全查询执行:通过参数绑定执行 SELECT、INSERT 和 UPDATE 查询
  • 示例数据:查看任意表中的示例记录
行为管理工作流
  1. 添加行为记录:记录学生行为事件,并标记为待分类
  2. 大模型分类:自动将行为分类为积极、消极或中性
  3. 警报系统:监控学生是否出现令人担忧的行为模式
  4. 电子邮件通知:自动向相关人员发送警报
可用工具
  • 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
设置
  1. 克隆代码库
  2. 安装依赖项:
    pip install mcp>=1.9.2
    
  3. 运行服务:
    python school_db_mcp.py
    

用法

启动服务
python school_db_mcp.py

该服务作为 MCP 服务运行,并使用 stdio 进行通信。

示例工作流
  1. 检查数据库结构:

    {
      "tool": "get_database_schema",
      "arguments": {"include_sample_data": true}
    }
    
  2. 添加行为事件:

    {
      "tool": "add_behavior_note_pending_classification",
      "arguments": {
        "student_name": "John Doe",
        "teacher_id": 1,
        "description": "Student was disruptive during class",
        "location": "Classroom 101"
      }
    }
    
  3. 对行为进行分类:

    {
      "tool": "update_behavior_classification",
      "arguments": {
        "note_id": 1,
        "behavior_type": "negative",
        "reasoning": "Disruptive behavior affects learning environment"
      }
    }
    
  4. 检查警报:

    {
      "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

第一次接触 MCP?

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

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