hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
特徴
- 直接統合- MCP サーバーを FastAPI アプリに直接マウントします
- 設定は一切不要 - FastAPI アプリを指定するだけで動作します
- すべてのFastAPIエンドポイントの自動検出とMCPツールへの変換
- リクエストモデルとレスポンスモデルのスキーマの保持
- Swaggerと同じように、すべてのエンドポイントのドキュメントを保存します。
- 柔軟な展開- MCP サーバーを同じアプリにマウントするか、個別に展開します
インストール
高速な Python パッケージ インストーラーであるuv の使用をお勧めします。
あるいは、pip を使用してインストールすることもできます。
基本的な使い方
FastAPI-MCP を使用する最も簡単な方法は、MCP サーバーを FastAPI アプリケーションに直接追加することです。
これで完了です。自動生成された MCP サーバーがhttps://app.base.url/mcp
で利用できるようになります。
base_url
に関する注意:base_url
オプションですが、明示的に指定することを強くお勧めします。base_urlbase_url
、ツールが呼び出された際に MCP サーバーに API リクエストの送信先を指示します。base_url を指定しないと、ライブラリは URL を自動的に決定しようとしますが、内部 URL と外部 URL が異なる環境では正しく動作しない可能性があります。
ツールの命名
FastAPI-MCPは、FastAPIルートのoperation_id
MCPツール名として使用します。operation_id operation_id
指定しない場合はFastAPIが自動生成しますが、分かりにくい場合があります。
次の 2 つのエンドポイント定義を比較します。
より明確で直感的なツール名にするには、FastAPI ルート定義に明示的なoperation_id
パラメータを追加することをお勧めします。
詳細については、パス操作の高度な構成に関する FastAPI の公式ドキュメントをお読みください。
高度な使用法
FastAPI-MCPは、MCPサーバーの作成と構成をカスタマイズおよび制御するための複数の方法を提供します。以下に、高度な使用パターンをいくつか示します。
スキーマ記述のカスタマイズ
公開エンドポイントのカスタマイズ
Open API 操作 ID またはタグを使用して、どの FastAPI エンドポイントを MCP ツールとして公開するかを制御できます。
フィルタリングに関する注意事項:
include_operations
とexclude_operations
を同時に使用することはできませんinclude_tags
とexclude_tags
同時に使用することはできません- 操作フィルタリングとタグフィルタリングを組み合わせることができます(例:
include_operations
とinclude_tags
を使用する) - フィルターを組み合わせる場合は貪欲なアプローチが取られます。どちらかの条件に一致するエンドポイントが含まれます。
オリジナルのFastAPIアプリとは別にデプロイする
MCP は、それが作成されたのと同じ FastAPI アプリで提供することに限定されません。
1 つの FastAPI アプリから MCP サーバーを作成し、それを別のアプリにマウントすることができます。
MCP サーバー作成後のエンドポイントの追加
MCP サーバーを作成した後、FastAPI アプリにエンドポイントを追加する場合は、それらを含めるためにサーバーを更新する必要があります。
例
完全な例については、例のディレクトリを参照してください。
SSEを使用してMCPサーバーに接続する
MCP 統合された FastAPI アプリが実行されると、Cursor などの SSE をサポートする任意の MCP クライアントを使用してアプリに接続できます。
- アプリケーションを実行します。
- カーソル -> 設定 -> MCP で、MCP サーバー エンドポイントの URL (例:
http://localhost:8000/mcp
) を sse として使用します。 - カーソルは利用可能なすべてのツールとリソースを自動的に検出します。
mcp-proxy stdioを使用して MCP サーバーに接続する
MCP クライアントが SSE をサポートしていない場合 (例: Claude Desktop)
- アプリケーションを実行します。
- mcp-proxyをインストールします。例:
uv tool install mcp-proxy
。 - Claude Desktop MCP 構成ファイル (
claude_desktop_config.json
) に追加します。
Windowsの場合:
MacOSの場合:
ターミナルでwhich mcp-proxy
proxy へのパスを見つけます。
- Claude Desktopは利用可能なすべてのツールとリソースを自動的に検出します
開発と貢献
FastAPI-MCP への貢献をご検討いただきありがとうございます。コミュニティの皆様には、問題やプルリクエストを投稿していただくようお願いいたします。
始める前に、貢献ガイドをご覧ください。
コミュニティ
MCParty Slack コミュニティに参加して、他の MCP 愛好家と交流したり、質問したり、FastAPI-MCP の経験を共有したりしましょう。
要件
- Python 3.10+ (推奨 3.12)
- 紫外線
ライセンス
MITライセンス。Copyright (c) 2024 Tadata Inc.
This server cannot be installed
FastAPI エンドポイントをモデル コンテキスト プロトコル (MCP) ツールとして自動的に公開するゼロ構成ツール。これにより、Claude などの LLM システムが追加のコーディングなしで API と対話できるようになります。
- Installation
- Basic Usage
- Tool Naming
- Advanced Usage
- Examples
- Connecting to the MCP Server using SSE
- Connecting to the MCP Server using mcp-proxy stdio
- Development and Contributing
- Community
- Requirements
- License