fastapi_mcp_sse
FastAPIを使用したServer-Sent Events (SSE)の実装で、Model Context Protocol (MCP)との統合を示すプロジェクトです。MCPはAIモデルが外部ツールやデータソースと連携するためのオープンスタンダードであり、コンテキストの制限を解消し、ツール統合や相互運用性を提供します。このプロジェクトは、FastAPIアプリケーションにおけるMCPの実装方法を示しています。
GitHubスター
49
ユーザー評価
未評価
お気に入り
0
閲覧数
22
フォーク
10
イシュー
4
インストール方法
難易度
中級推定所要時間
10-20 分
必要な環境
Python 3.7以上
FastAPI 0.68.0以上
+1 more
インストール方法
インストール方法
前提条件
必要なソフトウェアとバージョンを明記してください。UV Package Manager: 最新版
インストール手順
1. UV Package Managerのインストール
cmd
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
2. クイック実行(インストールなし)
リポジトリをクローンせずにアプリケーションを直接実行します:cmd
uvx --from git+https://github.com/panz2018/fastapi_mcp_sse.git start
3. フルインストール
#### 仮想環境の作成cmd
uv venv
cmd
.venv\Scripts\activate
cmd
uv pip install -r pyproject.toml
cmd
python src/server.py
cmd
uv run start
トラブルシューティング
問題: サーバーが起動しない 解決策: Pythonのバージョンを確認し、依存関係を再インストールしてください。設定方法
設定方法
基本設定
FastAPIの設定
FastAPIアプリケーションの設定は、src/server.py
内で行います。以下のようにエンドポイントを定義します:
python
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "Hello World"}
詳細設定
セキュリティ設定
APIキーは環境変数または安全な設定ファイルに保存
ファイルアクセス権限の適切な設定
パフォーマンス調整
タイムアウト値の設定
同時実行数の制限
設定例
基本的な設定
python
@app.get("/sse")
async def sse_endpoint():
# SSEの実装
pass
使用例
使用例
基本的な使用方法
MCPサーバーの基本的な使用方法を以下に示します:プログラムでの使用
python
import requests
def call_mcp_tool(tool_name, params):
response = requests.post(
'http://localhost:8000/mcp/call',
json={
'tool': tool_name,
'parameters': params
}
)
return response.json()
使用例
result = call_mcp_tool('analyze', {
'input': 'sample data',
'options': {'format': 'json'}
})
使用ケース
AIモデルが外部APIから最新のデータを取得するためにMCPを使用する。
リアルタイムのデータストリーミングを必要とするアプリケーションでSSEを利用する。
複数のAIツールを統合し、ユーザーにシームレスな体験を提供する。
FastAPIを使用して、カスタムルートを持つウェブアプリケーションを構築する。