McpToolRegistrationService Classe

Fornece serviços de registo de ferramentas MCP para agentes do Agent Framework.

Este serviço trata do registo e gestão de servidores de ferramentas MCP (Model Context Protocol) com agentes do Agent Framework.

Construtor

McpToolRegistrationService()

Parâmetros

Name Description
logger
Default value: None

Métodos

__init__

Inicialize o Serviço de Registo da Ferramenta MCP para o Agent Framework.

__new__
add_tool_servers_to_agent

Adicionar servidores de ferramentas MCP a um RawAgent (espelho da implementação .NET).

cleanup

Limpar quaisquer recursos usados pelo serviço.

send_chat_history_from_store

Envie o histórico de chat de um HistoryProvider para a plataforma MCP.

Este é um método de conveniência que extrai mensagens da loja e delega para send_chat_history_messages().

send_chat_history_messages

Envie mensagens de histórico de chat para a plataforma MCP para proteção contra ameaças em tempo real.

Este é o principal método de implementação que gere a conversão e delegação de mensagens para o serviço de ferramentas principal.

Note

Mesmo que chat_messages esteja vazio ou todas as mensagens sejam filtradas durante

a conversão, o pedido continuará a ser enviado para a plataforma MCP. Isto

Garante que a mensagem do utilizador de turn_context.activity.text está registada

Corretamente para proteção contra ameaças em tempo real.

__init__

Inicialize o Serviço de Registo da Ferramenta MCP para o Agent Framework.

__init__(logger: Logger | None = None)

Parâmetros

Name Description
logger

Instância do logger para operações de registo.

Default value: None

__new__

__new__(**kwargs)

add_tool_servers_to_agent

Adicionar servidores de ferramentas MCP a um RawAgent (espelho da implementação .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

Parâmetros

Name Description
chat_client
Necessário
<xref:OpenAIChatClient>

A instância cliente de chat (OpenAIChatClient suporta tanto OpenAI como Azure OpenAI)

agent_instructions
Necessário
str

Instruções para o comportamento do agente

initial_tools
Necessário

Lista de ferramentas iniciais para adicionar ao agente

auth
Necessário
<xref:Authorization>

Contexto de autorização para troca de tokens

auth_handler_name
Necessário
str

Nome do responsável pela autorização.

turn_context
Necessário
<xref:TurnContext>

Contexto de viragem para a operação

auth_token

Token portador opcional para autenticação

Default value: None

Devoluções

Tipo Description
<xref:RawAgent>

Instância RawAgent com ferramentas MCP registada.

Exceções

Tipo Description

Se a criação de agentes falhar.

cleanup

Limpar quaisquer recursos usados pelo serviço.

async cleanup()

send_chat_history_from_store

Envie o histórico de chat de um HistoryProvider para a plataforma MCP.

Este é um método de conveniência que extrai mensagens da loja e delega para send_chat_history_messages().

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

Parâmetros

Name Description
chat_message_store
Necessário
<xref:agent_framework._sessions.HistoryProvider>

HistoryProvider contendo o histórico de conversas.

turn_context
Necessário

TurnContext do SDK Agents que contém informações de conversa.

tool_options

Configuração opcional para o pedido.

Default value: None

Devoluções

Tipo Description

Resultado da Operação indica sucesso ou fracasso da operação.

Exceções

Tipo Description

Se chat_message_store ou turn_context for Nenhum.

Exemplos


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

send_chat_history_messages

Envie mensagens de histórico de chat para a plataforma MCP para proteção contra ameaças em tempo real.

Este é o principal método de implementação que gere a conversão e delegação de mensagens para o serviço de ferramentas principal.

Note

Mesmo que chat_messages esteja vazio ou todas as mensagens sejam filtradas durante

a conversão, o pedido continuará a ser enviado para a plataforma MCP. Isto

Garante que a mensagem do utilizador de turn_context.activity.text está registada

Corretamente para proteção contra ameaças em tempo real.

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

Parâmetros

Name Description
chat_messages
Necessário
Sequence[<xref:agent_framework._types.Message>]

Sequência de objetos Message do Agent Framework a enviar. Pode estar vazio – o pedido continuará a ser enviado para registar a mensagem do utilizador do turn_context.activity.text.

turn_context
Necessário

TurnContext do SDK Agents que contém informações de conversa.

tool_options

Configuração opcional para o pedido. Por defeito, utiliza opções específicas do AgentFramework se não forem fornecidas.

Default value: None

Devoluções

Tipo Description

Resultado da Operação indica sucesso ou fracasso da operação.

Exceções

Tipo Description

Se chat_messages ou turn_context for Nenhum.

Exemplos


>>> 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")