McpToolRegistrationService Classe

Fornece serviços de registro de ferramenta MCP para agentes do Agent Framework.

Esse serviço lida com o registro e o gerenciamento de servidores de ferramenta MCP (Protocolo de Contexto de Modelo) com agentes do Agent Framework.

Construtor

McpToolRegistrationService()

Parâmetros

Nome Description
logger
Valor padrão: None

Métodos

__init__

Inicialize o Serviço de Registro de Ferramentas do MCP para o Agent Framework.

__new__
add_tool_servers_to_agent

Adicione servidores de ferramentas MCP a um RawAgent (espelha a implementação do .NET).

cleanup

Limpe todos os recursos usados pelo serviço.

send_chat_history_from_store

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

Esse é um método de conveniência que extrai mensagens do repositório 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.

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

Note

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

conversão, a solicitação ainda será enviada para a plataforma MCP. Este

garante que a mensagem do usuário de turn_context.activity.text seja registrada

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

__init__

Inicialize o Serviço de Registro de Ferramentas do MCP para o Agent Framework.

__init__(logger: Logger | None = None)

Parâmetros

Nome Description
logger

Instância do agente para operações de registro em log.

Valor padrão: None

__new__

__new__(**kwargs)

add_tool_servers_to_agent

Adicione servidores de ferramentas MCP a um RawAgent (espelha a implementação do .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

Nome Description
chat_client
Obrigatório
<xref:OpenAIChatClient>

A instância do cliente de chat (OpenAIChatClient dá suporte ao OpenAI e ao Azure OpenAI)

agent_instructions
Obrigatório
str

Instruções para o comportamento do agente

initial_tools
Obrigatório

Lista de ferramentas iniciais a serem adicionadas ao agente

auth
Obrigatório
<xref:Authorization>

Contexto de autorização para troca de token

auth_handler_name
Obrigatório
str

Nome do manipulador de autorização.

turn_context
Obrigatório
<xref:TurnContext>

Transformar contexto para a operação

auth_token

Token de portador opcional para autenticação

Valor padrão: None

Retornos

Tipo Description
<xref:RawAgent>

Instância rawAgent com ferramentas MCP registradas.

Exceções

Tipo Description

Se a criação do agente falhar.

cleanup

Limpe todos os 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.

Esse é um método de conveniência que extrai mensagens do repositório 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

Nome Description
chat_message_store
Obrigatório
<xref:agent_framework._sessions.HistoryProvider>

HistoryProvider que contém o histórico de conversas.

turn_context
Obrigatório

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

tool_options

Configuração opcional para a solicitação.

Valor padrão: None

Retornos

Tipo Description

OperationResult indicando êxito ou falha 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.

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

Note

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

conversão, a solicitação ainda será enviada para a plataforma MCP. Este

garante que a mensagem do usuário de turn_context.activity.text seja registrada

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

Nome Description
chat_messages
Obrigatório
Sequence[<xref:agent_framework._types.Message>]

Sequência de objetos de mensagem do Agent Framework a serem enviados. Pode estar vazio – a solicitação ainda será enviada para registrar a mensagem de usuário de turn_context.activity.text.

turn_context
Obrigatório

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

tool_options

Configuração opcional para a solicitação. Padrão para opções específicas do AgentFramework, se não for fornecido.

Valor padrão: None

Retornos

Tipo Description

OperationResult indicando êxito ou falha da operação.

Exceções

Tipo Description

Se chat_messages ou turn_context for None.

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