FastAPI-MCP
tadata-org/fastapi_mcpFastAPI-MCP автоматически экспортирует эндпоинты FastAPI как MCP-инструменты с минимальной настройкой. Поддерживает аутентификацию через стандартные зависимости FastAPI, сохраняет схемы и документацию, работает через ASGI-транспорт без лишних HTTP-вызовов.
Подключение
uv add fastapi-mcpREADME
Возможности
-
Аутентификация из коробки — через существующие зависимости FastAPI!
-
Нативная интеграция с FastAPI: не просто очередной конвертер OpenAPI → MCP
-
Минимальная настройка — достаточно указать ваше FastAPI-приложение, и всё заработает
-
Сохранение схем моделей запросов и ответов
-
Сохранение документации всех эндпоинтов в том виде, в котором она представлена в Swagger
-
Гибкое развёртывание — монтируйте MCP-сервер в то же приложение или разворачивайте отдельно
-
ASGI-транспорт — использует ASGI-интерфейс FastAPI напрямую для эффективного взаимодействия
Облачное решение
Если вы предпочитаете управляемый хостинг, ознакомьтесь с tadata.com.
Установка
Рекомендуем использовать uv — быстрый установщик пакетов Python:
uv add fastapi-mcp
Альтернативно, можно установить через pip:
pip install fastapi-mcp
Базовое использование
Простейший способ использовать FastAPI-MCP — добавить MCP-сервер непосредственно в ваше FastAPI-приложение:
from fastapi import FastAPI
from fastapi_mcp import FastApiMCP
app = FastAPI()
mcp = FastApiMCP(app)
# Монтируем MCP-сервер прямо в FastAPI-приложение
mcp.mount()Готово! Автоматически сгенерированный MCP-сервер теперь доступен по адресу https://app.base.url/mcp.
Документация, примеры и расширенное использование
FastAPI-MCP предоставляет подробную документацию. Также ознакомьтесь с директорией примеров, где представлены образцы кода с демонстрацией возможностей.
FastAPI-ориентированный подход
FastAPI-MCP разработан как нативное расширение FastAPI, а не просто конвертер, генерирующий MCP-инструменты из API. Такой подход даёт ряд ключевых преимуществ:
-
Нативные зависимости: защищайте MCP-эндпоинты с помощью привычного
Depends()из FastAPI для аутентификации и авторизации -
ASGI-транспорт: взаимодействует с FastAPI-приложением напрямую через его ASGI-интерфейс, исключая необходимость HTTP-вызовов от MCP к API
-
Единая инфраструктура: FastAPI-приложение не обязано работать отдельно от MCP-сервера (хотя раздельное развёртывание также поддерживается)
Такая философия проектирования обеспечивает минимальное трение при добавлении MCP-возможностей к существующим FastAPI-сервисам.
Разработка и участие в проекте
Спасибо за интерес к участию в развитии FastAPI-MCP! Мы приветствуем создание Issues и Pull Requests от сообщества.
Перед началом работы ознакомьтесь с руководством по участию.
Сообщество
Присоединяйтесь к Slack-сообществу MCParty, чтобы общаться с другими энтузиастами MCP, задавать вопросы и делиться опытом работы с FastAPI-MCP.
Требования
- Python 3.10+ (рекомендуется 3.12)
- uv
Лицензия
MIT License. Copyright (c) 2025 Tadata Inc.