Практическое продолжение занятия 2

Инструменты,
MCP и Skills
для образования

Как превратить языковую модель в полезного помощника преподавателя: дать ей безопасный доступ к данным, описать методику работы и собрать повторяемый образовательный процесс.

Как складывается система
ИнструментСервис выполняет реальную работу
↓
MCPДаёт ИИ контролируемый доступ
↓
SkillЗадаёт методику и формат результата
↓
РезультатПлан, проверка, отчёт или проект
1

MCP своими руками

Model Context Protocol — стандарт общения между ИИ-приложением и внешним сервером. Сервер публикует строго определённые данные, действия и шаблоны, а клиент решает, когда предложить их модели.

MCP похож на учебную лабораторию с контролируемым входом

Модель не получает «доступ ко всему компьютеру». Вы создаёте маленький сервер и явно определяете, какие папки он видит, какие функции разрешены и где требуется подтверждение преподавателя.

Host + ClientClaude, Codex, IDEПоказывает инструменты модели и получает согласие пользователя
→
MCP ServerВаш адаптерПроверяет входные данные и разрешения, выполняет функцию
→
External SystemФайлы, LMS, GitHubРеальные материалы, проекты, расписание или база данных
resources

Данные для чтения: методичка, программа дисциплины, карточка проекта. Аналог безопасного GET-запроса.

tools

Функции, которые можно вызвать: найти файл, проверить репозиторий, создать черновик объявления.

prompts

Повторяемые шаблоны взаимодействия: «план занятия», «разбор проекта», «вопросы к защите».

Структура учебного MCP-сервера
college-materials-mcp/ ├── server.py # tools, resources, prompts ├── pyproject.toml # зависимость mcp[cli] ├── materials/ # только разрешённые файлы │ ├── программа.md │ └── занятие-01.md └── tests/ └── test_server.py
Граница безопасности: сервер работает только с папкой materials/, а не со всем диском.
Порядок создания
  1. Опишите одну задачуНапример: найти и прочитать утверждённую методичку.
  2. Сузьте область доступаОдна папка, один репозиторий или тестовая база.
  3. Определите контрактИмена, параметры, типы результата и понятные docstring.
  4. Добавьте проверкиЗапрет выхода из папки, лимиты размера, подтверждение записи.
  5. Проверьте в InspectorПосмотрите, что сервер действительно публикует клиенту.
Простой шаблон: как мыслить о MCP без программирования

До написания кода заполните мини-контракт. Если границы получаются расплывчатыми, сервер пока проектировать рано.

mcp-contract.txt
Название: college-materials
Пользователь: преподаватель
Цель: читать утверждённые материалы курса

RESOURCE:
  material://{name}
  Возвращает текст одного .md-файла

TOOL:
  list_materials()
  Возвращает список доступных файлов

PROMPT:
  lesson_plan(topic, minutes)
  Формирует инструкцию для плана занятия

ЗАПРЕЩЕНО:
  выходить за пределы materials/
  удалять или изменять файлы
  читать персональные данные студентов
Рабочий пример на Python: FastMCP, установка и запуск

Пример использует стабильный Python SDK MCP. Он читает только Markdown-файлы из папки materials и не выполняет запись.

server.py
from pathlib import Path

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("college-materials")
MATERIALS = (Path(__file__).parent / "materials").resolve()


def safe_file(name: str) -> Path:
    """Разрешить только .md-файлы внутри materials/."""
    candidate = (MATERIALS / name).resolve()
    if MATERIALS not in candidate.parents:
        raise ValueError("Файл находится вне разрешённой папки")
    if candidate.suffix.lower() != ".md":
        raise ValueError("Разрешены только Markdown-файлы")
    if not candidate.is_file():
        raise FileNotFoundError(name)
    return candidate


@mcp.resource("material://{name}")
def read_material(name: str) -> str:
    """Прочитать один утверждённый учебный материал."""
    return safe_file(name).read_text(encoding="utf-8")


@mcp.tool()
def list_materials() -> list[str]:
    """Показать доступные методические материалы."""
    return sorted(path.name for path in MATERIALS.glob("*.md"))


@mcp.prompt(title="План занятия")
def lesson_plan(topic: str, minutes: int = 90) -> str:
    """Создать инструкцию для проектирования занятия."""
    return (
        f"Составь план занятия по теме «{topic}» на {minutes} минут. "
        "Используй только материалы MCP. Добавь цели, практику, "
        "контроль понимания и критерии результата."
    )


if __name__ == "__main__":
    mcp.run(transport="stdio")
Терминал
uv init college-materials-mcp
cd college-materials-mcp
uv add "mcp[cli]"
mkdir materials
uv run server.py
Конфигурация клиента
{
  "mcpServers": {
    "college-materials": {
      "command": "uv",
      "args": [
        "--directory",
        "/полный/путь/college-materials-mcp",
        "run",
        "server.py"
      ]
    }
  }
}
Важно для STDIO: не выводите отладочные сообщения через print() в stdout — это канал протокола. Используйте stderr или логирование MCP.
Что проверить перед подключением MCP к рабочим данным
  1. Минимальные праваНачните с чтения и добавляйте запись только под конкретный сценарий.
  2. Валидация параметровОграничьте пути, размеры файлов, диапазоны дат и типы операций.
  3. Подтверждение действийПубликация, отправка сообщений, изменение оценок и удаление требуют человека.
  4. Журнал операцийСохраняйте, какой tool был вызван и с какими безопасными параметрами.
2

Skill своими руками

Skill — это папка с инструкцией для агента. Она объясняет, когда включаться, какую последовательность соблюдать, какие материалы использовать и в каком формате отдавать результат.

Промпт

Разовая просьба в чате. Хорош для уникальной задачи, но методика легко теряется.

«Составь план занятия»

MCP

Канал к данным и действиям. Он знает, как получить файл, но не обязан знать педагогическую методику.

list_materials()

Skill

Повторяемый рабочий процесс. Он задаёт шаги, ограничения, формат и критерии качества.

lesson-designer
Всегда видноname + descriptionПо описанию агент понимает, когда skill подходит
→
После срабатыванияSKILL.mdОсновная последовательность работы и правила результата
→
При необходимостиreferences / scripts / assetsМетодики, автоматизация и шаблоны документов
Структура папки Skill
lesson-designer/ ├── SKILL.md # обязательный файл ├── references/ │ ├── blooms-taxonomy.md │ └── lesson-patterns.md ├── scripts/ │ └── validate_plan.py └── assets/ └── lesson-template.docx
Добавляйте только то, что реально помогает повторяемой работе. Большие справочники держите в references/, а шаблоны результата — в assets/.
Что писать в SKILL.md
  1. Точный триггерКакие слова и задачи должны активировать skill.
  2. Входные данныеТема, аудитория, длительность, источники, ограничения.
  3. Рабочие шагиПоследовательность действий, проверки и точки согласования.
  4. Формат результатаСтруктура плана, таблицы, отчёта или обратной связи.
  5. ЗапретыНе выдумывать источники, не оценивать личность, не публиковать без подтверждения.
Минимальный шаблон SKILL.md для начинающих
SKILL.md
---
name: lesson-designer
description: Создаёт планы занятий для колледжа. Использовать,
  когда преподаватель просит разработать урок, практикум,
  сценарий занятия или адаптировать тему под учебную группу.
---

# Проектирование занятия

1. Уточни тему, аудиторию, длительность и ожидаемый результат.
2. Изучи предоставленные материалы. Не выдумывай источники.
3. Сформулируй 2–4 измеримые учебные цели.
4. Построй маршрут: вход → объяснение → практика → проверка → рефлексия.
5. Добавь задания базового и повышенного уровня.
6. Верни результат в формате:
   - цели;
   - тайминг;
   - действия преподавателя;
   - действия студентов;
   - материалы;
   - проверка результата.

Окончательное решение о содержании и оценивании принимает преподаватель.
Главная строка — description. Она должна одновременно объяснять, что делает skill и когда его следует использовать.
Полный пример lesson-designer с проверками качества

Расширенная версия полезна, когда план занятия регулярно собирается из методических файлов через MCP.

lesson-designer/SKILL.md
---
name: lesson-designer
description: Проектирует занятия для колледжей и кружков.
  Использовать для планов уроков, практикумов, мастер-классов,
  адаптации темы под группу и подготовки материалов преподавателя.
---

# Lesson Designer

## Вход

Собери или уточни:
- тему и специальность;
- возраст и стартовый уровень группы;
- длительность;
- доступное оборудование;
- обязательные источники;
- форму итогового результата.

Если обязательных данных нет, задай не более трёх коротких вопросов.

## Процесс

1. Через разрешённый MCP получи только относящиеся к теме материалы.
2. Отдели требования программы от дополнительных идей.
3. Сформулируй измеримые цели: действие + объект + критерий.
4. Подбери одну центральную практическую задачу.
5. Построй тайминг с резервом не менее 10%.
6. Добавь формирующую проверку до итогового задания.
7. Создай базовый и усложнённый вариант.
8. Проверь соответствие целей, деятельности и оценивания.

## Формат результата

### Паспорт
Тема, аудитория, длительность, оборудование.

### Цели
Таблица: цель | наблюдаемый результат | способ проверки.

### Сценарий
Таблица: время | преподаватель | студенты | материалы.

### Практика
Условие, ожидаемый артефакт, критерии готовности.

### Риски
Типичные затруднения и способы поддержки.

## Ограничения

- Не придумывай нормативные требования и источники.
- Не включай персональные данные студентов.
- Не выставляй итоговые оценки автоматически.
- Явно отмечай предположения и материалы, которых не хватило.
Как проверить, что Skill действительно полезен
Trigger

Skill включается на нужных запросах и не вмешивается в нерелевантные задачи.

Repeatability

Для похожих входных данных структура и критерии результата остаются стабильными.

Guardrails

Ограничения реально влияют на поведение: источники не выдумываются, решения не публикуются автоматически.

3

Инструменты преподавателя

Инструмент можно использовать самостоятельно, а затем подключить к агенту через MCP или встроенную интеграцию. Выбирайте сервис не по модности, а по конкретному образовательному действию.

NL

NotebookLM

Рабочая среда для вопросов по загруженным источникам, конспектов и обзоров.

Как использовать: загрузить методички курса и подготовить вопросы, тезисы и аудиообзор только по ним.
LLM

ChatGPT, Claude, Gemini

Универсальные среды для анализа, письма, кода и работы с файлами.

Как использовать: проектировать занятие, адаптировать объяснение и создавать черновики критериев.
RU

GigaChat и Alice AI

Русскоязычные ИИ-сервисы для текста, идей и повседневных образовательных задач.

Как использовать: сравнить ответы разных моделей и обсудить особенности формулировок.
Py

Google Colab

Облачные Python-ноутбуки без локальной установки окружения.

Как использовать: провести практикум по данным или ML на одинаковом шаблоне для всей группы.
KG

Kaggle

Датасеты, ноутбуки, примеры решений и учебные соревнования.

Как использовать: выбрать открытый датасет и провести мини-соревнование кружка.
HF

Hugging Face Spaces + Gradio

Публикация интерактивных демонстраций моделей и студенческих прототипов.

Как использовать: превратить проект команды в доступную по ссылке демонстрацию.
GH

GitHub и GitHub Classroom

Репозитории, история изменений, Issues, Pull Requests и командная работа.

Как использовать: видеть вклад участников и обсуждать улучшения кода через ревью.
CV

Canva и Gamma

Создание презентаций, схем, карточек и визуальных инструкций.

Как использовать: собрать наглядный маршрут лабораторной работы или защиту проекта.
QZ

Kahoot, Quizizz, Forms

Викторины, входная диагностика и быстрый сбор обратной связи.

Как использовать: проверить понимание до практики и скорректировать темп занятия.
LMS

Stepik и Moodle

Курсы, задания, тестирование, дедлайны и фиксация результатов.

Как использовать: выстроить самостоятельный маршрут между очными встречами.
WF

n8n и Make

Визуальная автоматизация процессов между формами, таблицами и сообщениями.

Как использовать: регистрация → таблица → письмо → напоминание без ручного переноса данных.
TR

Локальная транскрибация

Преобразование записи занятия или защиты в текст и субтитры.

Как использовать: создать конспект встречи и список решений без передачи записи во внешний сервис.
4

Каталог полезных MCP

Уровень доступа — часть педагогического дизайна. Чтение подходит для первых экспериментов, запись требует подтверждения, а браузерные и кодовые действия лучше выполнять в песочнице.

Правило старта:сначала подключите один MCP в режиме только чтения и проверьте журнал вызовов на нескольких учебных запросах.

Filesystem MCP

Только чтение

Доступ к выделенной папке с методичками, шаблонами и обезличенными работами.

Найди материалы по теме «эмбеддинги» и составь карту занятия.

Google Drive MCP

Только чтение

Поиск документов и сбор информации из общей папки команды.

Собери сводку решений из протоколов последних трёх встреч.

GitHub MCP

Только чтение

Репозитории, Issues, Pull Requests, история и содержимое студенческих проектов.

Объясни архитектуру проекта и подготовь вопросы к защите.

Git MCP

Только чтение

Локальная история изменений без обязательной публикации проекта в облако.

Сравни две версии и объясни, какие ошибки исправила команда.

Fetch / Search MCP

Только чтение

Получение веб-страниц и поиск актуальных первичных источников.

Найди официальную документацию библиотеки и проверь пример кода.

Playwright MCP

Песочница

Открытие сайта, заполнение форм, проверка интерфейса и создание скриншотов.

Пройди сценарий регистрации в тестовой версии сайта и опиши ошибки.

PostgreSQL / SQLite MCP

Только чтение

Безопасные запросы к учебной базе и объяснение структуры данных.

Покажи динамику выполнения заданий без имён студентов.

Memory MCP

С подтверждением

Хранение решений, терминов и состояния длительного проекта кружка.

Запомни утверждённые роли команды и следующий контрольный срок.

Calendar MCP

С подтверждением

Чтение расписания и создание консультаций, защит и дедлайнов.

Найди свободное окно и подготовь событие, но не создавай без подтверждения.

Telegram / Slack MCP

С подтверждением

Сводки обсуждений и подготовка объявлений для группы или кружка.

Сделай черновик дайджеста недели и покажи перед отправкой.

n8n MCP

С подтверждением

Запуск заранее собранных автоматизаций из ИИ-клиента.

Запусти сценарий напоминаний только после показа списка получателей.

Moodle / Stepik MCP

С подтверждением

Собственная интеграция для заданий, курсов и обезличенной аналитики.

Подготовь черновик обратной связи по типичным ошибкам группы.
5

Каталог образовательных Skills

Название skill должно отражать действие, описание — момент применения, а результат — быть проверяемым преподавателем. Ни один skill не принимает дисциплинарные или итоговые оценочные решения самостоятельно.

Для преподавателя

lesson-designer

План занятия с целями, таймингом, практикой и проверкой понимания.

«Создай 90-минутное занятие по RAG для второго курса».
assessment-builder

Тесты, открытые вопросы и практические задания разных уровней.

«Подготовь входную и итоговую диагностику по Python».
rubric-builder

Измеримые критерии, уровни выполнения и понятная шкала.

«Создай рубрику защиты чат-бота на 20 баллов».
assignment-differentiator

Базовый, стандартный и усложнённый варианты одного задания.

«Адаптируй лабораторную для трёх уровней подготовки».
source-grounded-tutor

Отвечает студентам только по утверждённым материалам и указывает источник.

«Объясни тему по нашей методичке, не добавляя внешние факты».
lab-work-generator

Инструкция, стартовые данные, контрольные вопросы и критерии готовности.

«Создай лабораторную по сравнению Top-P и Temperature».
feedback-writer

Персональная развивающая обратная связь по критериям, без ярлыков.

«Сформулируй обратную связь по этому отчёту и рубрике».
fact-checking-teacher

Проверяет утверждения, ссылки и качество доказательств.

«Отметь неподтверждённые тезисы в презентации команды».
student-progress-analyst

Ищет групповые затруднения в обезличенных результатах.

«Какие темы стоит повторить по итогам теста?»
course-material-adapter

Меняет сложность, примеры и объём под специальность и возраст.

«Адаптируй тему API для студентов-медиков».
inclusive-material-reviewer

Проверяет ясность языка, доступность и отсутствие лишних барьеров.

«Проверь инструкцию для студентов с разным стартовым уровнем».
academic-integrity-reviewer

Ищет несогласованные заимствования и вымышленные ссылки, не выносит приговор.

«Подготовь вопросы преподавателю для ручной проверки отчёта».

Для руководителя кружка по ИИ

ai-project-mentor

Ведёт команду от проблемы и гипотезы до прототипа и демонстрации.

«Помоги разбить проект на недельные итерации».
project-idea-generator

Предлагает темы под возраст, время, оборудование и интересы.

«Дай пять проектов на 4 недели без GPU».
dataset-curator

Проверяет происхождение, лицензию, качество и возможные смещения данных.

«Сравни три датасета для классификации изображений».
prompt-lab

Создаёт контролируемый эксперимент по сравнению промптов.

«Спроектируй опыт с zero-shot и few-shot».
model-comparison

Формирует единый набор задач, метрики и таблицу результатов моделей.

«Сравни локальные модели на наших вопросах».
code-review-teacher

Проверяет код педагогически: вопрос, подсказка, объяснение, затем решение.

«Сделай ревью без выдачи готового исправления».
ml-experiment-designer

Задаёт гипотезу, baseline, разбиение данных, метрики и журнал опыта.

«Спроектируй сравнение двух классификаторов».
ai-ethics-reviewer

Проверяет приватность, предвзятость, прозрачность и возможный вред.

«Проведи этический разбор системы рекомендаций».
project-defense-coach

Готовит вопросы, репетирует защиту и выявляет слабые доказательства.

«Проведи пробную защиту по GitHub-репозиторию».
hackathon-organizer

Регламент, расписание, роли, критерии, контрольные точки и чек-листы.

«Подготовь однодневный хакатон для шести команд».
student-portfolio-builder

Собирает доказуемое описание проекта, роли и освоенных компетенций.

«Создай карточку проекта по README и истории коммитов».
6

Готовые комплекты

Начинайте не с большого «универсального агента», а с одного процесса, где понятны вход, действия, проверка и полезный результат.

Комплект 01

Подготовка занятия

NotebookLMDrive MCP · чтениеlesson-designer

Агент находит утверждённые материалы, выделяет требования и собирает план занятия. Преподаватель проверяет цели, тайминг и практику.

Комплект 02

Проверка проекта

GitHubGitHub + Playwright MCPcode-review-teacher

Агент изучает историю и код, запускает тестовый пользовательский сценарий и готовит вопросы с подсказками вместо готового решения.

Комплект 03

Организация кружка

Forms + n8nCalendar MCPai-project-mentor

Регистрация попадает в таблицу, встречи планируются после подтверждения, а команды получают контрольные точки проекта.

Комплект 04

Хакатон

GitHub ClassroomTelegram MCPhackathon-organizer

Skill создаёт регламент и критерии, GitHub хранит проекты, а объявления отправляются только после просмотра организатором.

Стартовый комплект на первую неделю
  1. Выберите один процессНапример, подготовку плана занятия, а не «автоматизацию всей работы».
  2. Создайте один skilllesson-designer с понятным форматом результата.
  3. Подключите один источникFilesystem или Drive MCP только к отдельной папке.
  4. Проведите пять тестовых запросовОбычный, неполный, ошибочный, рискованный и нерелевантный.
  5. Исправьте методикуУточните триггер, шаги и ограничения по результатам тестов.
7

Безопасный запуск

MCP расширяет возможности модели, поэтому цена ошибки растёт. Удобство не должно отменять минимальные права, проверку источников и ответственность преподавателя.

  • Начинайте с режима только чтениеЗапись добавляйте только после успешного тестирования конкретного сценария.
  • Ограничивайте областьОтдельная папка, учебный репозиторий, тестовая база или специальный аккаунт.
  • Не передавайте персональные данныеОбезличивайте работы и не помещайте оценки, контакты и медицинские сведения в открытые сервисы.
  • Не храните ключи в коде и SkillИспользуйте переменные окружения и штатные механизмы авторизации.
  • Требуйте подтверждение действияПеред отправкой сообщения, публикацией, изменением записи или удалением.
  • Проверяйте источники и результатыИИ может неверно интерпретировать документ, код, критерий или статистику.
  • Тестируйте сторонние MCP и Skills в песочницеИзучите код, опубликованные возможности, сетевые обращения и реальные права.
  • Оставляйте оценочные решения преподавателюSkill может подготовить рубрику и обратную связь, но не решать судьбу студента.

Официальные материалы для продолжения