McpToolRegistrationService Classe

Fournit des services d’inscription d’outils MCP pour les agents Azure Foundry.

Ce service gère l’inscription et la gestion des serveurs d’outils MCP (Model Context Protocol) avec des agents Azure Foundry à l’aide du Kit de développement logiciel (SDK) Azure AI. Il fournit une intégration transparente entre les serveurs MCP et l’infrastructure d’agent d’Azure Foundry.

Fonctionnalités :

  • Détection et configuration automatiques du serveur MCP
  • Intégration d’identité Azure à DefaultAzureCredential
  • Définitions d’outils et gestion des ressources
  • Prise en charge des scénarios de développement (ToolingManifest.json) et de production (API de passerelle)
  • Gestion et journalisation complètes des erreurs

Constructeur

McpToolRegistrationService()

Paramètres

Nom Description
logger
Valeur par défaut: None
credential
Valeur par défaut: None

Exemples


>>> service = McpToolRegistrationService()
>>> service.add_tool_servers_to_agent(project_client, agent_id, token)

Méthodes

__init__

Initialisez le service d’inscription de l’outil MCP pour Azure Foundry.

__new__
add_tool_servers_to_agent

Ajoute des serveurs d’outils MCP à un agent Azure Foundry.

send_chat_history

Récupérez et envoyez l’historique des conversations à partir d’Azure AI Foundry à la plateforme MCP.

Cette méthode récupère les messages de l’API Agents Azure AI Foundry à l’aide du client et de l’ID de thread fourni, les convertit au format ChatHistoryMessage et les envoie à la plateforme MCP.

send_chat_history_messages

Envoyez des messages d’historique des conversations Azure AI Foundry à la plateforme MCP.

Cette méthode accepte une séquence d’objets Azure AI Foundry ThreadMessage, les convertit au format ChatHistoryMessage et les envoie à la plateforme MCP pour la protection contre les menaces en temps réel.

__init__

Initialisez le service d’inscription de l’outil MCP pour Azure Foundry.

__init__(logger: Logger | None = None, credential: DefaultAzureCredential | None = None)

Paramètres

Nom Description
logger

Instance d’enregistreur d’événements pour les opérations de journalisation.

Valeur par défaut: None
credential
<xref:azure.identity._credentials.default.DefaultAzureCredential> | None

Informations d’identification Azure pour l’authentification. Si aucun, DefaultAzureCredential sera utilisé.

Valeur par défaut: None

__new__

__new__(**kwargs)

add_tool_servers_to_agent

Ajoute des serveurs d’outils MCP à un agent Azure Foundry.

async add_tool_servers_to_agent(project_client: AIProjectClient, auth: Authorization, auth_handler_name: str, context: TurnContext, auth_token: str | None = None) -> None

Paramètres

Nom Description
project_client
Obligatoire
<xref:azure.ai.projects._patch.AIProjectClient>

Instance d’Azure Foundry AIProjectClient.

auth
Obligatoire

Gestionnaire d’autorisation pour l’échange de jetons.

auth_handler_name
Obligatoire
str

Nom du gestionnaire d’autorisation.

context
Obligatoire

Activer le contexte de l’opération actuelle.

auth_token
str | None

Jeton d’authentification pour accéder aux serveurs MCP.

Valeur par défaut: None

Retours

Type Description

Exceptions

Type Description

Si project_client n’est pas valide ou si les paramètres requis ne sont pas valides.

En cas d’erreur lors de l’inscription de l’outil MCP.

send_chat_history

Récupérez et envoyez l’historique des conversations à partir d’Azure AI Foundry à la plateforme MCP.

Cette méthode récupère les messages de l’API Agents Azure AI Foundry à l’aide du client et de l’ID de thread fourni, les convertit au format ChatHistoryMessage et les envoie à la plateforme MCP.

async send_chat_history(agents_client: AgentsClient, thread_id: str, turn_context: TurnContext, tool_options: ToolOptions | None = None) -> OperationResult

Paramètres

Nom Description
agents_client
Obligatoire
<xref:azure.ai.agents._patch.AgentsClient>

Instance Azure AI Foundry AgentsClient.

thread_id
Obligatoire
str

ID de thread contenant les messages à envoyer.

turn_context
Obligatoire

TurnContext à partir du Kit de développement logiciel (SDK) Agents contenant des informations de conversation.

tool_options

Configuration facultative pour la demande.

Valeur par défaut: None

Retours

Type Description

OperationResult indiquant la réussite ou l’échec.

Exceptions

Type Description

Si agents_client, thread_id ou turn_context n’est pas/vide.

Exemples


>>> from azure.ai.agents import AgentsClient
>>> from azure.identity import DefaultAzureCredential
>>>
>>> client = AgentsClient(endpoint, credential=DefaultAzureCredential())
>>> service = McpToolRegistrationService()
>>> result = await service.send_chat_history(
...     client, thread_id, turn_context
... )

send_chat_history_messages

Envoyez des messages d’historique des conversations Azure AI Foundry à la plateforme MCP.

Cette méthode accepte une séquence d’objets Azure AI Foundry ThreadMessage, les convertit au format ChatHistoryMessage et les envoie à la plateforme MCP pour la protection contre les menaces en temps réel.

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

Paramètres

Nom Description
turn_context
Obligatoire

TurnContext à partir du Kit de développement logiciel (SDK) Agents contenant des informations de conversation.

messages
Obligatoire
Sequence[<xref:azure.ai.agents.models._patch.ThreadMessage>]

Séquence d’objets ThreadMessage Azure AI Foundry à envoyer.

tool_options

Configuration facultative pour la demande.

Valeur par défaut: None

Retours

Type Description

OperationResult indiquant la réussite ou l’échec.

Exceptions

Type Description

Si turn_context ou les messages ne sont pas.

Exemples


>>> service = McpToolRegistrationService()
>>> messages = await agents_client.messages.list(thread_id=thread_id)
>>> result = await service.send_chat_history_messages(
...     turn_context, list(messages)
... )
>>> if result.succeeded:
...     print("Chat history sent successfully")