PrefectHQ/fastmcp

🚀 The fast, Pythonic way to build MCP servers and clients.

MCP⭐ 27 813Pythonпоследний релиз: v4.0.5
Открыть на GitHub ↗Сайт проекта ↗

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

FastMCP — это Python-фреймворк для быстрого создания серверов и клиентов, работающих по протоколу Model Context Protocol (MCP).

Зачем нужен

Инструмент автоматизирует рутинные задачи при интеграции LLM с внешними данными и инструментами: генерирует JSON-схемы, валидацию и документацию из обычных Python-функций. Он также берет на себя управление транспортом, аутентификацией и жизненным циклом протокола, позволяя разработчикам сосредоточиться на бизнес-логике.

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

  • Создание MCP-серверов для экспорта Python-функций в виде инструментов (tools), ресурсов и промптов для LLM.
  • Разработка клиентов для подключения к любым MCP-серверам (локальным или удаленным) с полной поддержкой протокола.
  • Добавление интерактивных пользовательских интерфейсов (UI) для инструментов прямо в контекст диалога с LLM.
  • Быстрый прототипинг и вывод в продакшн MCP-приложений с использованием лучших практик, встроенных в фреймворк.

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

  • Автоматическая генерация схем и документации из сигнатур Python-функций.
  • Поддержка трех основных компонентов: Servers, Clients и Apps.
  • Стандарт де-факто в экосистеме MCP (входит в официальный Python SDK, используется в 70% серверов).
  • Простой API: запуск сервера в одну строку кода.
  • Интеграция с Prefect Horizon для масштабирования, безопасности (SSO, RBAC) и мониторинга в корпоративной среде.

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

Релизы

v4.0.5patch
🕐 3 дн назад · релиз на GitHub ↗

Исправлено игнорирование строгой валидации полей (strict=True) при вызовах и отправке задач.

  • Fixed: Восстановлена корректная работа строгой валидации параметров инструментов (Field(strict=True), StrictInt) при прямых вызовах и отправке задач.
  • Fixed: Исправлено поведение сервера, которое в lax-режиме ранее молча приводило значения к типу, игнорируя строгие настройки.
  • Added: Добавлен регрессионный тест для защиты от повторения проблемы с неконфигурированным ID-JAG guard.
  • Обновлена документация с записями о выпуске версии v4.0.5.
v4.0.4minor
🕐 5 дн назад · релиз на GitHub ↗

Исправления OpenAPI, безопасность OAuthProxy, поддержка Anthropic 1.x и улучшение работы с пагинацией.

  • Fixed: Исправлена обработка OpenAPI: корректная кодировка JSON-скаляров, сохранение словарей и raw-контентов, защита параметров от перекрытия телом запроса.
  • OAuthProxy теперь блокирует self-contained ID-JAG токены без настроенной identity assertion и отрицательные сроки жизни токенов.
  • Added: Добавлена поддержка библиотеки Anthropic 1.x наряду с версией 0.x.
  • Fixed: Клиенты теперь корректно следуют пустым курсорам пагинации, а серверы отклоняют некорректные курсоры.
  • Added: Обновлен пример smart-home с поддержкой Hue V2 и нативных эффектов.
v4.0.3patch
🕐 16 дн назад · релиз на GitHub ↗

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

  • Fixed: Устранена проблема дублирования изображений при возврате неограниченных последовательностей.
  • Fixed: Исправлена сериализация полей тайминга задач, которые отклонялись строгими клиентами.
  • Fixed: Оптимизирован запуск: устранены лишние повторные попытки для клиентов с несколькими серверами и устаревшими бэкендами.
  • Fixed: Очищены незавершенные колбэки Monty при завершении выполнения.
v4.0.2minor
🕐 18 дн назад · релиз на GitHub ↗

В релизе FastMCP v4.0.2 класс ClientGroup экспортирован из корня пакета, добавлен инструмент для генерации changelog и исправлены ошибки в документации.

  • Added: Класс ClientGroup теперь доступен для импорта напрямую из корня пакета fastmcp, что упрощает интеграцию.
  • Added: Добавлен навык (skill) для автоматического создания записей в журнале изменений релизов.
  • Fixed: Исправлена ошибка парсинга MDX в документации, связанная с неэкранированным символом '<1'.
  • Обновлена документация: добавлены примечания о совместимости ClientGroup и ссылки на анонс GA.
v4.0.1patch
🕐 19 дн назад · релиз на GitHub ↗

Исправлена повторная вложенность контекста ClientGroup и обновлена документация для версии 4.0 GA.

  • Fixed: ClientGroup теперь поддерживает повторное вхождение контекста, переиспользуя существующие соединения вместо ошибок.
  • Fixed: Исправлен шаг создания PR с опубликованной документацией в CI.
  • Added: Обновлены баннеры и руководства по миграции для официального релиза FastMCP 4 GA.
  • Added: Удалено упоминание предварительных версий из инструкций по установке и миграции SDK.
v4.0.0majorbreaking
🕐 20 дн назад · релиз на GitHub ↗

FastMCP 4: переход на MCP v2, безсессионность, интерактивные инструменты, фоновые задачи и усиленная безопасность.

  • Added: Миграция на MCP Python SDK v2 и протокол 2026-07-28: запросы стали безсессионными, добавлена автоматическая согласование версии протокола.
  • Added: Интерактивные инструменты: поддержка запроса ввода (утверждение, заполнение полей) с повторным запуском в контексте.
  • Added: Фоновые задачи (@mcp.tool(task=True)) вынесены в отдельный пакет fastmcp-tasks и работают вне основного потока запросов.
  • Added: Расширенная аутентификация: assertion identity (SEP-990), проверка ролей, вызовы недостаточных прав и client-credentials.
  • Added: Новая система расширений через add_extension() и внедрение зависимостей, связанных с аргументами вызова.
  • Breaking: Удалены устаревшие API v3, server-initiated sampling, roots и ctx.elicit(); поля моделей MCP приведены к snake_case.
v3.4.7patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена валидация audience для private_key_jwt в OAuthProxy, устраняющая ошибку несоответствия.

  • Fixed: Восстановлена корректная работа аутентификации CIMD private_key_jwt для OAuthProxy-развертываний.
  • Fixed: Исправлено несоответствие audience, вызванное двойным слэшем, за счет валидации против точного endpoint из метаданных.
  • Added: В бэкпорт версии v3 добавлено исправление аудитории утверждений CIMD.
v3.4.6patch
🕐 1 мес назад · релиз на GitHub ↗

FastMCP 3.4.6: поддержка SSRF-защиты через прокси для OAuth и JWKS, отказ от прямых запросов без прокси.

  • Fixed: Добавлена поддержка доверенных прокси для SSRF-защиты при запросах OAuth metadata и JWKS.
  • Fixed: FastMCP теперь блокирует прямые запросы, если прокси не настроен, предотвращая риски безопасности.
  • Added: Развертывания могут маршрутизировать запросы через корпоративный прокси с сохранением пользовательских CA-сертификатов.
v3.4.5patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена критическая ошибка JWT-верификации при наличии ключей Ed25519 в JWKS, а также ряд улучшений стабильности.

  • Fixed: Исправлена ошибка, из-за которой JWTVerifier отклонял все токены, если в JWKS присутствовал ключ Ed25519.
  • Fixed: Устранена проблема с фоллбэком scopes в Azure.
  • Fixed: Добавлена сериализация глубоких объектных query-параметров.
  • Fixed: Обеспечена детерминированная сортировка обязательных параметров у трансформированных инструментов.
  • Fixed: Исправлено побочное изменение схемы вызывающей стороны в функции compress_schema.
v3.4.3majorbreaking
🕐 2 мес назад · релиз на GitHub ↗

Критическое обновление безопасности: защита от SSRF, DNS-ребайндинга и небезопасных OAuth-редиректов, а также исправление ошибок прокси и сериализации.

  • Added: Добавлен флаг --verify для принудительной проверки TLS-сертификатов при удаленных вызовах.
  • Added: Реализована полная e2e-тестовая покрытие для вызова инструментов в CodeMode через песочницу Monty.
  • Breaking: Усилены меры безопасности: заблокированы обходы SSRF через адреса переходных протоколов (NAT64, 6to4, Teredo, ISATAP) и защита от DNS-ребайндинга в Streamable HTTP.
  • Fixed: Исправлена валидация URI-редиректов OAuth, теперь отклоняются небезопасные схемы и незарегистрированные DCR-адреса.
  • Fixed: Устранены гонки состояний при разрыве сессий прокси и исправлена потеря required-дискриминаторов при конвертации JSON Schema.
v3.4.2patch
🕐 3 мес назад · релиз на GitHub ↗

Исправлена совместимость JWT для провайдеров, использующих нестандартные заголовки, например Clerk.

  • Fixed: Разрешены приватные заголовки JWT, что устраняет ошибки валидации для токенов от таких провайдеров, как Clerk.
  • Fixed: Критические заголовки, не поддерживаемые системой, по-прежнему отклоняются для обеспечения безопасности.
  • Обновлена документация: добавлены записи о изменениях для версии 3.4.1.