ファストAPI MCP SSE
モデル コンテキスト プロトコル (MCP)統合による FastAPI フレームワークを使用した Server-Sent Events (SSE) 実装。
MCPとは何ですか?
モデルコンテキストプロトコル(MCP)は、AIモデルが外部ツールやデータソースと連携できるようにするオープンスタンダードです。MCPは、AI開発におけるいくつかの重要な課題を解決します。
コンテキストの制限: モデルがトレーニングデータ以外の最新情報にアクセスできるようにする
ツール統合: モデルが外部ツールやAPIを使用するための標準化された方法を提供します
相互運用性: 異なるAIモデルとツール間の共通インターフェースを作成します
拡張性: 再トレーニングなしでAIシステムに新しい機能を簡単に追加できます
このプロジェクトでは、FastAPI Web アプリケーションで Server-Sent Events (SSE) を使用して MCP を実装する方法を示します。
Related MCP server: Python MCP Cat Facts
説明
このプロジェクトでは、FastAPIフレームワークを用いてモデルコンテキストプロトコル(MCP)機能を統合しながら、Server-Sent Events(SSE)を実装する方法を示します。重要な特徴は、カスタムルートを含むフル機能のFastAPIウェブアプリケーションにMCPのSSE機能をシームレスに統合できることです。
特徴
MCP によるサーバー送信イベント (SSE) の実装
カスタムルートとのFastAPIフレームワーク統合
MCP と標準の Web エンドポイントの両方を備えた統合 Web アプリケーション
カスタマイズ可能なルート構造
MCP と Web 機能間の懸念事項を明確に分離
建築
このプロジェクトでは、次のようなモジュラー アーキテクチャを紹介します。
MCP SSEエンドポイント(
/sseと/messages/)をFastAPIアプリケーションに統合します。標準の Web ルート (
/、/about、/status、/docs、/redoc) を提供しますMCP 機能と Web ルートの分離を維持する方法を示します
インストールと使用オプション
前提条件
UV パッケージ マネージャーをインストールします - Rust で書かれた高速な Python パッケージ インストーラーです。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"オプション1: インストールなしのクイック実行
UV の実行ツールを使用してリポジトリを複製せずにアプリケーションを直接実行します。
uvx --from git+https://github.com/panz2018/fastapi_mcp_sse.git startオプション2: 完全インストール
仮想環境を作成する
プロジェクト用の分離された Python 環境を作成します。
uv venv仮想環境をアクティブ化する
仮想環境をアクティブ化して使用します。
.venv\Scripts\activate依存関係をインストールする
必要なパッケージをすべてインストールします。
uv pip install -r pyproject.toml統合サーバーを起動する
MCP SSE 機能を備えた統合 FastAPI サーバーを起動します。
python src/server.pyまたは
uv run start利用可能なエンドポイント
サーバーを起動すると (オプション 1 またはオプション 2 のいずれかを使用)、次のエンドポイントが使用できるようになります。
メインサーバー: http://localhost:8000
標準の Web ルート:
ホームページ: http://localhost:8000/
Aboutページ: http://localhost:8000/about
ステータス API: http://localhost:8000/status
ドキュメント (Swagger UI): http://localhost:8000/docs
ドキュメント(ReDoc): http://localhost:8000/redoc
MCP SSE エンドポイント:
SSEエンドポイント: http://localhost:8000/sse
メッセージの投稿: http://localhost:8000/messages/
MCP Inspectorでデバッグする
MCP 機能のテストとデバッグには、MCP インスペクタを使用します。
mcp dev ./src/weather.pyMCP Inspectorに接続する
http://localhost:5173で MCP インスペクターを開きます。
接続を構成します。
トランスポートタイプを
SSEに設定するURLを入力してください: http://localhost:8000/sse
Connectをクリック
機能をテストする
Toolsセクションに移動利用可能な機能を表示するには、
List Toolsをクリックします。get_alerts: 天気予報を取得するget_forcast: 天気予報を取得する
機能を選択
必要なパラメータを入力してください
実行するには
Run Toolクリックします
アプリケーションの拡張
カスタムルートの追加
アプリケーション構造により、FastAPI の APIRouter を使用して新しいルートを簡単に追加できます。
APIRouter を使用して routes.py で新しいルート ハンドラーを定義します。
@router.get("/new-route") async def new_route(): return {"message": "This is a new route"}ルータで定義されたすべてのルートは、メインアプリケーションに自動的に含まれます。
MCP統合のカスタマイズ
MCP SSE 機能は、次の方法で server.py に統合されます。
SSEトランスポートの作成
SSEハンドラーの設定
FastAPIアプリケーションにMCPルートを追加する
Continueとの統合
Continue VS Code 拡張機能でこの MCP サーバーを使用するには、Continue 設定に次の構成を追加します。
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"name": "weather",
"type": "sse",
"url": "http://localhost:8000/sse"
}
}
]
}
}This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
- Golang HTTP streaming with MCP examples
- A server for retrieving current weather information with HTTP streaming support
- A server for researching enterprise data, including founders and financial information, for investors
- Information about SSE (possible meanings: Scottish and Southern Energy, Server-Sent Events, etc.)
- Finding MCP servers that support SSE or Streamable HTTP, excluding stdio transport
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/panz2018/fastapi_mcp_sse'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
