Invite de confirmation pour les plug-ins MCP et API pour Microsoft 365 Copilot

Importante

Les plug-ins sont uniquement pris en charge en tant qu’actions au sein d’agents déclaratifs. Ils ne sont pas activés dans Microsoft 365 Copilot.

La première fois que Microsoft 365 Copilot utilise un plug-in MCP (Model Context Protocol) ou API, il avertit l’utilisateur et lui demande d’autoriser ou d’annuler l’opération. Si l’utilisateur autorise Copilot à se connecter au plug-in, toutes les futures opérations qui récupèrent des données (opérations HTTP GET) ne nécessitent aucune confirmation. D’autres opérations HTTP invitent l’utilisateur à afficher les données à envoyer et à lui donner le choix d’autoriser ou de refuser.

Boîte de dialogue de confirmation Copilot pour la première connexion à un plug-in

Les développeurs de plug-ins peuvent modifier ce comportement pour des opérations individuelles dans leur serveur ou API MCP. Les développeurs peuvent également personnaliser le texte que Copilot affiche à l’utilisateur dans le cadre de l’invite de confirmation.

Remplacement du comportement d’invite

Les développeurs peuvent contrôler si Microsoft 365 Copilot demande à l’utilisateur de confirmer (après l’invite initiale) d’un outil spécifique en définissant la readOnlyHint propriété true sur pour l’outil dans la réponse du tools/list serveur MCP. Pour plus d’informations, consultez les informations de référence sur le schéma MCP.

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "get_weather",
        "title": "Weather Information Provider",
        "description": "Get current weather information for a location",
        "annotations": {
          "readOnlyHint": true,
        },
        "inputSchema": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "City name or zip code"
            }
          },
          "required": ["location"]
        }
      }
    ]
  }
}

Personnalisation du texte de confirmation

Les développeurs peuvent spécifier le texte de confirmation en définissant la body propriété dans l’objet Confirmation dans l’objet Function capabilities de la fonction dans le manifeste du plug-in. La valeur de body doit indiquer ce que fait la fonction. Si cette propriété n’est pas présente dans le manifeste, la description propriété dans l’objet Function est utilisée à la place.

{
  "name": "GetBudgets",
  "description": "Returns details including name and available funds of budgets, optionally filtered by budget name",
  "capabilities": {
    "confirmation": {
      "type": "AdaptiveCard",
      "title": "Search budgets",
      "body": "Do you want to allow searching for budgets?"
    }
  }
}

Localisation du texte de confirmation

Vous pouvez configurer des chaînes localisables à utiliser comme invites de confirmation. Les étapes suivantes décrivent le processus.

Étape 1 : Utiliser des clés de localisation dans le manifeste du plug-in

Dans le manifeste de votre plug-in (par exemple, plugin.json), remplacez les chaînes littérales par des clés de localisation au format :

    {
      "schema_version": "v2.3",
      "name_for_human": "[[plugin_name]]",
      "description_for_human": "[[plugin_description]]"
    }

Ces clés (par exemple, plugin_name et plugin_description) doivent correspondre aux entrées de votre fichier de localisation et être conformes à l’expression régulière ^[a-zA-Z_][a-zA-Z0-9_]*.

Étape 2 : Créer des fichiers de localisation

Créez vos fichiers de localisation au format JSON et incluez une localizationKeys propriété qui mappe chaque clé à sa chaîne traduite, comme illustré dans l’exemple suivant.

    {
  "localizationKeys": {
    "plugin_name": "Weather Assistant",
    "plugin_description": "Provides weather updates and forecasts."
      }
    }

Vous pouvez créer plusieurs fichiers de localisation pour différentes langues (par exemple, en.json, fr.json, de.json) et les référencer dans votre configuration de plug-in.

Étape 3 : Ajouter localizationInfo au manifeste de l’application

Incluez une section localizationInfo dans le manifeste de votre application qui fait référence aux fichiers de localisation. Par exemple,

    "localizationInfo": {
      "defaultLanguageTag": "en",
      "defaultLanguageFile": "en.json",
      "additionalLanguages": [
        {
          "languageTag": "fr",
          "file": "fr.json"
        }
      ]
    }

Plug-ins pour Microsoft 365 Copilot