McpToolRegistrationService 类

为代理框架代理提供 MCP 工具注册服务。

此服务使用 Agent Framework 代理处理 MCP(模型上下文协议)工具服务器的注册和管理。

构造函数

McpToolRegistrationService()

参数

名称 说明
logger
默认值: None

方法

__init__

初始化 Agent Framework 的 MCP 工具注册服务。

__new__
add_tool_servers_to_agent

将 MCP 工具服务器添加到 RawAgent(镜像 .NET 实现)。

cleanup

清理服务使用的任何资源。

send_chat_history_from_store

将聊天历史记录从 HistoryProvider 发送到 MCP 平台。

这是一种便捷的方法,用于从存储和委托中提取消息到 send_chat_history_messages()。

send_chat_history_messages

将聊天历史记录消息发送到 MCP 平台进行实时威胁防护。

这是处理消息转换和委派到核心工具服务的主要实现方法。

注释

即使chat_messages为空或所有消息在

转换,请求仍将发送到 MCP 平台。 这

确保注册来自 turn_context.activity.text 的用户消息

正确用于实时威胁防护。

__init__

初始化 Agent Framework 的 MCP 工具注册服务。

__init__(logger: Logger | None = None)

参数

名称 说明
logger

日志记录作的记录器实例。

默认值: None

__new__

__new__(**kwargs)

add_tool_servers_to_agent

将 MCP 工具服务器添加到 RawAgent(镜像 .NET 实现)。

async add_tool_servers_to_agent(chat_client: OpenAIChatClient, agent_instructions: str, initial_tools: List[object], auth: Authorization, auth_handler_name: str, turn_context: TurnContext, auth_token: str | None = None) -> RawAgent

参数

名称 说明
chat_client
必需
<xref:OpenAIChatClient>

聊天客户端实例(OpenAIChatClient 支持 OpenAI 和 Azure OpenAI)

agent_instructions
必需
str

代理行为的说明

initial_tools
必需

要添加到代理的初始工具列表

auth
必需
<xref:Authorization>

令牌交换的授权上下文

auth_handler_name
必需
str

授权处理程序的名称。

turn_context
必需
<xref:TurnContext>

为作轮次上下文

auth_token

用于身份验证的可选持有者令牌

默认值: None

返回

类型 说明
<xref:RawAgent>

已注册 MCP 工具的 RawAgent 实例。

例外

类型 说明

如果代理创建失败。

cleanup

清理服务使用的任何资源。

async cleanup()

send_chat_history_from_store

将聊天历史记录从 HistoryProvider 发送到 MCP 平台。

这是一种便捷的方法,用于从存储和委托中提取消息到 send_chat_history_messages()。

async send_chat_history_from_store(chat_message_store: HistoryProvider, turn_context: TurnContext, tool_options: ToolOptions | None = None) -> OperationResult

参数

名称 说明
chat_message_store
必需
<xref:agent_framework._sessions.HistoryProvider>

包含对话历史记录的 HistoryProvider。

turn_context
必需

来自包含聊天信息的代理 SDK 的 TurnContext。

tool_options

请求的可选配置。

默认值: None

返回

类型 说明

指示操作成功或失败的 OperationResult。

例外

类型 说明

如果chat_message_store或turn_context为 None。

示例


>>> service = McpToolRegistrationService()
>>> result = await service.send_chat_history_from_store(
...     thread.chat_message_store, turn_context
... )

send_chat_history_messages

将聊天历史记录消息发送到 MCP 平台进行实时威胁防护。

这是处理消息转换和委派到核心工具服务的主要实现方法。

注释

即使chat_messages为空或所有消息在

转换,请求仍将发送到 MCP 平台。 这

确保注册来自 turn_context.activity.text 的用户消息

正确用于实时威胁防护。

async send_chat_history_messages(chat_messages: Sequence[Message], turn_context: TurnContext, tool_options: ToolOptions | None = None) -> OperationResult

参数

名称 说明
chat_messages
必需
Sequence[<xref:agent_framework._types.Message>]

要发送的 Agent Framework 消息对象的序列。 可以为空 - 请求仍将发送到从 turn_context.activity.text 注册用户消息。

turn_context
必需

来自包含聊天信息的代理 SDK 的 TurnContext。

tool_options

请求的可选配置。 如果未提供,则默认为 AgentFramework 特定的选项。

默认值: None

返回

类型 说明

指示操作成功或失败的 OperationResult。

例外

类型 说明

如果chat_messages或turn_context为 None。

示例


>>> service = McpToolRegistrationService()
>>> messages = [Message(role="user", text="Hello")]
>>> result = await service.send_chat_history_messages(messages, turn_context)
>>> if result.succeeded:
...     print("Chat history sent successfully")