McpToolServerConfigurationService Classe
Fournit des services pour la gestion de la configuration du serveur d’outils MCP.
Ce service gère la découverte et la configuration des serveurs d’outils MCP (Model Context Protocol) à partir de plusieurs sources :
- Développement : fichiers de ToolingManifest.json locaux
- Production : points de terminaison de passerelle d’outils distants
Constructeur
McpToolServerConfigurationService()
Paramètres
| Nom | Description |
|---|---|
|
logger
|
Valeur par défaut: None
|
Méthodes
| __init__ |
Initialisez le service de configuration du serveur d’outils MCP. |
| __new__ | |
| list_tool_servers |
Obtient la liste des serveurs MCP configurés pour l’agent. Quand
|
| send_chat_history |
Envoie l’historique des conversations à la plateforme MCP pour la protection contre les menaces en temps réel. Note Même si chat_history_messages est vide, la demande est toujours envoyée à plateforme MCP. Cela garantit que le message utilisateur à partir de turn_context.activity.text est inscrit correctement pour la protection contre les menaces en temps réel. |
__init__
__new__
__new__(**kwargs)
list_tool_servers
Obtient la liste des serveurs MCP configurés pour l’agent.
Quand authorization, auth_handler_nameet turn_context sont tous fournis, les jetons OAuth par audience sont acquis pour chaque serveur après la découverte :
- Les serveurs V1 (aucun
audiencechamp) partagent le jeton ATG partagé (un échange). - Les serveurs V2 reçoivent chacun un jeton limité à leur propre GUID d’audience.
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]
Paramètres
| Nom | Description |
|---|---|
|
agentic_app_id
Obligatoire
|
ID d’application agentique de l’agent. |
|
auth_token
|
Jeton d’authentification utilisé pour la découverte de passerelle. Valeur par défaut: None
|
|
options
|
Instance ToolOptions facultative contenant des paramètres facultatifs. Valeur par défaut: None
|
|
authorization
|
Contexte d’autorisation facultatif pour l’échange de jetons par audience. Valeur par défaut: None
|
|
auth_handler_name
|
Nom du gestionnaire d’authentification facultatif utilisé avec Valeur par défaut: None
|
|
turn_context
|
TurnContext facultatif utilisé avec Valeur par défaut: None
|
Retours
| Type | Description |
|---|---|
|
Retourne la liste des serveurs MCP configurés, chacun avec un |
Exceptions
| Type | Description |
|---|---|
|
Si les paramètres requis ne sont pas valides ou vides. |
|
|
En cas d’erreur lors de la communication avec la passerelle d’outils ou d’un échange de jetons par audience échoue. |
send_chat_history
Envoie l’historique des conversations à la plateforme MCP pour la protection contre les menaces en temps réel.
Note
Même si chat_history_messages est vide, la demande est toujours envoyée à
plateforme MCP. Cela garantit que le message utilisateur à partir de turn_context.activity.text
est inscrit correctement pour la protection contre les menaces en temps réel.
async send_chat_history(turn_context: TurnContext, chat_history_messages: List[ChatHistoryMessage], 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. Doit avoir une activité valide avec conversation.id, activity.id et activity.text. |
|
chat_history_messages
Obligatoire
|
Liste des objets ChatHistoryMessage représentant l’historique des conversations. Peut être vide : une liste vide envoie toujours une demande à la plateforme MCP avec l’historique des conversations vide. |
|
options
|
Instance ToolOptions facultative contenant des paramètres facultatifs. Valeur par défaut: None
|
Retours
| Type | Description |
|---|---|
|
<xref:OperationResult>
|
OpérationResult indiquant la réussite ou l’échec. En cas de réussite, retourne OperationResult.success(). En cas d’échec, retourne OperationResult.failed() avec les détails de l’erreur. |
Exceptions
| Type | Description |
|---|---|
|
Si turn_context est None, chat_history_messages is None, turn_context.activity is None, or any of the required fields (conversation.id, activity.id, activity.text) are missing or empty. |
Exemples
>>> 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")