Integrations
ファストAPI MCP SSE
モデル コンテキスト プロトコル (MCP)統合による FastAPI フレームワークを使用した Server-Sent Events (SSE) 実装。
MCPとは何ですか?
モデルコンテキストプロトコル(MCP)は、AIモデルが外部ツールやデータソースと連携できるようにするオープンスタンダードです。MCPは、AI開発におけるいくつかの重要な課題を解決します。
- コンテキストの制限: モデルがトレーニングデータ以外の最新情報にアクセスできるようにする
- ツール統合: モデルが外部ツールやAPIを使用するための標準化された方法を提供します
- 相互運用性: 異なるAIモデルとツール間の共通インターフェースを作成します
- 拡張性: 再トレーニングなしでAIシステムに新しい機能を簡単に追加できます
このプロジェクトでは、FastAPI Web アプリケーションで Server-Sent Events (SSE) を使用して MCP を実装する方法を示します。
説明
このプロジェクトでは、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 パッケージ インストーラーです。
オプション1: インストールなしのクイック実行
UV の実行ツールを使用してリポジトリを複製せずにアプリケーションを直接実行します。
オプション2: 完全インストール
仮想環境を作成する
プロジェクト用の分離された Python 環境を作成します。
仮想環境をアクティブ化する
仮想環境をアクティブ化して使用します。
依存関係をインストールする
必要なパッケージをすべてインストールします。
統合サーバーを起動する
MCP SSE 機能を備えた統合 FastAPI サーバーを起動します。
または
利用可能なエンドポイント
サーバーを起動すると (オプション 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 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 で新しいルート ハンドラーを定義します。Copy
- ルータで定義されたすべてのルートは、メインアプリケーションに自動的に含まれます。
MCP統合のカスタマイズ
MCP SSE 機能は、次の方法で server.py に統合されます。
- SSEトランスポートの作成
- SSEハンドラーの設定
- FastAPIアプリケーションにMCPルートを追加する
Continueとの統合
Continue VS Code 拡張機能でこの MCP サーバーを使用するには、Continue 設定に次の構成を追加します。
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
モデル コンテキスト プロトコル (MCP) を統合する FastAPI フレームワークを使用した Server-Sent Events 実装。これにより、AI モデルは外部ツールや天気情報などのデータ ソースにアクセスできるようになります。
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that provides AI agents with tools to retrieve weather alerts and detailed forecasts for US locations using the National Weather Service API.Last updated -2115TypeScript
- AsecurityFlicenseAqualityAn implementation of the Model Context Protocol (MCP) server using Server-Sent Events (SSE) for real-time communication, providing tools for calculations and dynamic resource templates.Last updated -1JavaScript
- -securityAlicense-qualityA customizable Model Context Protocol server implementation that enables AI models to interact with external tools including weather queries, Google search, and camera control functionality.Last updated -8PythonApache 2.0
- -security-license-qualityA simple server that implements the Model Context Protocol, allowing AI models like Claude to fetch real-time weather information for any location using the wttr.in API.Last updated -JavaScript
Appeared in Searches
- Understanding Server-Sent Events (SSE)
- 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
- List of Publicly Available SSE (Server-Sent Events) Servers
- Using Server-Sent Events (SSE) in the Terminal