McpToolServerConfigurationService クラス
MCP ツール サーバー構成管理のサービスを提供します。
このサービスは、複数のソースからの MCP (モデル コンテキスト プロトコル) ツール サーバーの検出と構成を処理します。
- 開発: ローカル ToolingManifest.json ファイル
- 運用: リモート ツール ゲートウェイ エンドポイント
コンストラクター
McpToolServerConfigurationService()
パラメーター
| 名前 | 説明 |
|---|---|
|
logger
|
規定値: None
|
メソッド
| __init__ |
MCP ツール サーバー構成サービスを初期化します。 |
| __new__ | |
| list_tool_servers |
エージェント用に構成されている MCP サーバーの一覧を取得します。
|
| send_chat_history |
リアルタイムの脅威保護のために、チャット履歴を MCP プラットフォームに送信します。 Note chat_history_messagesが空の場合でも、要求は MCP プラットフォーム。 これにより、turn_context.activity.text からのユーザー メッセージが確実に表示されます。 は、リアルタイムの脅威保護のために正しく登録されます。 |
__init__
__new__
__new__(**kwargs)
list_tool_servers
エージェント用に構成されている MCP サーバーの一覧を取得します。
authorization、auth_handler_name、およびturn_contextがすべて提供されると、検出後に各サーバーの対象ユーザーごとの OAuth トークンが取得されます。
- V1 サーバー (
audienceフィールドなし) は、共有 ATG トークン (1 つの交換) を共有します。 - V2 サーバーはそれぞれ、独自の対象ユーザー GUID をスコープとしたトークンを受け取ります。
async list_tool_servers(agentic_app_id: str, auth_token: str | None = None, options: ToolOptions | None = None, authorization: Authorization | None = None, auth_handler_name: str | None = None, turn_context: TurnContext | None = None) -> List[MCPServerConfig]
パラメーター
| 名前 | 説明 |
|---|---|
|
agentic_app_id
必須
|
エージェントのエージェント アプリ ID。 |
|
auth_token
|
ゲートウェイの検出に使用される認証トークン。 規定値: None
|
|
options
|
省略可能なパラメーターを含む省略可能な ToolOptions インスタンス。 規定値: None
|
|
authorization
|
対象ユーザーごとのトークン交換のオプションの承認コンテキスト。 規定値: None
|
|
auth_handler_name
|
規定値: None
|
|
turn_context
|
規定値: None
|
返品
| 型 | 説明 |
|---|---|
|
構成されている MCP サーバーの一覧を返します。各サーバーには、認証コンテキストが指定されたときに |
例外
| 型 | 説明 |
|---|---|
|
必要なパラメーターが無効または空の場合。 |
|
|
ツール ゲートウェイとの通信中にエラーが発生した場合、または対象ユーザーごとのトークン交換が失敗する場合。 |
send_chat_history
リアルタイムの脅威保護のために、チャット履歴を MCP プラットフォームに送信します。
Note
chat_history_messagesが空の場合でも、要求は
MCP プラットフォーム。 これにより、turn_context.activity.text からのユーザー メッセージが確実に表示されます。
は、リアルタイムの脅威保護のために正しく登録されます。
async send_chat_history(turn_context: TurnContext, chat_history_messages: List[ChatHistoryMessage], options: ToolOptions | None = None) -> OperationResult
パラメーター
| 名前 | 説明 |
|---|---|
|
turn_context
必須
|
会話情報を含む Agents SDK の TurnContext。 conversation.id、activity.id、activity.text を含む有効なアクティビティが必要です。 |
|
chat_history_messages
必須
|
チャット履歴を表す ChatHistoryMessage オブジェクトの一覧。 空の場合もあります。空のリストは、空のチャット履歴を使用して MCP プラットフォームに要求を送信します。 |
|
options
|
省略可能なパラメーターを含む省略可能な ToolOptions インスタンス。 規定値: None
|
返品
| 型 | 説明 |
|---|---|
|
<xref:OperationResult>
|
成功または失敗を示す OperationResult。 成功した場合は、OperationResult.success() を返します。 失敗した場合は、エラーの詳細を含む OperationResult.failed() を返します。 |
例外
| 型 | 説明 |
|---|---|
|
turn_contextが None の場合、chat_history_messagesは None、turn_context.activity は None、または必須フィールド (conversation.id、activity.id、activity.text) が見つからないか空です。 |
例
>>> from datetime import datetime, timezone
>>> from microsoft_agents_a365.tooling.models import ChatHistoryMessage
>>>
>>> history = [
... ChatHistoryMessage("msg-1", "user", "Hello", datetime.now(timezone.utc)),
... ChatHistoryMessage("msg-2", "assistant", "Hi!", datetime.now(timezone.utc))
... ]
>>>
>>> service = McpToolServerConfigurationService()
>>> result = await service.send_chat_history(turn_context, history)
>>> if result.succeeded:
... print("Chat history sent successfully")