Python SDK для Model Context Protocol (MCP) выпустила версию 2.1.0, внедряя поддержку мультимодального контента и упрощая настройку клиента. Основные обновления включают возможность передачи `StdioServerParameters` напрямую в конструктор `Client` и принятия `Image` и `Audio` в сообщениях промпта.
- Сообщения промпта теперь принимают `Image` и `Audio`, а функции промпта могут возвращать необработанные блоки контента.
- Класс `Client` принимает `StdioServerParameters` напрямую, позволяя создавать экземпляры вида `Client(StdioServerParameters(command="uv", args=["run", "server.py"]))`.
- Ограничение на размер тела запроса в 4 MiB теперь применяется к транспорту SSE и конечным точкам OAuth через параметр `max_request_body_size`.
- Исключения обработчиков логируются на уровне ERROR с трассировками стека, тогда как клиенты видят общие сообщения об ошибках; выброс `ToolError` или `ResourceError` сохраняет детали для модели.
- Аннотации возвращаемых значений инструментов для блоков контента больше не рекламируют `outputSchema` и по умолчанию не возвращают `structuredContent`; установка `structured_output=True` восстанавливает предыдущее поведение.
- Результаты инструментов в виде TypedDict пропускают ключи `NotRequired` вместо сериализации их как `null`, что устраняет сбои регистрации на Python 3.10.
Эти изменения повышают безопасность за счёт ограничения размеров запросов во всех транспортах, улучшают опыт разработчиков благодаря более простой настройке клиента и обеспечивают лучшую совместимость с сеансами MCP до 2026 года.