FastAPI MCP

FastAPI MCP

FastAPI-MCP は、FastAPI 用の強力な拡張機能です。これにより、FastAPI アプリケーションのエンドポイントを簡単に Model Context Protocol (MCP) ツールとして公開できます。最小限の設定で既存のエンドポイントを MCP ツールに変換し、MCP ネイティブの認証、スキーマの保持、およびネイティブドキュメントを提供し、既存の FastAPI 依存関係とデプロイメントインフラを活用します。

Author: tadata-org


プロトコルを表示

FastAPI-MCP とは?

FastAPI-MCP は、FastAPI フレームワークのネイティブ拡張であり、API エンドポイントを MCP ツールとして公開します。これにより、MCP 対応の LLM エージェントによって動的に発見され、呼び出されます。従来のコンバーターとは異なり、FastAPI-MCP は FastAPI の ASGI スタックと深く統合されており、認証とドキュメントの保持を標準でサポートし、より柔軟な統一および分離デプロイモデルを実現します。

FastAPI-MCP の設定方法

  1. お好みのパッケージマネージャーを使用して FastAPI-MCP をインストールします:
    • uv を使用する場合: uv add fastapi-mcp
    • pip を使用する場合: pip install fastapi-mcp
  2. FastAPI-MCP をインポートし、FastAPI アプリケーションインスタンスで初期化します。
  3. .mount() メソッドを使用して、既存の FastAPI ルートに基づいて MCP ツールエンドポイントを自動生成する MCP サーバーを公開します。
  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 サーバーはアプリのベース URL の /mcp で利用可能になります。
  3. すべての互換性のある FastAPI エンドポイントは自動的に MCP ツールになり、MCP クライアント(LLM エージェントを含む)によって発見され、呼び出される準備が整います。
  4. エンドポイントは元のスキーマ、バリデーション、認証ロジックを保持します。FastAPI アプリケーションへの変更は MCP ツールに反映されます。
  5. fastapi-mcp.tadata.com でドキュメントを探索し、を確認して実際のデモンストレーションを見てください。

主な機能

  • 認証統合: MCP エンドポイントのために FastAPI の既存の依存関係とセキュリティモデルを再利用。
  • 最小限の設定: 一つのメソッドコールで全ての FastAPI エンドポイントを MCP ツールとして即座に公開。
  • ネイティブ FastAPI サポート: 効率的で直接的な通信のために ASGI トランスポートを活用。
  • スキーマとドキュメントの保持: OpenAPI ドキュメント、モデル、およびフィールドバリデーションを維持。
  • 柔軟なデプロイ: アプリ内またはスタンドアロンサービスとして MCP サーバーをデプロイ。
  • 包括的なエコシステム: LLM と外部の MCP 互換ツールを簡単に統合。

使用例

  • ビジネスの REST API を即座に安全で LLM アクセス可能なツールとして利用可能にします。
  • LLM が FastAPI エンドポイントを MCP ツールとして呼び出すことで、カスタムワークフローの自動化を構築。
  • 手動でのエンドポイントラッピングや重複なしで新しい AI 機能をプロトタイプ作成し、共有。
  • 企業のデータと外部 API を統一されたモデルアクセス可能なツールセットに接続。

よくある質問

Q1: FastAPI-MCP を使用するために FastAPI コードを変更する必要がありますか?
A: いいえ、FastAPI-MCP を初期化してマウントするだけで、既存のエンドポイントを MCP ツールとして公開できます。変更は不要または最小限です。

Q2: MCP ツールで FastAPI の認証と依存関係を使用できますか?
A: はい、FastAPI-MCP は FastAPI の Depends() による認証と依存性注入を完全にサポートしているので、セキュリティモデルはそのまま維持されます。

Q3: FastAPI アプリケーションとは別に MCP サーバーをデプロイすることは可能ですか?
A: はい、FastAPI-MCP は統一デプロイモードと分離デプロイモードの両方をサポートしており、アプリ内に MCP サーバーをマウントしたり、スタンドアロン ASGI サービスとしてデプロイしたりできます。

Q4: リクエストとレスポンスのスキーマはどのように処理されますか?
A: すべてのエンドポイントのスキーマとドキュメントは保持され、MCP ツールを通じて一貫した入力バリデーションと発見可能性を確保します。