Freigeben über


Tools hinzufügen und verwalten

Wichtig

Sie müssen Teil des Frontier-Vorschauversionsprogramms sein, um Vorabzugriff auf Microsoft Agent 365 zu erhalten. Frontier verbindet Sie direkt mit den neuesten KI-Innovationen von Microsoft. Frontier-Vorschauversionen unterliegen den bestehenden Vorschauversionsbedingungen Ihrer Kundenvereinbarungen. Da sich diese Funktionen noch in der Entwicklung befinden, können sich ihre Verfügbarkeit und Merkmale im Laufe der Zeit ändern.

Das Tooling-Modul hilft Entwicklern dabei, Model Context Protocol (MCP)-Server in KI-Agenten-Workflows zu entdecken, zu konfigurieren und zu integrieren. MCP-Server machen externe Funktionen als Tools verfügbar, die KI-Agents aufrufen können. Eine Übersicht über verfügbare Toolingserver finden Sie unter Agent 365 Tooling-Servers.

Veranschaulicht den Anforderungs- und Antwortfluss

Übersicht

Die Agent 365 Tooling-Integration folgt diesem Workflow:

  1. Konfigurieren von MCP-Servern – Verwenden der Agent 365 CLI zum Ermitteln und Hinzufügen von MCP-Servern
  2. Manifest generieren – CLI erstellt ToolingManifest.json in Ihrem Projektordner mit Serverkonfigurationen.
  3. Anwenden von Berechtigungen auf blueprint – Ein globaler Administrator gewährt OAuth2-Berechtigungen für den Agent-blueprint, indem er a365 setup all (erstmaliges Setup) oder a365 setup permissions mcp ausführt (sofern der blueprint bereits vorhanden ist). In jedem Fall liest der Befehl ToolingManifest.json und erfordert die Zustimmung des Administrators. Dieser Schritt ist immer von dem Hinzufügen von Servern zum Manifest getrennt.
  4. Integrieren sie in Code – Laden Sie Manifeste, und registrieren Sie Tools bei Ihrem Orchestrator.
  5. Aufrufen von Tools – Agent ruft Tools während der Ausführung auf, um Vorgänge auszuführen.

Voraussetzungen

Stellen Sie vor der Konfiguration von MCP-Servern sicher, dass Sie über Folgendes verfügen:

  • Agent 365 CLI installiert und konfiguriert
  • .NET 8.0 SDK oder höher – Download
  • Globale Administratorrechte in Ihrem Microsoft 365 Mandanten

Agentenidentitätskonfiguration

Wenn Sie die agentische Authentifizierung verwenden, führen Sie den Agent-Registrierungsprozess aus, um Ihre Agent-Identität zu erstellen, bevor Sie MCP-Server konfigurieren. Dieser Prozess erstellt die agentische App-ID und den agentischen Benutzer, die es Ihrem Agenten ermöglichen, sich zu authentifizieren und auf MCP-Tools zuzugreifen.

OBO-Authentifizierungseinrichtung

Wenn Sie On-Behalf-Of (OBO)-Authentifizierung statt agentischer Authentifizierung verwenden, kann Ihr Agent auf MCP-Tools zugreifen, indem er delegierte Benutzerberechtigungen ohne agentische Benutzeridentität verwendet. Im OBO-Flow tauscht der Agent das delegierte Token eines Benutzers aus, um Aktionen im Namen des Benutzers auszuführen.

Weitere Informationen darüber, wie der OBO-Fluss funktioniert, finden Sie unter Authentifizierungsflüsse. Ein vollständiges Implementierungsbeispiel finden Sie im Microsoft 365 Agents SDK im OBO-Autorisierungsbeispiel.

Service Principal einrichten

Führen Sie dieses einmalige Setup-Skript aus, um den Service Principal für Agent 365 Tools in Ihrem Tenant zu erstellen.

Wichtig

Diese einmalige Operation pro Tenant erfordert die Rechte des Globalen Administrators.

  1. Lade das New-Agent365ToolsServicePrincipalProdPublic.ps1 Skript herunter.

  2. Öffne PowerShell als Administrator und gehe ins Skriptverzeichnis.

  3. Führen Sie das Skript aus.

    .\New-Agent365ToolsServicePrincipalProdPublic.ps1
    
  4. Melden Sie sich mit Ihren Azure Anmeldeinformationen an, wenn Sie dazu aufgefordert werden.

Nach Abschluss ist Ihr Mandant bereit für die Agent-Entwicklung und MCP-Serverkonfiguration.

MCP-Server konfigurieren

Verwenden Sie die Agent 365 CLI, um MCP-Server für Ihren Agent zu ermitteln, hinzuzufügen und zu verwalten. Eine vollständige Liste der verfügbaren MCP-Server und deren Funktionen finden Sie im MCP-Serverkatalog.

Entdecken Sie verfügbare Server

Liste alle MCP-Server auf, die du konfigurieren kannst:

a365 develop list-available

MCP-Server hinzufügen

Einen oder mehrere MCP-Server zur Konfiguration Ihres Agents hinzufügen:

a365 develop add-mcp-servers mcp_MailTools

Wichtig

Dieser Befehl wird nur in Ihrem Projektordner aktualisiert ToolingManifest.json – er gewährt keine Berechtigungen für den Blueprint. Wie Berechtigungen angewendet werden, hängt davon ab, wo Sie sich im Setupprozess befinden:

  • Vor dem erstmaligen Setup: Führen Sie zuerst a365 develop add-mcp-servers aus, und fahren Sie dann mit a365 setup all fort. Der setup all Befehl enthält den MCP-Berechtigungsschritt als Teil der Blueprint-Erstellung.
  • Nachdem der Blueprint bereits vorhanden ist: Ein globaler Administrator muss a365 setup permissions mcp separat ausführen. Der Administrator muss sicherstellen, dass a365.config.json auf den Projektordner verweist, der die aktualisierte deploymentProjectPath enthält. Bis zu diesem Schritt sind die neuen MCP-Serverberechtigungen im Blueprint nicht sichtbar.

Konfigurierte Server auflisten

Aktuell konfigurierte MCP-Server anzeigen:

a365 develop list-configured

MCP-Server entfernen

Entfernen Sie einen MCP-Server aus Ihrer Konfiguration:

a365 develop remove-mcp-servers mcp_MailTools

Für die vollständige CLI-Referenz siehe a365 develop-Befehl.

Verwenden Sie zum Testen den Mock Tooling Server

Für Tests und Entwicklung verwenden Sie den Agent 365 CLI Mock Tooling Server anstelle der Verbindung mit echten MCP-Servern. Der Mock-Server simuliert MCP-Server-Interaktionen, sodass du deinen Agenten lokal testen kannst, ohne externe Abhängigkeiten wie Authentifizierung.

Der Mock-Server bietet folgende Vorteile für lokale Entwicklung und Testung:

  • Offline-Entwicklung: Testen Sie Ihren Agent ohne Internetverbindung oder externe Abhängigkeiten.
  • Konsistente Tests: Erhalten Sie vorhersehbare Antworten für Tests von Randfällen.
  • Debugging: Alle Anfragen und Antworten in Echtzeit ansehen
  • Schnelle Iteration: Kein Warten auf externe API-Aufrufe oder das Einrichten komplexer Testumgebungen.

Starte den Mock-Tooling-Server mit dem a365 develop start-mock-tooling-server Befehl.

Lerne, wie man den Mock-Tooling-Server einrichtet und konfiguriert.

Anmerkung

Die folgenden Abschnitte zur Konfiguration von Manifesten und zur Integration von Tools in deinen Agenten funktionieren genauso, egal ob du den Mock-Tooling-Server oder echte MCP-Server verwendest. Stelle deine Umgebungsvariable so ein, dass sie MCP_PLATFORM_ENDPOINT auf den Mock-Server verweist (zum Beispiel: http://localhost:5309) statt auf den Produktionsendpunkt.

Verstehen des Werkzeug-Manifests

Wenn Sie a365 develop add-mcp-servers ausführen, generiert die CLI eine ToolingManifest.json Datei, die eine Konfiguration für alle MCP-Server enthält. Die Agent-Laufzeit verwendet dieses Manifest, um zu verstehen, welche Server verfügbar sind und wie Sie sich bei ihnen authentifizieren können.

Manifeststruktur

Beispiel ToolingManifest.json:

{
  "mcpServers": [
    {
      "mcpServerName": "mcp_MailTools",
      "mcpServerUniqueName": "mcp_MailTools",
      "scope": "McpServers.Mail.All",
      "audience": "api://05879165-0320-489e-b644-f72b33f3edf0"
    }
  ]
}

Parameter des Manifests

Jeder MCP-Servereintrag enthält Folgendes:

Parameter Beschreibung
mcpServerName Der Anzeigename des MCP-Servers.
mcpServerUniqueName Der eindeutige Bezeichner für die MCP-Serverinstanz.
Bereich Der OAuth-Bereich, der für den Zugriff auf die Funktionen des MCP-Servers erforderlich ist (z. B McpServers.Mail.All . für E-Mail-Vorgänge). Der add-mcp-servers Befehl ruft diesen Wert aus dem MCP-Serverkatalog ab.
Zielgruppe Der Microsoft Entra ID URI, der die Ziel-API-Ressource identifiziert. Der add-mcp-servers Befehl ruft diesen Wert aus dem MCP-Serverkatalog ab.

Anmerkung

Die Agent 365 CLI füllt automatisch die Werte von scope und audience aus, wenn du einen MCP-Server hinzufügst. Diese Werte stammen aus dem MCP-Serverkatalog und definieren die Berechtigungen, die für den Zugriff auf jeden MCP-Server erforderlich sind.

Tools in Ihren Agent integrieren

Integrieren Sie nach dem Generieren des Toolmanifests die konfigurierten MCP-Server in Ihren Agent-Code. In diesem Abschnitt werden der optionale Inspektionsschritt und die erforderlichen Integrationsschritte behandelt.

Toolserver auflisten (optional)

Tipp

Dieser Schritt ist optional. Verwenden Sie den Toolserver-Konfigurationsdienst, um die verfügbaren Toolserver aus dem Toolmanifest zu prüfen, bevor Sie sie Ihrem Orchestrator hinzufügen.

Verwenden Sie den Toolserverkonfigurationsdienst, um zu ermitteln, welche Toolserver ihrem Agent über das Toolmanifest zur Verfügung stehen. Diese Methode ermöglicht Ihnen Folgendes:

  • Abfrage aller konfigurierten MCP-Server aus der ToolingManifest.json Datei.
  • Abrufe Server-Metadaten und -Funktionen.
  • Überprüfen Sie die Serververfügbarkeit vor der Registrierung.

Die Methode zum Auflisten von Toolservern ist in den Kerntoolpaketen verfügbar:

# Use McpToolServerConfigurationService.list_tool_servers
from microsoft.agents.a365.tooling import McpToolServerConfigurationService

config_service = McpToolServerConfigurationService()
tool_servers = await config_service.list_tool_servers(agentic_app_id, auth_token)

Parameter:

Parameter Typ Beschreibung Erwarteter Wert erforderlich/optional
agentic_app_id str Der eindeutige Bezeichner für die Agent-Anwendungsinstanz Gültige Agent-Anwendungs-ID-Zeichenfolge Erforderlich
auth_token str Trägertoken zur Authentifizierung über das MCP-Servergateway Gültiges OAuth-Bearertoken Erforderlich

Paket: microsoft_agents_a365.tooling

Registrieren von Tools bei Ihrem Orchestrator

Verwenden Sie die framework-spezifische Erweiterungsmethode, um alle MCP-Server mit Ihrem Orchestrierungs-Framework zu registrieren:

  • AddToolServersToAgentAsync (.NET)
  • add_tool_servers_to_agent (Python)
  • addToolServersToAgent (Node.js)

Diese Methoden:

  • Registrierung aller Tools von konfigurierten MCP-Servern bei Ihrem Orchestrator
  • Automatisches Einrichten von Authentifizierungs- und Verbindungsdetails
  • Tools sofort verfügbar machen, damit Ihr Agent sie aufrufen kann

Auswählen Ihrer Orchestrator-Erweiterung

Das Agent 365 Tooling-Modul bietet dedizierte Erweiterungspakete für verschiedene Orchestrierungs-Frameworks:

Anmerkung

Wenn Sie ausführen a365 develop add-mcp-servers, ruft die CLI automatisch die OAuth-Bereiche und Zielgruppenwerte aus dem MCP-Serverkatalog ab und schreibt sie in ToolingManifest.json. Die Erweiterungsmethoden verwenden diese Werte, um die Authentifizierung zur Laufzeit einzurichten . In Ihrem Agentcode ist keine manuelle Konfiguration erforderlich. Ein globaler Administrator muss dem Agent-Blueprint jedoch weiterhin diese Berechtigungen erteilen, bevor ihr Agent sie in der Produktion verwenden kann: über a365 setup all (erstmaliges Setup) oder a365 setup permissions mcp (sofern der Blueprint bereits vorhanden ist).

Ausführliche Implementierungsbeispiele finden Sie in den Agent 365-Beispielen.

Implementierungsbeispiele

Die folgenden Beispiele zeigen, wie man Agent 365 Tooling mit verschiedenen Orchestrierungs-Frameworks integriert.

Python mit OpenAI

In diesem Beispiel wird gezeigt, wie MCP-Tools in OpenAI in eine Python-Anwendung integriert werden.

1. Eine Importanweisung hinzufügen

Fügen Sie die erforderlichen Importe hinzu, um auf das Tooling-Modul und die OpenAI-Erweiterungen zuzugreifen:

from microsoft.agents.a365.tooling import McpToolServerConfigurationService
from microsoft.agents.a365.tooling.extensions.openai import mcp_tool_registration_service

2. Tooldienste initialisieren

Erstellen von Instanzen der Konfigurations- und Toolregistrierungsdienste:

# Create configuration service and tool service with dependency injection
self.config_service = McpToolServerConfigurationService()
self.tool_service = mcp_tool_registration_service.McpToolRegistrationService()

3. Registrieren von MCP-Tools bei OpenAI-Agent

Verwenden Sie die add_tool_servers_to_agent Methode, um alle konfigurierten MCP-Tools bei Ihrem OpenAI-Agent zu registrieren. Diese Methode behandelt sowohl agentische als auch nicht-agentische Authentifizierungsszenarien:

async def setup_mcp_servers(self, auth: Authorization, context: TurnContext):
    """Set up MCP server connections"""
    try:
        use_agentic_auth = os.getenv("USE_AGENTIC_AUTH", "false").lower() == "true"
        if use_agentic_auth:
            self.agent = await self.tool_service.add_tool_servers_to_agent(
                agent=self.agent,
                agentic_app_id=agentic_app_id,
                auth=auth,
                context=context,
            )
        else:
            self.agent = await self.tool_service.add_tool_servers_to_agent(
                agent=self.agent,
                agentic_app_id=agentic_app_id,
                auth=auth,
                context=context,
                auth_token=self.auth_options.bearer_token,
            )

    except Exception as e:
        logger.error(f"Error setting up MCP servers: {e}")

Methodenparameter

In der folgenden Tabelle werden die mit add_tool_servers_to_agent zu verwendenden Parameter beschrieben.

Parameter Beschreibung
agent Die OpenAI-Agent-Instanz zum Registrieren von Tools.
agentic_app_id Der eindeutige Bezeichner für den Agent (agentische App-ID).
auth Der Autorisierungskontext für den Benutzer.
context Der Kontext des aktuellen Gesprächs aus dem Agents SDK. Stellt Benutzeridentität, Unterhaltungsmetadaten und Authentifizierungskontext für die sichere Toolregistrierung bereit.
auth_token (Optional) Bearertoken für nicht-agentische Authentifizierungsszenarien.

4. Aufruf während der Initialisierung

Stellen Sie sicher, dass Sie die Einrichtungsmethode während der Initialisierung aufrufen, bevor Sie den Agent ausführen:

# Setup MCP servers during initialization
await self.setup_mcp_servers(auth, context)

Die add_tool_servers_to_agent Methode führt automatisch Folgendes aus:

  • Lädt alle MCP-Server aus der ToolingManifest.json-Datei.
  • Registriert ihre Tools beim OpenAI-Agenten.
  • Richtet die Authentifizierung basierend auf der Manifest-Konfiguration ein.
  • Stellt die Werkzeuge bereit, die dein Agent verwenden kann.

Vollständige Arbeitsbeispiele finden Sie im Repository für Agent 365-Beispiele.

Weitere Möglichkeiten, auf Agent 365 MCP-Server zuzugreifen

Zusätzlich zum Agent 365 SDK können Sie über andere Entwicklungserfahrungen auf Agent 365 MCP-Server zugreifen:

  • Visual Studio Code – Stellen Sie eine direkte Verbindung mit MCP-Servern für benutzerdefinierte Entwicklungsworkflows her.
  • Microsoft Copilot Studio – Integrieren Sie MCP-Server in Konversationsabläufe mithilfe einer Low-Code-Plattform.
  • Azure AI Foundry – Verwenden Sie MCP-Server mit vollständiger SDK-Unterstützung und erweiterten Orchestrierungsfunktionen.

Für einen vollständigen Überblick über verfügbare MCP-Server und Integrationsoptionen über diese Plattformen hinweg siehe Agent 365 Tooling Server Übersicht.

Ihren Agent testen

Nachdem Sie MCP-Tools in Ihren Agenten integriert haben, testen Sie die Tool-Aufrufe, um sicherzustellen, dass sie korrekt funktionieren und verschiedene Szenarien bewältigen. Folgen Sie dem Testleitfaden, um Ihre Umgebung einzurichten. Konzentriere dich dann hauptsächlich auf den Abschnitt Testwerkzeug-Invocations, um zu bestätigen, dass deine MCP-Tools wie erwartet funktionieren. Schau dir auch den Mock-Tooling-Server an, um die MCP-Serververbindung und Tool-Aufrufe ohne Authentifizierung zu testen.

Observierbarkeit hinzufügen

Fügen Sie Ihrem Agenten Observability hinzu, um die MCP-Tool-Aufrufe Ihres Agenten zu überwachen und nachzuverfolgen. Durch das Hinzufügen von Observabilitätsfunktionen können Sie die Leistung verfolgen, Probleme debuggen und Werkzeugnutzungsmuster verstehen. Erfahren Sie mehr über die Implementierung von Nachverfolgung und Überwachung.

Problembehandlung

Dieser Abschnitt listet häufige Probleme auf, wenn Sie MCP-Server und -Tools konfigurieren und verwenden.

Tipp

Der Agent 365 Troubleshooting Guide enthält übergeordnete Empfehlungen zur Fehlerbehebung, Best Practices und Links zu Inhalten zur Fehlerbehebung für jeden Teil des Entwicklungszyklus von Agent 365.

MCP-Server- und Werkzeugprobleme

Symptome:

  • Fehler beim Aufruf von Werkzeugen.
  • "MCP-Server nicht gefunden"-Fehler.
  • Fehler aufgrund verweigerter Berechtigungen beim Aufruf von Tools.

Grundursache:

  • Der MCP-Server ist nicht konfiguriert.
  • Fehlende Berechtigungen.
  • Service Principal ist nicht konfiguriert.
  • Verwirrung zwischen Mock- und Production-Servern.

Lösungen: Probieren Sie die folgenden Lösungen aus, um das Problem anzugehen.

  • Überprüfen Sie, ob die MCP-Server konfiguriert sind

    Liste konfigurierte Server auf und füge alle fehlenden hinzu.

    # List configured servers
    a365 develop list-configured
    
    # If empty, add required servers (example: Mail MCP server)
    a365 develop add-mcp-servers mcp_MailTools
    
  • Überprüfen, ob der Service Principal existiert

    Stellen Sie sicher, dass der erforderliche Service-Principal für die Werkzeuge erstellt wird.

    # Run the one-time setup script
    # https://github.com/microsoft/Agent365-devTools/blob/main/scripts/cli/Auth/New-Agent365ToolsServicePrincipalProdPublic.ps1
    
  • Für die frühe Entwicklung und das Testen verwenden Sie Mock-Server

    Nutze den Mock-Tooling-Server für frühe lokale Entwicklung und Testung, wenn du den Rest deines Agenten ohne Produktionswerkzeugkomponenten testen möchtest.

    # Start mock tooling server
    a365 develop start-mock-tooling-server
    
    # Update your .env
    MCP_PLATFORM_ENDPOINT=http://localhost:5309
    

    Erfahren Sie mehr über den Mock-Tooling-Server.

  • Berechtigungen im Verwaltungszentrum überprüfen

    Bestätigen Sie, dass Ihr Agent die erforderlichen MCP-Berechtigungen hat.

    • Überprüfen Sie, ob Ihre Agent-Blueprint-API-Berechtigungen im Azure Portal alle MCP-Serverberechtigungen anzeigen.

    Überprüfung:

    # Test a tool call in Agents Playground
    # Should execute without permission errors