AB
AiBoss
project

FastAPI-MCP - FastAPIをワンクリックでMCPサーバーに変換するオープンソースツール。

FastAPI-MCPは、FastAPIアプリケーションのエンドポイントをモデルコンテキストプロトコル(MCP)に準拠するように自動的に変換するオープンソースツールです。設定は不要で、FastAPIアプリケーションを指定するだけで、すべてのエンドポイントを自動的に検出して変換します。

FastAPI-MCPとは何ですか?

FastAPI-MCPは、FastAPIアプリケーションのエンドポイントをモデルコンテキストプロトコル(MCP)に準拠するように自動的に変換するオープンソースツールです。設定は不要で、FastAPIアプリケーションを指定するだけで、追加の設定なしにすべてのエンドポイントを自動的に検出し、MCPツールに変換します。FastAPIのリクエストおよびレスポンスモデルとSwaggerドキュメントを保持することで、FastAPI-MCPはインターフェースの整合性と使いやすさを保証します。このツールはFastAPIアプリケーションへの直接統合をサポートし、柔軟に独立してデプロイできます。ユーザーはUVまたはpip経由でインストールし、簡単なコードでFastAPIアプリケーションに統合できます。

FastAPI-MCPの主な機能

  • 自動検出と変換FastAPI-MCPは、FastAPIアプリケーション内のすべてのエンドポイントを自動的に検出し、MCPツールに変換します。手動設定は不要で、エンドポイントの自動識別と変換が可能です。
  • 保存モードと文書このツールはFastAPIのリクエストおよびレスポンスモデルを保持し、すべてのエンドポイントのドキュメントを保持します。ドキュメントはSwaggerのドキュメントと一貫性があり、開発者とユーザーにとって理解しやすく使いやすいものとなっています。
  • 柔軟な導入FastAPI-MCPは、MCPサーバーをFastAPIアプリケーションに直接マウントするか、独立してデプロイするかを選択できます。これにより、開発者はニーズに応じて最適なデプロイ方法を選択できます。
  • カスタムツール命名FastAPI-MCPはFastAPIルーティングを使用します。 operation_id MCPツールの名称として、開発者は明示的に定義することができます。 operation_id これにより、より明確で直感的なツール名を指定でき、過度に複雑な自動生成名を避けることができます。
  • 公開されているエンドポイントをフィルタリングする開発者は、OpenAPI操作IDまたはタグを使用して、どのFastAPIエンドポイントをMCPツールに公開するかを制御できます。これにより、特定のエンドポイントまたはタグを含めるか除外するかによって、よりきめ細かな制御が可能になります。
  • SSEおよびプロキシ接続をサポートFastAPI-MCPは、Server Send Events(SSE)を介して、プロトコルをサポートするクライアント(Cursorなど)への直接接続をサポートします。SSEをサポートしないクライアント(Claude Desktopなど)の場合は、...を介して接続できます。 mcp-proxy プロキシによって接続が可能になります。
  • 動的な更新MCPサーバー作成後に新しいFastAPIエンドポイントが追加された場合、以下の呼び出しでアクセスできます。 setup_server() この方法は、新しく追加されたエンドポイントを含め、MCPサーバーを更新します。

FastAPI-MCPの技術原理

  • FastAPIのOpenAPI仕様を利用するFastAPI-MCPは、FastAPIアプリケーションのOpenAPIドキュメントから、リクエストおよびレスポンスモデル、ルーティング情報などのメタデータを自動的に抽出します。このメタデータは、対応するMCPツールを生成するために使用され、変換の正確性と一貫性を保証します。
  • 反射型メタデータの取得と動的経路登録FastAPI-MCPは、FastAPIの型システムとリフレクション機構を活用し、インターフェースパラメータ、レスポンスモデル、権限宣言などのメタデータを自動的に取得します。また、動的なルート登録を通じてリアルタイム解析も実行します。 APIRouter オブジェクトが生成され、サービスディレクトリツリーが作成されます。
  • AST構文木解析FastAPI-MCPは、抽象構文木(AST)解析技術を使用して... @app.get() デコレータに対して静的解析を実行し、インターフェースのメタデータを抽出します。これにより、ツールはFastAPIアプリケーション内のすべてのエンドポイントを自動的に検出し、MCPツールに変換できるようになります。
  • 非同期タスクオーケストレーションFastAPI-MCPは、Starletteのイベントループ機構を利用して、API呼び出しチェーンのリアルタイム監視と非同期タスクのオーケストレーションを実現します。これにより、MCPサーバーは同時リクエストを効率的に処理でき、FastAPIの非同期性を完璧に補完します。
  • リクエストとレスポンスのパターンを保持するFastAPI-MCPは、FastAPIエンドポイントのリクエストおよびレスポンスパターン、ならびにSwaggerドキュメントを保持します。これにより、AIモデルがAPIを呼び出す際に正確かつ一貫性のあるデータを取得できるようになり、インタラクションの信頼性と安定性が向上します。

FastAPI-MCPプロジェクトのアドレス

FastAPI-MCPの応用シナリオ

  • 企業内部自動化FastAPI-MCPは、企業の内部FastAPI APIエンドポイントを、AIモデルやその他の自動化ツールで使用できるMCPツールに迅速に変換できます。
  • AIを活用したアプリケーション開発AI開発において、FastAPI-MCPはAIモデルがバックエンドサービスのAPIを直接呼び出すことを可能にする。
  • データ分析と処理AIエージェントは、FastAPI-MCPから変換されたMCPツールを介してデータ処理エンドポイントに直接アクセスし、リアルタイムのデータ分析を実現できます。
  • コンテンツ管理AIツールは、コンテンツ管理システム(CMS)のインターフェースを呼び出すことで、コンテンツの作成と更新を効率的に完了させることができます。
  • 電子商取引eコマースのシナリオでは、AIアシスタントはAPIを使用して在庫確認、注文、製品情報の取得などを行うことができ、それによってユーザーエクスペリエンスを向上させることができます。