Данные для чтения: методичка, программа дисциплины, карточка проекта. Аналог безопасного GET-запроса.
MCP своими руками
Model Context Protocol — стандарт общения между ИИ-приложением и внешним сервером. Сервер публикует строго определённые данные, действия и шаблоны, а клиент решает, когда предложить их модели.
MCP похож на учебную лабораторию с контролируемым входом
Модель не получает «доступ ко всему компьютеру». Вы создаёте маленький сервер и явно определяете, какие папки он видит, какие функции разрешены и где требуется подтверждение преподавателя.
Функции, которые можно вызвать: найти файл, проверить репозиторий, создать черновик объявления.
Повторяемые шаблоны взаимодействия: «план занятия», «разбор проекта», «вопросы к защите».
materials/, а не со всем диском.- Опишите одну задачуНапример: найти и прочитать утверждённую методичку.
- Сузьте область доступаОдна папка, один репозиторий или тестовая база.
- Определите контрактИмена, параметры, типы результата и понятные docstring.
- Добавьте проверкиЗапрет выхода из папки, лимиты размера, подтверждение записи.
- Проверьте в InspectorПосмотрите, что сервер действительно публикует клиенту.
Простой шаблон: как мыслить о MCP без программирования
До написания кода заполните мини-контракт. Если границы получаются расплывчатыми, сервер пока проектировать рано.
Название: college-materials
Пользователь: преподаватель
Цель: читать утверждённые материалы курса
RESOURCE:
material://{name}
Возвращает текст одного .md-файла
TOOL:
list_materials()
Возвращает список доступных файлов
PROMPT:
lesson_plan(topic, minutes)
Формирует инструкцию для плана занятия
ЗАПРЕЩЕНО:
выходить за пределы materials/
удалять или изменять файлы
читать персональные данные студентов
Рабочий пример на Python: FastMCP, установка и запуск
Пример использует стабильный Python SDK MCP. Он читает только Markdown-файлы из папки materials и не выполняет запись.
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"
]
}
}
}
print() в stdout — это канал протокола. Используйте stderr или логирование MCP.Что проверить перед подключением MCP к рабочим данным
- Минимальные праваНачните с чтения и добавляйте запись только под конкретный сценарий.
- Валидация параметровОграничьте пути, размеры файлов, диапазоны дат и типы операций.
- Подтверждение действийПубликация, отправка сообщений, изменение оценок и удаление требуют человека.
- Журнал операцийСохраняйте, какой tool был вызван и с какими безопасными параметрами.
Skill своими руками
Skill — это папка с инструкцией для агента. Она объясняет, когда включаться, какую последовательность соблюдать, какие материалы использовать и в каком формате отдавать результат.
Промпт
Разовая просьба в чате. Хорош для уникальной задачи, но методика легко теряется.
«Составь план занятия»MCP
Канал к данным и действиям. Он знает, как получить файл, но не обязан знать педагогическую методику.
list_materials()Skill
Повторяемый рабочий процесс. Он задаёт шаги, ограничения, формат и критерии качества.
lesson-designerreferences/, а шаблоны результата — в assets/.- Точный триггерКакие слова и задачи должны активировать skill.
- Входные данныеТема, аудитория, длительность, источники, ограничения.
- Рабочие шагиПоследовательность действий, проверки и точки согласования.
- Формат результатаСтруктура плана, таблицы, отчёта или обратной связи.
- ЗапретыНе выдумывать источники, не оценивать личность, не публиковать без подтверждения.
Минимальный шаблон SKILL.md для начинающих
--- name: lesson-designer description: Создаёт планы занятий для колледжа. Использовать, когда преподаватель просит разработать урок, практикум, сценарий занятия или адаптировать тему под учебную группу. --- # Проектирование занятия 1. Уточни тему, аудиторию, длительность и ожидаемый результат. 2. Изучи предоставленные материалы. Не выдумывай источники. 3. Сформулируй 2–4 измеримые учебные цели. 4. Построй маршрут: вход → объяснение → практика → проверка → рефлексия. 5. Добавь задания базового и повышенного уровня. 6. Верни результат в формате: - цели; - тайминг; - действия преподавателя; - действия студентов; - материалы; - проверка результата. Окончательное решение о содержании и оценивании принимает преподаватель.
Полный пример lesson-designer с проверками качества
Расширенная версия полезна, когда план занятия регулярно собирается из методических файлов через MCP.
--- name: lesson-designer description: Проектирует занятия для колледжей и кружков. Использовать для планов уроков, практикумов, мастер-классов, адаптации темы под группу и подготовки материалов преподавателя. --- # Lesson Designer ## Вход Собери или уточни: - тему и специальность; - возраст и стартовый уровень группы; - длительность; - доступное оборудование; - обязательные источники; - форму итогового результата. Если обязательных данных нет, задай не более трёх коротких вопросов. ## Процесс 1. Через разрешённый MCP получи только относящиеся к теме материалы. 2. Отдели требования программы от дополнительных идей. 3. Сформулируй измеримые цели: действие + объект + критерий. 4. Подбери одну центральную практическую задачу. 5. Построй тайминг с резервом не менее 10%. 6. Добавь формирующую проверку до итогового задания. 7. Создай базовый и усложнённый вариант. 8. Проверь соответствие целей, деятельности и оценивания. ## Формат результата ### Паспорт Тема, аудитория, длительность, оборудование. ### Цели Таблица: цель | наблюдаемый результат | способ проверки. ### Сценарий Таблица: время | преподаватель | студенты | материалы. ### Практика Условие, ожидаемый артефакт, критерии готовности. ### Риски Типичные затруднения и способы поддержки. ## Ограничения - Не придумывай нормативные требования и источники. - Не включай персональные данные студентов. - Не выставляй итоговые оценки автоматически. - Явно отмечай предположения и материалы, которых не хватило.
Как проверить, что Skill действительно полезен
Skill включается на нужных запросах и не вмешивается в нерелевантные задачи.
Для похожих входных данных структура и критерии результата остаются стабильными.
Ограничения реально влияют на поведение: источники не выдумываются, решения не публикуются автоматически.
Инструменты преподавателя
Инструмент можно использовать самостоятельно, а затем подключить к агенту через MCP или встроенную интеграцию. Выбирайте сервис не по модности, а по конкретному образовательному действию.
NotebookLM
Рабочая среда для вопросов по загруженным источникам, конспектов и обзоров.
ChatGPT, Claude, Gemini
Универсальные среды для анализа, письма, кода и работы с файлами.
GigaChat и Alice AI
Русскоязычные ИИ-сервисы для текста, идей и повседневных образовательных задач.
Google Colab
Облачные Python-ноутбуки без локальной установки окружения.
Kaggle
Датасеты, ноутбуки, примеры решений и учебные соревнования.
Hugging Face Spaces + Gradio
Публикация интерактивных демонстраций моделей и студенческих прототипов.
GitHub и GitHub Classroom
Репозитории, история изменений, Issues, Pull Requests и командная работа.
Canva и Gamma
Создание презентаций, схем, карточек и визуальных инструкций.
Kahoot, Quizizz, Forms
Викторины, входная диагностика и быстрый сбор обратной связи.
Stepik и Moodle
Курсы, задания, тестирование, дедлайны и фиксация результатов.
n8n и Make
Визуальная автоматизация процессов между формами, таблицами и сообщениями.
Локальная транскрибация
Преобразование записи занятия или защиты в текст и субтитры.
Каталог полезных 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
С подтверждениемСобственная интеграция для заданий, курсов и обезличенной аналитики.
Каталог образовательных Skills
Название skill должно отражать действие, описание — момент применения, а результат — быть проверяемым преподавателем. Ни один skill не принимает дисциплинарные или итоговые оценочные решения самостоятельно.
Для преподавателя
lesson-designerПлан занятия с целями, таймингом, практикой и проверкой понимания.
assessment-builderТесты, открытые вопросы и практические задания разных уровней.
rubric-builderИзмеримые критерии, уровни выполнения и понятная шкала.
assignment-differentiatorБазовый, стандартный и усложнённый варианты одного задания.
source-grounded-tutorОтвечает студентам только по утверждённым материалам и указывает источник.
lab-work-generatorИнструкция, стартовые данные, контрольные вопросы и критерии готовности.
feedback-writerПерсональная развивающая обратная связь по критериям, без ярлыков.
fact-checking-teacherПроверяет утверждения, ссылки и качество доказательств.
student-progress-analystИщет групповые затруднения в обезличенных результатах.
course-material-adapterМеняет сложность, примеры и объём под специальность и возраст.
inclusive-material-reviewerПроверяет ясность языка, доступность и отсутствие лишних барьеров.
academic-integrity-reviewerИщет несогласованные заимствования и вымышленные ссылки, не выносит приговор.
Для руководителя кружка по ИИ
ai-project-mentorВедёт команду от проблемы и гипотезы до прототипа и демонстрации.
project-idea-generatorПредлагает темы под возраст, время, оборудование и интересы.
dataset-curatorПроверяет происхождение, лицензию, качество и возможные смещения данных.
prompt-labСоздаёт контролируемый эксперимент по сравнению промптов.
model-comparisonФормирует единый набор задач, метрики и таблицу результатов моделей.
code-review-teacherПроверяет код педагогически: вопрос, подсказка, объяснение, затем решение.
ml-experiment-designerЗадаёт гипотезу, baseline, разбиение данных, метрики и журнал опыта.
ai-ethics-reviewerПроверяет приватность, предвзятость, прозрачность и возможный вред.
project-defense-coachГотовит вопросы, репетирует защиту и выявляет слабые доказательства.
hackathon-organizerРегламент, расписание, роли, критерии, контрольные точки и чек-листы.
student-portfolio-builderСобирает доказуемое описание проекта, роли и освоенных компетенций.
Готовые комплекты
Начинайте не с большого «универсального агента», а с одного процесса, где понятны вход, действия, проверка и полезный результат.
Подготовка занятия
Агент находит утверждённые материалы, выделяет требования и собирает план занятия. Преподаватель проверяет цели, тайминг и практику.
Проверка проекта
Агент изучает историю и код, запускает тестовый пользовательский сценарий и готовит вопросы с подсказками вместо готового решения.
Организация кружка
Регистрация попадает в таблицу, встречи планируются после подтверждения, а команды получают контрольные точки проекта.
Хакатон
Skill создаёт регламент и критерии, GitHub хранит проекты, а объявления отправляются только после просмотра организатором.
Стартовый комплект на первую неделю
- Выберите один процессНапример, подготовку плана занятия, а не «автоматизацию всей работы».
- Создайте один skill
lesson-designerс понятным форматом результата. - Подключите один источникFilesystem или Drive MCP только к отдельной папке.
- Проведите пять тестовых запросовОбычный, неполный, ошибочный, рискованный и нерелевантный.
- Исправьте методикуУточните триггер, шаги и ограничения по результатам тестов.
Безопасный запуск
MCP расширяет возможности модели, поэтому цена ошибки растёт. Удобство не должно отменять минимальные права, проверку источников и ответственность преподавателя.
- Начинайте с режима только чтениеЗапись добавляйте только после успешного тестирования конкретного сценария.
- Ограничивайте областьОтдельная папка, учебный репозиторий, тестовая база или специальный аккаунт.
- Не передавайте персональные данныеОбезличивайте работы и не помещайте оценки, контакты и медицинские сведения в открытые сервисы.
- Не храните ключи в коде и SkillИспользуйте переменные окружения и штатные механизмы авторизации.
- Требуйте подтверждение действияПеред отправкой сообщения, публикацией, изменением записи или удалением.
- Проверяйте источники и результатыИИ может неверно интерпретировать документ, код, критерий или статистику.
- Тестируйте сторонние MCP и Skills в песочницеИзучите код, опубликованные возможности, сетевые обращения и реальные права.
- Оставляйте оценочные решения преподавателюSkill может подготовить рубрику и обратную связь, но не решать судьбу студента.