Model Context Protocol Server について
コンテキスト管理とセッション処理を備えたサービスを構築する開発者向けの、FastAPI ベースの MCP サーバー実装です。WebSocket、認証、リクエスト検証、API ドキュメントにも対応します。
主な機能
- 01FastAPI REST API
- 02コンテキスト管理
- 03セッション処理と永続化
- 04WebSocket による更新
- 05認証と認可
- 06Swagger/OpenAPI ドキュメント
活用シーン
- 01FastAPI で MCP サーバーを構築
- 02コンテキストと永続セッションを管理
- 03WebSocket でリアルタイム更新に対応
- 04API リクエストの文書化と検証
MCP 対応
コンテキスト管理、セッション処理、プロトコル操作を備えた MCP サーバーを実装します。README ではサーバー機能を説明していますが、MCP クライアントに公開する具体的なツールやリソースは示されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Model Context Protocol サーバー
モデルコンテキストの管理、セッション処理、プロトコル操作を行う、FastAPI ベースの Model Context Protocol(MCP)サーバー実装です。
特徴
- FastAPI ベースの REST API サーバー
- モデルコンテキストの管理
- セッション処理と永続化
- リアルタイム更新のための WebSocket サポート
- 認証と認可
- リクエストの検証とエラー処理
- Swagger/OpenAPI ドキュメント
- Docker サポート
プロジェクト構成
mcp-protocol-server/
├── app/
│ ├── __init__.py
│ ├── main.py
│ ├── config.py
│ ├── core/
│ │ ├── __init__.py
│ │ ├── context.py
│ │ ├── session.py
│ │ └── protocol.py
│ ├── api/
│ │ ├── __init__.py
│ │ ├── endpoints/
│ │ │ ├── __init__.py
│ │ │ ├── context.py
│ │ │ └── session.py
│ │ └── dependencies.py
│ ├── models/
│ │ ├── __init__.py
│ │ ├── context.py
│ │ └── session.py
│ └── utils/
│ ├── __init__.py
│ └── security.py
├── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_context.py
│ └── test_session.py
├── docker/
│ ├── Dockerfile
│ └── docker-compose.yml
├── requirements.txt
├── .env.example
└── README.md
インストール
- リポジトリをクローンします:
git clone https://github.com/tian1ll1/mcp-protocol-server.git
cd mcp-protocol-server
- 仮想環境を作成して有効化します:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 依存関係をインストールします:
pip install -r requirements.txt
- サンプル環境ファイルをコピーし、設定を行います:
cp .env.example .env
サーバーの実行
開発モード
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
本番モード
uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 4
Docker を使用する場合
docker-compose up -d
API ドキュメント
サーバーの起動後、次の URL から API ドキュメントにアクセスできます:
- Swagger UI:http://localhost:8000/docs
- ReDoc:http://localhost:8000/redoc
テスト
テストスイートを実行します:
pytest
設定
サーバーは環境変数または .env ファイルを使用して設定できます。利用可能なオプションについては .env.example を参照してください。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。