Dynamische Toolermittlung für MCP-Plug-Ins in Microsoft 365 Copilot

Die dynamische Toolerkennung ermöglicht es deklarativen Agents, die MCP-Server-basierte Plug-Ins verwenden, ihre verfügbaren Tools zur Laufzeit direkt vom MCP-Server aus aufzulösen, anstatt auf die Toolliste beschränkt zu sein, die zum Zeitpunkt der Veröffentlichung im Plug-In-Manifest des Agenten erfasst wird. Mit dieser Funktion können Benutzer nahezu in Echtzeit auf die neuesten Funktionen eines MCP-Servers zugreifen, ohne darauf warten zu müssen, dass der Agent neu verpackt, überprüft und veröffentlicht wird.

Hinweis

Die dynamische Toolermittlung umfasst Tools, die interaktive UI-Widgets (MCP-Apps) zurückgeben. Der Agent rendert diese Widgets ohne zusätzliche Konfiguration.

Hinweis

Dieser Artikel befasst sich mit der dynamischen Toolermittlung für Plug-Ins, bei denen ein MCP-Server über ein Plug-In-Manifest für einen deklarativen Agenten registriert wird. Die Registrierung eines MCP-Servers als Agent-Connector verwendet ein anderes Manifest – den agentConnectors Knoten im Microsoft 365-App-Manifest. Für Agent-Connectors erfordert die dynamische Toolermittlung App-Manifestversion 1.29 oder höher und einen Host, der dies zulässt. Weitere Informationen finden Sie unter Registrieren von MCP-Servern als Agent-Connectors.

Unterschiede zwischen dynamischer Toolermittlung und fixierten Tools

Mit angehefteten Tools wählt der Agentenentwickler die Tools aus, die ein MCP-Server verfügbar macht, deklariert sie im Plug-In-Manifest und versendet sie als Teil des Agentenpakets. Jede Änderung an der Tooloberfläche, z. B. das Hinzufügen eines neuen Tools, das Entfernen eines veralteten Tools, das Umbenennen eines Parameters oder das Verfeinern einer Beschreibung, erfordert, dass der Agentenentwickler das Manifest aktualisiert, den Agent erneut übermittelt und erneut validiert und veröffentlicht wird, bevor die Benutzer die Änderung sehen.

Bei der dynamischen Toolermittlung führt der Agent keine feste Toolliste mehr mit sich. Die Plattform ruft die aktuellen Tooldefinitionen zur Laufzeit vom MCP-Server ab, vergleicht sie mit dem letzten bekannten Set, validiert die Änderungen und wendet sie an, damit der Agent mit einer aktuellen Ansicht der Serverfunktionen arbeitet.

In der folgenden Tabelle sind die Unterschiede zusammengefasst.

Aspekt Angeheftete Tools Dynamische Toolermittlung
Quelle der Tooldefinitionen Mit dem Agent gepacktes Plug-in-Manifest MCP-Server, abgerufen zur Laufzeit
Wenn Tooldefinitionen aufgelöst werden Zum Zeitpunkt der Veröffentlichung des Agenten Zur Laufzeit, pro Sitzung
Hinzufügen oder Entfernen eines Tools Erfordert die Aktualisierung des Manifests, die erneute Übermittlung des Agents und die erneute Veröffentlichung Wird automatisch widergespiegelt, sobald der MCP-Server die Änderung verfügbar macht, und die Laufzeitvalidierungen werden bestanden.
Aktualisieren des Schemas oder der Beschreibung eines Tools Erfordert eine erneute Veröffentlichung des Agents Zur Laufzeit abgeholt
Benutzerspezifische Tooloberflächen (z. B. nach SKU, Rolle oder Berechtigung) Nicht unterstützt Jeder Benutzer sieht die gleiche manifestdefinierte Toolliste. Unterstützt. Der MCP-Server kann eine Toolliste zurückgeben, die auf den angemeldeten Benutzer zugeschnitten ist.
Zeit für die Einführung einer neuen Toolfunktion Tage bis Wochen, begrenzt auf den Agent-Neuveröffentlichungszyklus Nahezu Echtzeit, nur begrenzt auf MCP-Serverbereitstellung und Laufzeitvalidierung
Zeit zum Zurückziehen eines veralteten Tools Tage bis Wochen Nahezu in Echtzeit
Vertrauens- und Sicherheitsüberprüfungen für Tooldefinitionen Wird zur Veröffentlichungszeit während der Speichervalidierung durchgeführt Veröffentlichungszeit auf Agent-Ebene plus Validierung durch laufzeitverantwortliche KI (RAI) und Cross-Prompt Injection Attack (XPIA) für jedes neu entdeckte oder geänderte Tool, bevor es aktiviert wird

Unterschiede bei Plug-In-Manifesten

Das Plug-In-Manifest drückt den Ermittlungsmodus über die Konfiguration der RemoteMCPServer Laufzeit aus.

Listen Sie bei angehefteten Tools die Tools im functions Array und in der Eigenschaft der Laufzeit auf run_for_functions . Speichern Sie ihre Definitionen mcp_tool_description in der Eigenschaft der Laufzeit:

{
  "functions": [
    { "name": "search_repositories" },
    { "name": "search_users" }
  ],
  "runtimes": [
    {
      "type": "RemoteMCPServer",
      "spec": {
        "url": "https://api.contoso.com/mcp",
        "mcp_tool_description": {
          "file": "mcp-tools.json"
        }
      },
      "run_for_functions": [
        "search_repositories",
        "search_users"
      ]
    }
  ]
}

Bei der dynamischen Werkzeugermittlung ist das functions Array leer und die Eigenschaft der run_for_functions Laufzeit ist festgelegt auf ["*"], sodass der Agent alle Tools des Servers zur Laufzeit auflöst:

{
  "functions": [],
  "runtimes": [
    {
      "type": "RemoteMCPServer",
      "spec": {
        "url": "https://api.contoso.com/mcp"
      },
      "run_for_functions": [
        "*"
      ]
    }
  ]
}

Weitere Informationen finden Sie unter MCP-Serverspezifikationsobjekt.

Konfigurieren von angehefteten Tools mit dem Agents Toolkit

Standardmäßig konfiguriert Microsoft 365 Agents Toolkit ein neues MCP-Plug-In für die dynamische Toolerkennung. Um stattdessen einen festen, zusammengestellten Satz von Tools anzuheften, z. B. um nur eine Teilmenge der Tools des Servers verfügbar zu machen oder die Tooloberfläche zwischen den Versionen konstant zu halten, wählen Sie die Tools im Agents-Toolkit aus. Die Tooloberfläche ändert sich dann erst, wenn Sie das Manifest aktualisieren und den Agent erneut veröffentlichen.

So heften Sie einen bestimmten Satz von Tools an:

  1. Öffnen Sie die Datei .vscode/mcp.json . Wählen Sie die Schaltfläche "Start" im Datei-Editor aus.

  2. Wenn Sie zur Authentifizierung aufgefordert werden, wählen Sie Für die Authentifizierung zulassen aus.

  3. Wählen Sie im Dateieditor die Schaltfläche ATK: Aktion von MCP abrufen aus, und wählen Sie dann ai-plugin.json aus.

    Screenshot der Schaltflächen

  4. Wählen Sie die Tools aus, die der Agent verwenden soll.

    Screenshot der Benutzeroberfläche für die Toolauswahl in VS Code

Nachdem Sie die Tools ausgewählt haben, wird das Agents Toolkit mit den angehefteten Tools ai-plugin.json aktualisiert, wie unter Unterschiede zwischen Plug-In-Manifesten beschrieben. Agents Toolkit speichert die Tooldefinitionen in der Eigenschaft der mcp_tool_description Laufzeit, entweder inline in einem tools Array oder als Verweis auf einen file , der sie enthält. Die Definitionen stimmen mit dem Format überein, das von der Methode des tools/list MCP-Servers zurückgegeben wird.

Transparenz, Governance und Überwachung für Administratoren

Die dynamische Werkzeugermittlung verschiebt sich von der Veröffentlichungszeit bis zur Laufzeit, wenn Tools ermittelt werden . Der MCP-Serverentwickler ist weiterhin Autor und Besitzer der Tooldefinitionen. Um die Transparenz, Governance und Compliancegarantien zu wahren, auf die sich Administratoren verlassen, bietet die Plattform Kontrollen und Überwachungssignale über das Microsoft 365 Admin Center (MAC) und Microsoft Purview.

Agents mit dynamischer Ermittlung von angehefteten Tools unterscheiden

Administratoren können ermitteln, welche Agents in ihrem Mandanten die dynamische Toolermittlung verwenden, und zwar in der Agent-Detailansicht im Microsoft 365 Admin Center. Auf der Registerkarte Daten & Tools der Agent-Detailansicht zeigt ein Informationsbanner im Abschnitt Tools an, dass der Agent einen MCP-Server verwendet, dessen Tools sich zur Laufzeit ändern können.

Screenshot der Registerkarte

Die Agent- und Connectorkatalog-Listenansicht selbst bleibt unverändert. Der Ermittlungsmechanismus wird auf der Detailseite pro Agent angezeigt, nicht in den Auflistungen auf Katalogebene.

Deaktivieren von Agents, die die dynamische Toolermittlung verwenden

Es gibt keinen separaten Switch auf Mandanten- oder Agent-Ebene für die dynamische Tool-Erkennungsfunktion selbst. Stattdessen verwenden Administratoren die vorhandenen Steuerelemente auf Agentebene im Microsoft 365 Admin Center:

  • Wenn ein Administrator nicht möchte, dass ein bestimmter Agent, der die dynamische Toolermittlung verwendet, in seinem Mandanten verfügbar ist, kann er diesen Agent über dieselben Agent-Verwaltungssteuerelemente deaktivieren oder blockieren, die er heute für jeden deklarativen Agent verwendet.
  • Verwenden Sie die gleichen Steuerelemente, einschließlich der Zuweisung eines Agents zu bestimmten Benutzern oder Gruppen, um die Verfügbarkeit eines Agents bereitzustellen, der dynamische Toolermittlung vor dem breiteren Rollout verwendet.

Dieser Ansatz bedeutet, dass die dynamische Toolermittlung keine neue Richtlinienoberfläche für Administratoren einführt. Agentaktivierung, -bereichsdefinition und -deaktivierung funktionieren auf die gleiche Weise, unabhängig davon, ob der Agent angeheftete Tools oder die dynamische Toolermittlung verwendet. Die Agent-Detailansicht teilt dem Administrator mit, welchen Ermittlungsmechanismus der Agent verwendet, damit er eine fundierte Entscheidung darüber treffen kann, ob er ihn zulassen möchte.

Überwachungsprotokolle in Microsoft Purview

Interaktionen mit Agents, die die dynamische Toolermittlung verwenden, werden im Microsoft Purview-Überwachungsprotokoll unter der Copilot Workload aufgezeichnet, zusammen mit Interaktionen mit jedem anderen deklarativen Agent. Administratoren können diese Datensätze finden, indem sie in der Purview-Überwachungssuche nach oben Workload = Copilot filtern, und sie können den spezifischen Agent mithilfe des TargetAgentName Felds in CopilotEventDataidentifizieren.

Wie bestehende Vertrauens- und Sicherheitsgarantien erhalten bleiben

Die dynamische Toolermittlung umgeht nicht das Vertrauens- und Sicherheitsmodell, das heute für MCP-Plug-Ins gilt. Sie erweitert das Modell um eine Laufzeitvalidierungsschicht:

  • ISV (3P)-Apps basieren weiterhin auf dem vorhandenen Erweiterbarkeits-Governancestapel: Herausgebernachweis und M365-Zertifizierung, Mandanten- und ISV-Dienstvertrag und Nutzungsbedingungen sowie Store-Validierung, die zum Zeitpunkt der Veröffentlichung durchgeführt wird.
  • Branchen-Apps basieren weiterhin auf den bestehenden internen Onboarding- und Complianceverfahren des Mandanten für Erstanbieter- und interne Apps.
  • Laufzeitvalidierung: Jedes neu entdeckte oder geänderte Tool wird von RAI- und XPIA-Klassifikatoren überprüft, bevor das Tool für Endbenutzer aktiviert wird. Der Prozess blockiert Werkzeugänderungen, die eine Überprüfung fehlschlagen.

Zusammen garantieren diese Prozesse, dass die Zusicherungen, auf die sich Kunden zum Zeitpunkt der Veröffentlichung verlassen, auch weiterhin bestehen, wenn sich die Tools zur Laufzeit weiterentwickeln.