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