Тестирование, проверка и усиление защиты
Проверьте сервер с помощью Inspector и ограничьте доступ.
«Тестирование, проверка и усиление защиты» — бесплатный урок MCP Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MCP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MCP Academy содержит 4 уроков всего.
От работающего к надёжному
Ваш сервер работает, но готов ли он к реальному использованию? Теперь вы тестируете, проверяете и укрепляете его, чтобы он справлялся с нагрузкой и некорректными входными данными. 🛡️
Сначала выполните дымовой тест
Начните с быстрой дымовой проверки: запускается ли сервер и перечисляет ли инструменты без ошибок? Раннее обнаружение неисправного запуска сэкономит часы недоумений.
Откройте инспектор
Запустите инспектор MCP командой для разработки. Он предоставляет визуальную панель, где можно вручную проверить каждый инструмент, ресурс и prompt.
# In your project folder:
# uv run mcp dev server.pyПроверьте каждый инструмент
В инспекторе вызовите каждый tool с тестовыми входными данными. Просмотр результата в реальном времени подтверждает правильность связей ещё до подключения клиента ИИ.
Прочитайте resource
Попробуйте получить resource по его URI в инспекторе. Если возвращается нужная заметка, переменная пути и логика чтения работают правильно.
Проверьте неправильный путь
Передайте каждому инструменту явно некорректные входные данные: пустые строки, огромные числа, пропущенные поля. Надёжный сервер отвечает понятной ошибкой, а не аварийно завершается.
Возвращайте ошибки, а не трассировки стека
Оберните рискованные операции и выдавайте понятное сообщение. Модель может прочитать дружественную error и восстановиться, а необработанная трассировка лишь запутает её.
@mcp.tool()
def get_note(note_id: int) -> str:
if note_id < 1:
raise ValueError("note_id must be a positive integer")
return read(note_id)Проверяйте до выполнения действий
Проверяйте аргументы в начале каждого инструмента. Отклонение некорректных значений на раннем этапе защищает серверный компонент и делает сообщения об ошибках точными и полезными.
Применяйте минимальные привилегии
Давайте каждому инструменту только действительно необходимый доступ. Минимальные привилегии означают, что инструмент поиска может читать, но не удалять, уменьшая возможный ущерб.
Защитите разрушающие действия
Для необратимых действий требуйте явного флага или подтверждения. Защита удаления не позволит поспешному вызову модели стереть реальные данные. ⚠️
@mcp.tool()
def delete_note(note_id: int, confirm: bool = False) -> str:
if not confirm:
return "Set confirm=True to delete."
remove(note_id)
return "Deleted."Добавьте автоматические тесты
Напишите несколько случаев pytest, которые вызывают ваши функции напрямую. Автоматические проверки позволяют позднее менять код и сразу видеть, что ничего не сломалось.
Быстрая проверка
Проверим идею укрепления сервера.
Итоги
Вы тестировали с помощью инспектора, проверяли входные данные, применяли минимальные привилегии и защищали разрушающие действия. Теперь ваш сервер готов к реальному миру. 🎯
Часто задаваемые вопросы
Урок «Тестирование, проверка и усиление защиты» бесплатный?
Да — полный текст урока «Тестирование, проверка и усиление защиты» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MCP Academy, подпишись на CoddyKit PRO. Курс MCP Academy содержит 4 уроков всего.
Чему я научусь в уроке «Тестирование, проверка и усиление защиты»?
Проверьте сервер с помощью Inspector и ограничьте доступ. Ты практикуешь MCP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать MCP Academy?
Предыдущий опыт не требуется. MCP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Тестирование, проверка и усиление защиты»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке MCP Academy?
Да. Каждый урок MCP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Определение границ проекта и инструментов
- Реализация инструментов, ресурсов и запросов
- Тестирование, проверка и усиление защиты
- Документирование и публикация сервера