Integrations
Manages environment variables for API keys and configuration settings through .env files
Provides a web API framework for hosting the MCP server, with endpoints for chat interactions and conversation management
Provides repository hosting for the MCP server code with instructions for cloning and contributing
MCPサーバーの実装
外部ツールを使用して大規模言語モデル機能を強化するための Model Context Protocol (MCP) の完全な Flask ベースの実装。
概要
このリポジトリは、モデルのテキスト出力内で直接ツールを呼び出すことでLLM機能を拡張する手法であるモデルコンテキストプロトコル(MCP)を処理するサーバーの構築方法を示します。関数呼び出しとは異なり、MCPはツール定義をコンテキストウィンドウに直接配置し、モデルの自然言語応答を解析してツールの使用状況を識別します。
特徴
- 🔧完全なMCP実装:完全な解析、実行、および応答処理
- 🌤️サンプルツール: パラメータ検証機能を備えた天気予報および計算ツール
- 🔄会話フロー:複数のやり取りにわたってコンテキストを維持する
- 🧩正規表現ベースの解析:ツール呼び出しのための柔軟なテキスト解析
- 🚀 Flask API : チャット統合のための REST API エンドポイント
プロジェクト構造
インストール
- リポジトリをクローンします。Copy
- 仮想環境を作成します。Copy
- 依存関係をインストールします:Copy
- 環境変数を設定します。Copy
使用法
サーバーの実行
Flask 開発サーバーを起動します。
生産の場合:
APIエンドポイント
- POST /chat : MCP でチャットメッセージを処理するCopy
スタンドアロンの例
サンプル スクリプトを実行して、MCP の動作を確認します。
仕組み
- ツール登録: ツールはパラメータと実行ロジックとともに登録されます
- ツール定義の挿入: XML形式のツールの説明がプロンプトに追加されます
- LLM 応答処理: 正規表現パターンは LLM のテキスト出力内のツール呼び出しを識別します。
- ツール実行: パラメータが解析され、適切なツールハンドラに渡されます。
- 結果の挿入: ツールの実行結果がレスポンスに挿入されます
MCPと関数呼び出し
特徴 | MCP | 関数呼び出し |
---|---|---|
定義場所 | プロンプトテキスト | APIパラメータ内 |
呼び出し形式 | 自然言語 | 構造化JSON |
実装 | テキスト解析 | API統合 |
可視性 | 応答で表示される | 隠れている可能性があります |
プラットフォームサポート | テキストベースのLLM | APIサポートが必要 |
会話例
ユーザー: ボストンの天気はどうですか?
法学修士:
処理後:
独自のツールを追加する
Tool
から継承した新しいクラスを作成する- パラメータと実行ロジックを定義する
- MCPハンドラーに登録する
例:
MCP の構成と呼び出しフロー
- ツール登録:
- MCPツールはハンドラーに登録されます
- 各ツールは、名前、説明、パラメータ定義を提供します。
- ツール定義の注入:
- ツール定義がシステムメッセージに追加されます
- MCPのフォーマットはXML構造に従います
- LLM応答処理:
- LLMはツールの呼び出しを含む可能性のある応答を生成します
- パターンマッチングはテキスト内のツール呼び出しを識別します
- ツールパラメータは解析され、ツール実行メソッドに渡されます
- ツールの実行:
- ツールは指定されたパラメータで実行されます
- 結果が会話に反映される
- 会話管理:
- ツールの結果を含む処理済みの応答は会話履歴に追加されます
- 今後のLLMリクエストには、コンテキストのためにこの履歴が含まれます。
会話例
会話の例は次のようになります。
ユーザー: ボストンの天気はどうですか?
システム: MCPツール定義を含むプロンプトをLLMに送信します
LLMの回答:
MCPハンドラ:応答を解析し、ツール呼び出しを見つけて、天気ツールを実行します。
ツール実行結果:
処理された応答(ユーザーに返送されます):
ユーザー: 144 の平方根を計算できますか?
LLMの回答:
MCP ハンドラ:応答を解析し、計算ツールを実行します
ツール実行結果:
処理された応答(ユーザーに返送されます):
これは、LLM のテキストベースの呼び出しから実行および応答処理までの、MCP ツールの使用の完全なフローを示しています。
ライセンス
マサチューセッツ工科大学
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
This server cannot be installed
モデル コンテキスト プロトコルを実装し、自然言語を介して外部ツール機能で LLM を強化する Flask ベースのサーバー。これにより、天気検索や計算などのツールをモデルのテキスト出力で直接呼び出すことができます。