Skip to main content
Glama
Felixlyf0913

Student Management MCP Prototype

by Felixlyf0913

Прототип MCP для управления студентами

Цель

Для сценария «Профиль роста студента и замкнутый цикл активной помощи» предоставляется набор MCP-инструментов, интегрированных с платформой интеллектуальных агентов, позволяющих агенту запрашивать профили студентов, отбирать списки для внимания, создавать и отслеживать задачи помощи, записывать данные о помощи, формировать панель класса и интегрироваться с группами DingTalk.

Related MCP server: MCP-Server-CollageAI

Ключевые особенности

  • Переход от «управления студентами в формате вопрос-ответ» к «активному выявлению на основе данных».

  • Объединение посещаемости, успеваемости, отзывов из общежитий, практических занятий, статуса финансовой поддержки и записей бесед в единый профиль роста студента.

  • Поддержка формирования списка «требуют внимания сегодня», что отражает переход от пассивного реагирования к активному предупреждению.

  • Поддержка записи данных о помощи, формирующая замкнутый цикл «выявление проблемы — предложение решения — реализация и отслеживание — запись результатов».

  • Возможность генерации данных панели класса, подходящих для демонстрации на конкурсе.

Список инструментов

Инструмент

Назначение

get_student_profile

Запрос профиля роста студента по номеру или имени

list_attention_students

Отбор списка студентов со средним/высоким уровнем внимания

create_followup_record

Запись беседы или данных о помощи

create_student_support_task

Создание задачи помощи на основе профиля, возможность отправки в группу кураторов по явному запросу

update_student_support_task

Обновление статуса и прогресса задачи, синхронизация с записями помощи

list_student_support_tasks

Запрос задач: в работе, просроченных и завершённых

get_support_task_audit

Запрос журнала аудита создания задач и изменения статусов

get_system_readiness

Проверка только на чтение: хранилище, данные задач и конфигурация DingTalk

get_class_dashboard

Генерация данных панели состояния класса

get_data_ingestion_status

Отображение статуса загрузки файлов Word/Excel/PDF и статистики записей

get_student_growth_timeline

Запрос временной шкалы: посещаемость, практика, рекомендации, беседы, задачи и предупреждения

get_class_operational_records

Запрос динамических журналов класса и обзора управления

list_followup_reminders

Запрос напоминаний о повторных визитах, приближающихся к сроку или просроченных

generate_and_send_class_weekly_report

Генерация анонимного еженедельного отчёта класса и отправка в рабочую группу преподавателей

get_training_room_availability

Проверка конфликтов расписания или бронирования для указанной аудитории в заданный период

list_available_training_rooms

Фильтрация доступных аудиторий по дате, времени, вместимости и оборудованию

get_class_training_schedule

Запрос расписания практических занятий и информации о помещениях

get_equipment_repair_status

Запрос неисправного оборудования, заявок на ремонт и ожидаемого статуса обработки

Локальный запуск

cd D:\教育信息技术应用大赛\学生管理MCP原型
python -m uvicorn student_management_mcp_api:app --host 127.0.0.1 --port 8765

Для публичного развёртывания и платформы интеллектуальных агентов используется student_management_mcp_sse:app; для локальной проверки можно запустить:

python -m uvicorn student_management_mcp_sse:app --host 127.0.0.1 --port 8000

Постоянное хранение данных

  • При настройке DATABASE_URL используется PostgreSQL; исходные данные, задачи, записи помощи и журналы аудита сохраняются между развёртываниями на Render.

  • Если не настроено, автоматически используется локальная SQLite база .data/student_management.db, подходящая для разработки и тестирования, но при повторном развёртывании на Render данные могут быть потеряны.

  • При первом включении базы данных автоматически переносятся базовые данные из followup_records.json и support_tasks.json.

  • При первом развёртывании также считываются 5 файлов Excel, 1 Word и 1 PDF из 演示业务源文件; данные о списках для конкурса, посещаемости и успеваемости, практике, рекомендациях, беседах, задачах и расписании аудиторий нормализуются и записываются в базу; в дальнейшем новые беседы и задачи, добавленные через MCP, продолжают накапливаться.

  • Проверка здоровья /health возвращает тип хранилища и количество записей, но не возвращает адрес базы данных или секреты DingTalk.

Пример переменной подключения PostgreSQL:

DATABASE_URL=postgresql://用户名:密码@主机:5432/数据库名

Поддержка демонстрационных данных

Все файлы в 演示业务源文件 — это имитационные данные для конкурса и не соответствуют реальным лицам. Рекомендуемая основная линия для записи экрана:

工作人员维护 Excel / Word / PDF 台账
  -> 服务自动解析并入库 PostgreSQL
  -> 班级态势与学生成长时间线
  -> 生成帮扶任务并回写谈话记录
  -> 按期复访提醒与任务审计
  -> 按日期、时段、容量和设备条件查询可用实训室

Сначала можно вызвать get_data_ingestion_status для отображения файлов, количества загруженных данных и цепочки данных, а затем вызывать контролируемые запросы по ролям:

  • get_authorized_student_growth_timeline: студент — только свои данные, классный руководитель и куратор — только для авторизованных классов.

  • get_authorized_class_operational_records: классный руководитель и куратор видят динамику авторизованных классов, административный персонал — только анонимную агрегацию.

  • list_authorized_followup_reminders: классный руководитель и куратор видят задачи повторных визитов в пределах своих полномочий.

Восстановление базовых данных:

python demo_data_maintenance.py --mode baseline --confirm RESET-DEMO-DATA

Генерация двух фиксированных демонстрационных задач:

python demo_data_maintenance.py --mode sample --confirm RESET-DEMO-DATA

Этот скрипт очищает текущие задачи и журнал аудита, поэтому его разрешено использовать только обслуживающему персоналу на этапе подготовки к записи экрана; он не является MCP-инструментом и не отправляет сообщения в DingTalk.

Примеры вызовов

Запрос профиля студента:

{
  "tool": "get_student_profile",
  "arguments": {
    "query": "S004"
  }
}

Запрос списка требующих внимания:

{
  "tool": "list_attention_students",
  "arguments": {}
}

Запись данных о помощи:

{
  "tool": "create_followup_record",
  "arguments": {
    "student_id": "S002",
    "owner": "辅导员",
    "summary": "已完成首次谈心,学生反馈近期课程压力较大,实训日志补交意识不足。",
    "next_action": "联系实训指导教师确认补交要求,三天后复访。",
    "status": "跟进中"
  }
}

Генерация панели класса:

{
  "tool": "get_class_dashboard",
  "arguments": {
    "class_name": "智能制造2401"
  }
}

Создание задачи помощи (по умолчанию без отправки):

{
  "tool": "create_student_support_task",
  "arguments": {
    "student_query": "S004",
    "owner": "辅导员",
    "due_date": "2026-07-18",
    "push_to_dingtalk": false
  }
}

Завершение задачи и синхронизация записи помощи:

{
  "tool": "update_student_support_task",
  "arguments": {
    "task_id": "任务编号",
    "status": "已完成",
    "progress_note": "已完成线下谈心。",
    "next_action": "联系任课教师并于一周后复访。",
    "sync_followup": true
  }
}

Рекомендации по интеграции с платформой

Платформа поддерживает два способа подключения:

  1. Создание MCP-сервиса вручную

    • Имя сервиса

    • Описание

    • Тип подключения: sse

    • Адрес интерфейса

    • Настройка заголовков

    • Нажмите «Проверить подключение»

  2. Импорт из JSON

    • Формат: mcpServers

    • Пример: mcp_servers.example.json

Текущий SSE MCP-сервис развёрнут на Render; платформа обнаруживает и вызывает инструменты через адрес /sse. Локальный адрес 127.0.0.1 используется только для разработки и проверки и не может быть публичным адресом для платформы.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides tools for querying student academic data such as subjects, marks, performance reports, timetable, exams, fees, events, holidays, and assignments via natural language.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides MCP tools for searching student profiles, viewing marks/attendance, and finding low-attendance students. Enables AI assistants like Gemini to interact with college student data through natural language.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to query a simulated school database for student marks, top rankers, class statistics, enrollment records, awards policy, and school rules via MCP tools, resources, and prompts.
    -