modelcontextprotocol/python-sdk

The official Python SDK for Model Context Protocol servers and clients

MCP⭐ 24 350Pythonпоследний релиз: v2.2.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Официальный Python SDK для создания серверов и клиентов протокола Model Context Protocol (MCP).

Зачем нужен

Позволяет разработчикам безопасно и стандартизированно экспонировать данные и функциональность (инструменты, ресурсы, промпты) для LLM-приложений. Упрощает интеграцию, устраняя необходимость писать код для парсинга запросов, валидации и обработки JSON Schema.

Что можно реализовать

  • Создание MCP-серверов, предоставляющих инструменты и ресурсы для хостов LLM
  • Разработка MCP-клиентов для подключения к серверам через stdio, Streamable HTTP или SSE
  • Локальная разработка и тестирование серверов с помощью MCP Inspector
  • Интеграция LLM-приложений с внешними данными через стандартизированный протокол

Ключевые возможности

  • Автоматическая генерация JSON Schema на основе аннотаций типов Python
  • Поддержка всех стандартных транспортов: stdio, Streamable HTTP, SSE
  • Возможность подключения к серверам по URL, через подпроцессы или напрямую в памяти
  • Простой API: сервер можно создать, определив всего пару декорированных функций
  • Лицензия MIT и поддержка Python 3.10+

👤 Кому подойдёт: Разработчики, создающие LLM-приложения, агенты или интеграции с внешними источниками данных, использующие Python.

Релизы

v2.2.0majorbreaking
🕐 13 дн назад · релиз на GitHub ↗

В MCP Python SDK v2.2.0 ужесточена безопасность OAuth, добавлены лимиты сессий и изменено поведение редиректов.

  • Breaking: HTTP-клиенты теперь следуют редиректам только в пределах исходного домена, протокола и порта.
  • Breaking: Включена автоматическая инвалидация неактивных Streamable HTTP сессий через 30 минут.
  • Breaking: OAuth-клиенты строго проверяют поле issuer в метаданных сервера авторизации.
  • Deprecated: Создание OAuth-провайдеров без указания параметра issuer теперь вызывает предупреждение об устаревании.
  • Added: Добавлена настройка validate_token_resource для проверки ресурса в токенах.
  • Fixed: Исправлено освобождение сессий при удалении и корректная обработка $ref в схемах инструментов.
v2.1.1patch
🕐 26 дн назад · релиз на GitHub ↗

В версии 2.1.1 обновлены импорты mcp.server.fastmcp для указания на руководство по миграции.

  • Fixed: Исправлены импорты модуля mcp.server.fastmcp, теперь они ссылаются на руководство по миграции.
v2.1.0minorbreaking
🕐 27 дн назад · релиз на GitHub ↗

MCP Python SDK v2.1.0: поддержка медиа в промптах, прямая передача StdioServerParameters, новые правила обработки ошибок и лимиты SSE.

  • Added: Промпты теперь принимают изображения и аудио, а Client принимает StdioServerParameters напрямую.
  • Breaking: Неожиданные исключения хендлеров логируются как Error, а клиенту возвращается общая ошибка; для модели используйте ToolError.
  • Breaking: Возврат контент-блоков (TextContent, Image и др.) больше не включает outputSchema или structuredContent по умолчанию.
  • Added: Лимит тела запроса 4 МБ теперь применяется к SSE-транспорту и OAuth-эндпоинтам.
  • Fixed: Исправлена сериализация NotRequired в TypedDict, поддержка Python 3.10 и корректный ответ 202 для уведомлений.
v2.0.0majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Вышел стабильный MCP Python SDK v2: поддержка протокола 2026-07-28, новый MCPServer, авто-клиент и строгая миграция с v1.

  • Added: Поддержка протокола MCP 2026-07-28 с сохранением обратной совместимости с клиентами 2025 года.
  • Added: Полный редизайн: декораторный API перенесен в MCPServer, а Client теперь единый объект для подключения.
  • Added: Внедрены многоэтапные запросы, инъекция зависимостей через Resolve(fn) и автоматическая трассировка OpenTelemetry.
  • Breaking: v1.x переведен в режим поддержки: принимаются только патчи безопасности, требуется ручная миграция на v2.
  • Fixed: Усилены безопасность stdio-серверов и OAuth: добавлена валидация издателя, SEP-990 и защита от переполнения буфера.
v1.28.1minor
🕐 2 мес назад · релиз на GitHub ↗

Релиз v1.28.1: добавлена поддержка TransportSecuritySettings для WebSocket, улучшена буферизация StreamableHTTP и обновлён статус стабильности.

  • Added: Добавлена поддержка TransportSecuritySettings в серверном транспорте WebSocket.
  • Added: Реализована буферизация потоков StreamableHTTP на уровне запроса с сохранением события инициализации перед отправкой.
  • Added: Классификатор статуса разработки изменён на Production/Stable.