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