McpToolRegistrationService クラス

セマンティック カーネルのツールに関連するサービスを提供します。

このサービスは、セマンティック カーネル エージェントを使用した MCP (モデル コンテキスト プロトコル) ツール サーバーの登録と管理を処理します。

コンストラクター

McpToolRegistrationService()

パラメーター

名前 説明
logger
規定値: None

メソッド

__init__

セマンティック カーネルの MCP ツール登録サービスを初期化します。

__new__
add_tool_servers_to_agent

指定したカーネルに A365 MCP ツール サーバーを追加します。

cleanup_connections

接続されているすべての MCP プラグインをクリーンアップします。

send_chat_history

セマンティック カーネル チャット履歴を MCP プラットフォームに送信します。

このメソッドは、セマンティック カーネル ChatHistory オブジェクトからメッセージを抽出し、それらを ChatHistoryMessage 形式に変換して、リアルタイムの脅威保護のために MCP プラットフォームに送信します。

send_chat_history_messages

セマンティック カーネル チャット履歴メッセージを MCP プラットフォームに送信します。

このメソッドは、セマンティック カーネル ChatMessageContent オブジェクトのシーケンスを受け入れ、それらを ChatHistoryMessage 形式に変換し、リアルタイムの脅威保護のために MCP プラットフォームに送信します。

__init__

セマンティック カーネルの MCP ツール登録サービスを初期化します。

__init__(logger: Logger | None = None)

パラメーター

名前 説明
logger

ログ記録操作のロガー インスタンス。

規定値: None

__new__

__new__(**kwargs)

add_tool_servers_to_agent

指定したカーネルに A365 MCP ツール サーバーを追加します。

async add_tool_servers_to_agent(kernel: Kernel, auth: Authorization, auth_handler_name: str, context: TurnContext, auth_token: str | None = None) -> None

パラメーター

名前 説明
kernel
必須

ツールが追加されるセマンティック カーネル インスタンス。

auth
必須

トークン交換の承認ハンドラー。

auth_handler_name
必須
str

承認ハンドラーの名前。

context
必須

現在の操作のコンテキストを有効にします。

auth_token
str | None

MCP サーバーにアクセスするための認証トークン。

規定値: None

返品

説明

例外

説明

カーネルが None の場合、または必須パラメーターが無効です。

MCP サーバーへの接続または構成中にエラーが発生した場合。

cleanup_connections

接続されているすべての MCP プラグインをクリーンアップします。

async cleanup_connections() -> None

返品

説明

send_chat_history

セマンティック カーネル チャット履歴を MCP プラットフォームに送信します。

このメソッドは、セマンティック カーネル ChatHistory オブジェクトからメッセージを抽出し、それらを ChatHistoryMessage 形式に変換して、リアルタイムの脅威保護のために MCP プラットフォームに送信します。

async send_chat_history(turn_context: TurnContext, chat_history: ChatHistory, limit: int | None = None, options: ToolOptions | None = None) -> OperationResult

パラメーター

名前 説明
turn_context
必須

会話情報を含む Agents SDK の TurnContext。

chat_history
必須

メッセージを含むセマンティック カーネル ChatHistory オブジェクト。

limit
int | None

送信するメッセージの最大数 (省略可能)。 指定した場合は、最新の N メッセージを送信します。 None の場合は、すべてのメッセージを送信します。

規定値: None
options

要求のオプションの構成。

規定値: None

返品

説明

成功または失敗を示す OperationResult。

例外

説明

turn_contextまたはchat_historyが None の場合。


>>> from semantic_kernel.contents import ChatHistory
>>> from microsoft_agents_a365.tooling.extensions.semantickernel import (
...     McpToolRegistrationService
... )
>>>
>>> service = McpToolRegistrationService()
>>> chat_history = ChatHistory()
>>> chat_history.add_user_message("Hello!")
>>> chat_history.add_assistant_message("Hi there!")
>>>
>>> result = await service.send_chat_history(
...     turn_context, chat_history, limit=50
... )
>>> if result.succeeded:
...     print("Chat history sent successfully")

send_chat_history_messages

セマンティック カーネル チャット履歴メッセージを MCP プラットフォームに送信します。

このメソッドは、セマンティック カーネル ChatMessageContent オブジェクトのシーケンスを受け入れ、それらを ChatHistoryMessage 形式に変換し、リアルタイムの脅威保護のために MCP プラットフォームに送信します。

async send_chat_history_messages(turn_context: TurnContext, messages: Sequence[ChatMessageContent], options: ToolOptions | None = None) -> OperationResult

パラメーター

名前 説明
turn_context
必須

会話情報を含む Agents SDK の TurnContext。

messages
必須

送信するセマンティック カーネル ChatMessageContent オブジェクトのシーケンス。

options

要求のオプションの構成。

規定値: None

返品

説明

成功または失敗を示す OperationResult。

例外

説明

turn_contextまたはメッセージが None の場合。


>>> from semantic_kernel.contents import ChatMessageContent, AuthorRole
>>> from microsoft_agents_a365.tooling.extensions.semantickernel import (
...     McpToolRegistrationService
... )
>>>
>>> service = McpToolRegistrationService()
>>> messages = [
...     ChatMessageContent(role=AuthorRole.USER, content="Hello!"),
...     ChatMessageContent(role=AuthorRole.ASSISTANT, content="Hi there!"),
... ]
>>>
>>> result = await service.send_chat_history_messages(
...     turn_context, messages
... )
>>> if result.succeeded:
...     print("Chat history sent successfully")