McpToolServerConfigurationService Classe

Fornece serviços para o gerenciamento de configuração do servidor de ferramentas MCP.

Esse serviço lida com a descoberta e a configuração de servidores de ferramenta MCP (Protocolo de Contexto de Modelo) de várias fontes:

  • Desenvolvimento: Arquivos de ToolingManifest.json locais
  • Produção: pontos de extremidade de gateway de ferramentas remotas

Construtor

McpToolServerConfigurationService()

Parâmetros

Nome Description
logger
Valor padrão: None

Métodos

__init__

Inicialize o Serviço de Configuração do Servidor de Ferramentas do MCP.

__new__
list_tool_servers

Obtém a lista de servidores MCP configurados para o agente.

Quando authorization, auth_handler_namee turn_context todos são fornecidos, os tokens OAuth por público-alvo são adquiridos para cada servidor após a descoberta:

  • Servidores V1 (sem audience campo) compartilham o token ATG compartilhado (uma troca).
  • Cada um dos servidores V2 recebe um token com escopo para seu próprio GUID de audiência.
send_chat_history

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

Note

Mesmo que chat_history_messages esteja vazio, a solicitação ainda será enviada para

a plataforma MCP. Isso garante que a mensagem do usuário de turn_context.activity.text

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

__init__

Inicialize o Serviço de Configuração do Servidor de Ferramentas do MCP.

__init__(logger: Logger | None = None)

Parâmetros

Nome Description
logger

Instância do agente para operações de registro em log. Se Nenhum, cria um novo agente.

Valor padrão: None

__new__

__new__(**kwargs)

list_tool_servers

Obtém a lista de servidores MCP configurados para o agente.

Quando authorization, auth_handler_namee turn_context todos são fornecidos, os tokens OAuth por público-alvo são adquiridos para cada servidor após a descoberta:

  • Servidores V1 (sem audience campo) compartilham o token ATG compartilhado (uma troca).
  • Cada um dos servidores V2 recebe um token com escopo para seu próprio GUID de audiência.
async list_tool_servers(agentic_app_id: str, auth_token: str | None = None, options: ToolOptions | None = None, authorization: Authorization | None = None, auth_handler_name: str | None = None, turn_context: TurnContext | None = None) -> List[MCPServerConfig]

Parâmetros

Nome Description
agentic_app_id
Obrigatório
str

ID do aplicativo agentic para o agente.

auth_token
str | None

Token de autenticação usado para descoberta de gateway.

Valor padrão: None
options

Instância de ToolOptions opcional que contém parâmetros opcionais.

Valor padrão: None
authorization

Contexto de autorização opcional para troca de token por público-alvo.

Valor padrão: None
auth_handler_name
str | None

Nome opcional do manipulador de autenticação usado com authorization.

Valor padrão: None
turn_context

TurnContext opcional usado com authorization.

Valor padrão: None

Retornos

Tipo Description

Retorna a lista de servidores MCP configurados, cada um com um Authorization cabeçalho anexado quando o contexto de autenticação é fornecido.

Exceções

Tipo Description

Se os parâmetros necessários forem inválidos ou vazios.

Se houver um erro de comunicação com o gateway de ferramentas ou uma troca de tokens por público-alvo falhar.

send_chat_history

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

Note

Mesmo que chat_history_messages esteja vazio, a solicitação ainda será enviada para

a plataforma MCP. Isso garante que a mensagem do usuário de turn_context.activity.text

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

async send_chat_history(turn_context: TurnContext, chat_history_messages: List[ChatHistoryMessage], options: ToolOptions | None = None) -> OperationResult

Parâmetros

Nome Description
turn_context
Obrigatório

TurnContext do SDK de Agentes que contém informações de conversa. Deve ter uma atividade válida com conversation.id, activity.id e activity.text.

chat_history_messages
Obrigatório

Lista de objetos ChatHistoryMessage que representam o histórico de chat. Pode estar vazia – uma lista vazia ainda enviará uma solicitação para a plataforma MCP com histórico de chat vazio.

options

Instância de ToolOptions opcional que contém parâmetros opcionais.

Valor padrão: None

Retornos

Tipo Description
<xref:OperationResult>

Um OperationResult que indica êxito ou falha. Com êxito, retorna OperationResult.success(). Em caso de falha, retorna OperationResult.failed() com detalhes de erro.

Exceções

Tipo Description

Se turn_context for None, chat_history_messages for None, turn_context.activity for None ou qualquer um dos campos necessários (conversation.id, activity.id, activity.text) estarão ausentes ou vazios.

Exemplos


>>> from datetime import datetime, timezone
>>> from microsoft_agents_a365.tooling.models import ChatHistoryMessage
>>>
>>> history = [
...     ChatHistoryMessage("msg-1", "user", "Hello", datetime.now(timezone.utc)),
...     ChatHistoryMessage("msg-2", "assistant", "Hi!", datetime.now(timezone.utc))
... ]
>>>
>>> service = McpToolServerConfigurationService()
>>> result = await service.send_chat_history(turn_context, history)
>>> if result.succeeded:
...     print("Chat history sent successfully")