MCPサーバー
プロジェクト概要
FastAPIとMCP(モデルコンテキストプロトコル)を基盤とするこのプロジェクトは、AIモデルと開発環境間の標準化されたコンテキストインタラクションを可能にします。モデルのデプロイメントを簡素化し、効率的なAPIエンドポイントを提供し、モデルの入出力の一貫性を確保することで、AIアプリケーションのスケーラビリティと保守性を向上させ、開発者によるAIタスクの統合と管理を容易にします。
MCP(モデルコンテキストプロトコル)は、AIモデルと開発環境間のコンテキスト相互作用のための統一プロトコルです。このプロジェクトは、初期化、サンプリング、セッション管理といったMCPプロトコルの基本的な機能をサポートするPythonベースのMCPサーバー実装を提供します。
特徴
- JSON-RPC 2.0 : 標準JSON-RPC 2.0プロトコルに基づくリクエスト-レスポンス通信
- SSE 接続: リアルタイム通知のための Server-Sent Events 接続のサポート
- モジュラー設計: 拡張とカスタマイズが容易なモジュラーアーキテクチャ
- 非同期処理:FastAPIと非同期IOを使用した高性能サービス
- 完全なクライアント: 完全なテストクライアントの実装が含まれています
プロジェクト構造
インストール
- リポジトリをクローンします。
- 依存関係をインストールします:
使用法
サーバーの起動
デフォルトでは、サーバーは127.0.0.1:12000
で起動します。環境変数を使用してホストとポートをカスタマイズできます。
クライアントの実行
別のターミナルでクライアントを実行します。
サーバーがデフォルトのアドレスで実行されていない場合は、環境変数を設定できます。
APIエンドポイント
サーバーは次の API エンドポイントを提供します。
- ルートパス(
/
):サーバー情報を提供します - APIエンドポイント(
/api
):JSON-RPCリクエストを処理する - SSEエンドポイント(
/sse
):SSE接続を処理する
MCPプロトコルの実装
初期化フロー
- クライアントはSSE経由でサーバーに接続します
- サーバーはAPIエンドポイントURIを返します
- クライアントはプロトコルバージョンと機能を含む初期化要求を送信します
- サーバーは初期化要求に応答し、サーバーの機能を返します
サンプリングリクエスト
クライアントはプロンプトを使用してサンプリング リクエストを送信できます。
サーバーはサンプリング結果を返します:
セッションの終了
クライアントはシャットダウン要求を送信できます。
サーバーは正常にシャットダウンします。
開発拡張
新しいメソッドの追加
新しい MCP メソッドを追加するには、 MCPServer
クラスにハンドラー関数を追加し、 _register_methods
メソッドに登録します。
AIモデルの統合
実際の AI モデルを統合するには、 handle_sample
メソッドを変更します。
トラブルシューティング
よくある問題
- 接続エラー: サーバーが実行中であること、およびクライアントが正しいサーバー URL を使用していることを確認してください
- 405 メソッドが許可されていません: クライアントが正しい API エンドポイントにリクエストを送信していることを確認してください
- SSE接続失敗: ネットワーク接続とファイアウォールの設定を確認してください
ログ記録
サーバーとクライアントの両方で詳細なログが提供されます。詳細についてはログを参照してください。
参考文献
ライセンス
このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
AI モデルと開発環境間の標準化された相互作用を可能にするモデル コンテキスト プロトコルの FastAPI ベースの実装により、開発者は AI タスクをより簡単に統合および管理できるようになります。
Related MCP Servers
- AsecurityAlicenseAqualityThis server implements the Model Context Protocol to facilitate meaningful interaction and understanding development between humans and AI through structured tools and progressive interaction patterns.Last updated -1322TypeScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that provides persistent task management capabilities for AI assistants, allowing them to create, update, and track tasks beyond their usual context limitations.Last updated -1TypeScript
- -securityFlicense-qualityA demonstration implementation of the Model Context Protocol server that facilitates communication between AI models and external tools while maintaining context awareness.Last updated -Python
- -securityAlicense-qualityA zero-configuration tool that automatically converts FastAPI endpoints into Model Context Protocol (MCP) tools, enabling AI systems to interact with your API through natural language.Last updated -1PythonMIT License