FastAPI MCP

FastAPI MCP

FastAPI-MCP — это мощное расширение для FastAPI, которое позволяет легко делать ваши конечные точки приложения FastAPI доступными как инструменты Model Context Protocol (MCP). Оно обеспечивает бесшовную и безопасную интеграцию между API FastAPI и агентами или рабочими процессами на основе LLM, превращая существующие конечные точки в инструменты MCP с минимальной настройкой. Это включает аутентификацию, сохранение схем и документации, используя зависимости и инфраструктуру развертывания FastAPI.

Author: tadata-org


Просмотреть протокол

Что такое FastAPI-MCP?

FastAPI-MCP — это встроенное расширение для фреймворка FastAPI, которое делает ваши конечные точки API доступными как инструменты MCP. Их могут динамически обнаруживать и вызывать совместимые с MCP агенты LLM. В отличие от традиционных конвертеров, FastAPI-MCP глубоко интегрирован с стеком ASGI FastAPI, поддерживает аутентификацию и сохранение документации по умолчанию, а также предоставляет как единые, так и отдельные модели развертывания для большей гибкости.

Как настроить FastAPI-MCP

  1. Установите FastAPI-MCP с помощью вашего менеджера пакетов:
    • С помощью uv: uv add fastapi-mcp
    • С помощью pip: pip install fastapi-mcp
  2. Импортируйте FastAPI-MCP и инициализируйте его с экземпляром вашего приложения FastAPI.
  3. Используйте метод .mount(), чтобы сделать ваш MCP-сервер доступным. Это автоматически сгенерирует конечные точки инструментов MCP на основе существующих маршрутов FastAPI.
  4. Опционально настройте аутентификацию с использованием внедрения зависимостей FastAPI (например, Depends()), и настраивайте документацию или развертывание по вашим требованиям.

Как использовать FastAPI-MCP

  1. Добавьте следующее в ваше приложение FastAPI:
    from fastapi import FastAPI
    from fastapi_mcp import FastApiMCP
    
    app = FastAPI()
    mcp = FastApiMCP(app)
    mcp.mount()
    
  2. После монтирования ваш MCP-сервер будет доступен по адресу /mcp на базовом URL вашего приложения.
  3. Все совместимые конечные точки FastAPI автоматически станут инструментами MCP, готовыми для обнаружения и вызова клиентами MCP, включая агентов LLM.
  4. Конечные точки сохраняют свою оригинальную схему, логику валидации и аутентификации. Изменения в вашем приложении FastAPI будут видны в ваших инструментах MCP.
  5. Ознакомьтесь с документацией на fastapi-mcp.tadata.com и посмотрите примеры для практических демонстраций.

Ключевые функции

  • Интеграция аутентификации: Повторное использование существующей модели зависимостей и безопасности FastAPI для конечных точек MCP.
  • Минимальная настройка: Моментально открывайте все ваши конечные точки FastAPI как инструменты MCP с помощью одного вызова метода.
  • Нативная поддержка FastAPI: Использует ASGI для эффективной и прямой коммуникации.
  • Сохранение схемы и документации: Поддерживает документацию OpenAPI, модели и валидацию полей.
  • Гибкое развертывание: Разворачивайте MCP-сервер внутри вашего приложения или как отдельный сервис.
  • Комплексная экосистема: Легко интегрируйте LLM и внешние инструменты, совместимые с MCP.

Сценарии использования

  • Мгновенно сделайте REST API вашего бизнеса доступными как безопасные инструменты, доступные для LLM, для умных рабочих процессов.
  • Создайте автоматизацию рабочих процессов, позволив LLM вызывать ваши конечные точки FastAPI как инструменты MCP.
  • Прототипируйте и делитесь новыми функциями на основе ИИ без ручной обертки конечных точек или дублирования.
  • Связывайте данные предприятия и внешние API в единый набор инструментов, доступных для моделей.

Часто задаваемые вопросы

В1: Нужно ли изменять мой код FastAPI, чтобы использовать FastAPI-MCP?
О: Нет, вы можете сделать ваши существующие конечные точки инструментами MCP без изменений или с минимальными изменениями, просто инициализируя и монтируя FastAPI-MCP.

В2: Могу ли я использовать аутентификацию FastAPI и зависимости с инструментами MCP?
О: Да, FastAPI-MCP полностью поддерживает аутентификацию и внедрение зависимостей через Depends() в FastAPI, поэтому ваша модель безопасности остается целостной.

В3: Можно ли развернуть сервер MCP отдельно от моего приложения FastAPI?
О: Да, FastAPI-MCP поддерживает как единые, так и отдельные режимы развертывания, позволяя вам монтировать сервер MCP внутри вашего приложения или как отдельный сервис ASGI.

В4: Как обрабатываются схемы запросов и ответов?
О: Схемы и документация для всех конечных точек сохраняются, что обеспечивает последовательную валидацию ввода и возможность обнаружения через инструменты MCP.