Бета · редакция 2026.10-beta1 · MCP 2026-07-28

SDK Inspector и реальные клиенты

L41 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1

Мне полезнее выбрать небольшой стек и проверить его, чем собрать десять обёрток. Для TypeScript начинаю с официальных @modelcontextprotocol/server и @modelcontextprotocol/client, для Python — с официального mcp. Inspector помогает видеть реальный обмен, а не угадывать его по интерфейсу чата.

Предварительно: L06 · L13 · L14 · L30

Как я это использую

На 15 октября 2026 в registry проверены server/client 2.3.1, Inspector 2.11.0, Python mcp 2.3.0 и FastMCP 4.1.0. Это снимок, не вечное обещание совместимости. V2 TypeScript SDK разделяет client/server и поддерживает Standard Schema; рядом есть транспортные адаптеры node, Express, Fastify и Hono. Zod помогает описать schema, но не заменяет OAuth или проверку доступа. FastMCP удобен для Python-серверов; его старый ctx.elicit относится к legacy профилю, а современный ввод строится через guard/MRTR.

Проверяемая интеграция

Разбираем конкретный контракт

Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.

{
  "packages": [
    {
      "name": "@modelcontextprotocol/server",
      "version": "2.3.1"
    },
    {
      "name": "@modelcontextprotocol/client",
      "version": "2.3.1"
    },
    {
      "name": "@modelcontextprotocol/inspector",
      "version": "2.11.0"
    },
    {
      "name": "mcp (PyPI)",
      "version": "2.3.0"
    },
    {
      "name": "fastmcp (PyPI)",
      "version": "4.1.0"
    }
  ],
  "checkedAt": "2026-10-15"
}

Лаборатория · L41

Измените условия, проверьте результат и разберите ошибку. Все адреса и данные учебные.

Что легко сломать

Популярность и звёзды не доказывают поддержку функции. Я заполняю матрицу profile × transport × feature × client. Проверяю выпуск, официальный репозиторий, lockfile и негативный тест. Не устанавливайте Inspector как постоянный production сервис портала: запускайте локально, без публичного proxy и реальных секретов в логах.

Практика и самопроверка

Открыть сохранённый диагностический отчёт и определить поддержку функции по версии SDK и профилю клиента.

Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. Тренажёр открыт без регистрации; для сохранения ответов на тесты и завершения урока войдите в аккаунт.

В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.

Попробовать локально

Скачать reference-проект с lockfile и тестами (после входа). Распакуйте в отдельную папку, используйте Node.js 22.14 или новее.

npm ci
npm test
npm start

npm start запускает локальный stdio-сервер задач. Остановите его после практики. Тесты используют официальный TypeScript SDK v2.3.1, проверяют современный HTTP handler, MRTR, отказ и подмену состояния. Fake AS проверяет PKCE, issuer, audience и одноразовый code без внешнего аккаунта. Это учебный проект: production требует долговременного хранилища, настоящей проверки токенов и транзакционной идемпотентности.

Пакеты и документация

  • Официальный TypeScript SDK v2 — client/server и транспортные адаптеры.
  • Python SDK — официальный Python стек.
  • Inspector — локальная диагностика.
  • FastMCP — Python framework; сверяйте modern/legacy API.
  • Zod — схема и validation; не механизм авторизации.
  • Официальный Registry — обнаружение серверов; публикация там не доказывает безопасность.

На что я опирался

Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.

Проверка знаний

Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.

Доказывает ли название SDK поддержку всех функций?

Где запускать Inspector для учебного проекта?

Какой подход к ctx.elicit в FastMCP?