Перейти к содержанию

MCP: инструменты Markdown-библиотеки

Двенадцать уроков собственного локального MCP-сервера: обнаружение, поиск, чтение ресурсов, границы доступа, подтверждение черновика и повтор запроса.

Сквозной проект — собственный локальный MCP-сервер авторской Markdown-библиотеки. Профиль: 2026-07-28, modern-only stdio, Python 3.13 и stdlib. Нет legacy initialize/session, HTTP, OAuth, SSE, subscriptions, sampling или AI-вызовов. Клиент синхронный, reader-only, не универсальный SDK.

Reader читает public; editor определяется доверенной конфигурацией процесса. Запись требует отдельного операторского одобрения точного содержимого, срока и транзакции. Черновики лежат в SQLite и не публикуются. Для реальной изоляции operator.py, его база и окружение должны быть недоступны агенту; учебная папка не создаёт границу ОС.

Нужны основы Python, JSON, функций, файлов и Markdown. Примеры не выполнялись, тесты и деплой отсутствуют; ожидаемые эффекты не выдаются за наблюдения. Полные папки lesson-NN выбираются целиком.

Последовательность результатов

Урок Результат
1. Данные и обязанности MCP-сервера Подготовить собственный корпус и разделить клиента, сервер и библиотеку.
2. MCP: JSON-RPC и обнаружение сервера Ответить на server/discover по протоколу 2026-07-28.
3. MCP: описание инструментов и проверка аргументов Опубликовать узкие schemas и проверять фактические аргументы.
4. MCP: поиск по разрешённым Markdown-документам Вернуть ограниченный набор источников в устойчивом порядке.
5. MCP: чтение документа по идентификатору Прочитать полный публичный документ без произвольного пути.
6. MCP: ошибки протокола и ошибки инструмента Различать некорректный запрос, отсутствие источника и ошибку выполнения.
7. MCP: ресурсы и устойчивые URI Добавить resources/list и resources/read для тех же источников.
8. MCP: роль сервера и доступ до поиска Применить доверенную роль процесса перед чтением и ранжированием.
9. MCP: черновик только после серверного подтверждения Проверить одноразовое подтверждение точного содержимого перед записью.
10. MCP: повтор запроса и идемпотентная запись Повторить одну операцию без второго черновика и отвергнуть иной payload.
11. MCP: клиент, который проверяет ответ сервера Связать id запроса с ответом, ограничить ожидание и завершить процесс.
12. Передача MCP-инструментов в сопровождение Описать совместимость, ограничения, данные и порядок обновления.

Скачать полные состояния. Источники и границы указаны в каждом уроке; runtime/model calls остаются not_run.