mcpField
A
Agent2AgentProtocol_MCP_servers

Agent2AgentProtocol_MCP_servers

ローカル
github.com/sanikacentricAI・エージェント079 週間前に更新

Agent2AgentProtocol_MCP_servers について

Agent2AgentProtocol_MCP_serversは、航空会社エージェントとMCP対応のWeb・データベースサーバーを使った旅行予約のPythonシミュレーションです。予約エージェントが構造化メッセージで複数社の料金を集め、モックデータを使って価格順に並べます。

主な機能

  1. 01航空会社と予約エージェントのシミュレーション
  2. 02Web・データベースサーバーのモデル化
  3. 03構造化されたエージェントメッセージの交換
  4. 04サービス料金の収集と並べ替え
  5. 05サーバー停止時のエラー処理

活用シーン

  1. 01複数航空会社の航空券価格の比較
  2. 02提供可能なホテル料金の検索
  3. 03Pythonでのモジュール型エージェント通信の練習

MCP 対応

サービス料金のリクエストに応答するMCPサーバーをシミュレートします。エージェント間の旅行予約フローの一部として動作します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ユーザーがフライト、ホテル、レンタカーを予約したいと考えている旅行予約システムを構築します。 このプロジェクトでは、MCP サーバー(Web サーバーとデータベースサーバー)を介して航空会社と接続する旅行エージェントをシミュレートします。 メッセージを使ってやり取りし、価格を比較して、お客様に最適な選択肢を見つけます。

この例では、データクラス、列挙型、サーバー、エージェントなどのさまざまな要素が、Python でうまく連携する方法を紹介します。

🔥 関連する手順

  1. 共通のデータ構造を定義する 列挙型(ServiceType、MCPType、AgentStatus)を作成し、サービス名とステータスを標準化します。

データクラスの AgentMessage を使うと、エージェントは送信者、受信者、タイムスタンプなどの構造化された情報を簡単に送信できます。

  1. MCP サーバーを設定する MCPServer はバックエンドサーバーとして機能します。

サーバーの種類(Web または Database)に応じて、価格取得などのさまざまなリクエストへの応答方法を決定します。

サーバーがオフラインの場合は、エラーを返します。

  1. エージェントカードを作成する AgentCard は、航空会社またはサービスプロバイダーを表します。

各エージェントには、次のものがあります。

Web サーバー

データベースサーバー

対応するサービス(フライト、ホテルなど)

独自の認証トークン

エージェントはメッセージを生成し、他のエージェントからの応答を検証できます。

  1. 航空会社のエージェントを接続する AirlineAgent はエージェントカードを航空会社の業務に接続します。

予約エージェントからのリクエストが適切な場所に渡されるようにします。

  1. 予約エージェントを設定する BookingAgent は旅行検索エンジンとして機能します。

複数の航空会社に問い合わせて、フライトやホテルの最安値を見つけます。

  1. 最適な選択肢を見つける find_best_option() メソッドを使って、次の処理を行います。

予約エージェントが航空会社に問い合わせる

価格を収集する

最も安いプランを選ぶ

結果をお客様に表示する

🛠️ 使用例 メインプログラムでは、次の処理を行います。

価格が異なる 2 社の航空会社(Emirates と Air India)を作成します。

両社に接続する予約エージェント(TravelMaster)を 1 つ作成します。

ユーザーがフライトを検索すると、次の処理が行われます。

TravelMaster が価格確認リクエストを送信します。

応答を収集します。

最安値のフライトを表示します。

👉 出力例:

yaml Copy Edit 最適なフライトの選択肢:

  1. AirIndia:250 USD
  2. Emirates:300 USD (Air India はホテルを提供していないため、ホテルの選択肢は空です。)

📝 まとめ

要素役割
ServiceType、MCPType、AgentStatus標準用語を定義する
AgentMessage通信を構造化する
MCPServerバックエンドサービスを処理する
AgentCardサービスプロバイダーを表す
AirlineAgent航空会社をエージェントに接続する
BookingAgent最適な旅行の選択肢を見つける

このシステムは、非常にシンプルでわかりやすい形で、現実の予約ポータルのミニチュアのように動作します。

🏁 まとめ このプロジェクトでは、次のようなクリーンなコーディング原則を使って、Python で現実世界のエージェント間通信をシミュレートする方法を紹介します。 ✅ モジュール化されたクラス ✅ メッセージに使うデータクラス ✅ ステータス管理に使う列挙型 ✅ 簡単なエージェント間通信 ✅ スマートなサーバー処理

シンプルな設計ですが、後から本格的なアプリケーションへ拡張するうえで非常に有用です(リアルタイム予約や決済システムなどを追加できます)。

🌟 この設計のメリット 関心の分離:各クラスが独自の責務(サーバー、エージェント、予約)を処理します。

拡張性:航空会社、ホテル、レンタカーサービスを簡単に追加できます。

エラー処理:サーバーが利用できない場合、エラーメッセージを返します。

構造化された通信:メッセージの受け渡しが明確で一貫しています。

モックデータ:実際の API がなくても簡単にテストできます。

実践的な学習:実際の Web サービスの通信フローを模倣します。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。