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
|
Nom du gestionnaire d’autorisation. |
|
context
Obligatoire
|
Activer le contexte de l’opération actuelle. |
|
auth_token
|
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
|
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")