Версионирование инструментов и схем
Развивайте сервер, не нарушая работу клиентов.
«Версионирование инструментов и схем» — бесплатный урок MCP Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MCP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MCP Academy содержит 4 уроков всего.
Клиенты зависят от формы Ваших данных
После подключения другие пользователи полагаются на имена Ваших инструментов и форму аргументов. Неосторожное изменение этих элементов сразу ломает всех клиентов.
Добавочные изменения безопасны
Добавление необязательного параметра со значением по умолчанию сохраняет работоспособность старых вызывающих сторон. Они просто не передают новое поле и не используют его.
def search(q: str, limit: int = 10) -> list:
...Ломающие изменения болезненны
Переименование инструмента, удаление аргумента или превращение аргумента в обязательный параметр — это ломающие изменения. Существующие клиенты внезапно начинают отправлять вызовы, которые больше не соответствуют интерфейсу.
Сначала добавляйте, затем объявляйте устаревшим
Чтобы развивать поле, добавьте новое и сохраните старое. Пометьте старое как устаревшее в его описании, чтобы вызывающие стороны знали, что его нужно заменить.
Версия в имени инструмента
При настоящем ломающем изменении выпустите инструмент v2 рядом с v1. Некоторое время оба будут работать, позволяя клиентам переходить на новую версию в удобном для них темпе.
@mcp.tool(name="search_v2")
def search_v2(query: str) -> list:
...Сервер сообщает свою версию
Во время рукопожатия сервер сообщает своё имя и версию. Увеличивайте номер версии, чтобы клиенты могли видеть, к какому выпуску они подключились.
mcp = FastMCP("my-server")
# version surfaces in server infoСледуйте семантическому версионированию
Используйте semver: увеличивайте номер исправления для исправлений, минорный номер — для добавочных возможностей, а мажорный — при ломающем изменении. Номер рассказывает историю.
Расширяйте результаты, не сужайте их
Добавление поля в результат обычно безопасно, а удаление — ломающая операция. Считайте схему выходных данных обещанием, которое клиенты разбирают.
Ведите журнал изменений
Записывайте каждое изменение инструмента и схемы в журнале изменений. Пользователи, выполняющие обновление, должны видеть, что изменилось, что добавилось и что исчезло.
Назначайте дату удаления устаревших компонентов
Сообщайте, когда старый инструмент будет удалён. Чёткая дата удаления стимулирует переход, не лишая никого поддержки внезапно.
Тестируйте со старыми клиентами
Перед выпуском запускайте свои тесты так, как старый клиент вызывал бы ваш сервер. Это позволяет обнаружить случайные несовместимости, которых не видит проверка типов.
Быстрая проверка
Какое изменение существующего инструмента безопасно для текущих клиентов?
Итоги: безопасное развитие
Предпочитайте добавочные изменения, объявляйте компоненты устаревшими до их удаления, выпускайте v2 при настоящих ломающих изменениях, следуйте semver и ведите журнал изменений. Вы сможете выпускать обновления уверенно! 🚀
Изучай Python с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Версионирование инструментов и схем» бесплатный?
Да — полный текст урока «Версионирование инструментов и схем» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MCP Academy, подпишись на CoddyKit PRO. Курс MCP Academy содержит 4 уроков всего.
Чему я научусь в уроке «Версионирование инструментов и схем»?
Развивайте сервер, не нарушая работу клиентов. Ты практикуешь MCP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать MCP Academy?
Предыдущий опыт не требуется. MCP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Версионирование инструментов и схем»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке MCP Academy?
Да. Каждый урок MCP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Многоуровневая архитектура сервера
- Конфигурация и секреты через окружение
- Идемпотентные инструменты с учётом побочных эффектов
- Версионирование инструментов и схем