Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Agenten in Microsoft 365 können über im App-Manifest deklarierte Agent-Connectors eine Verbindung mit externen Systemen herstellen. In diesem Artikel erfahren Sie, wie Sie Ihren MCP-Remoteserver (Model Context Protocol) im Microsoft 365-App-Manifest registrieren, sodass Microsoft 365-Agents MCP-Tools, die Ihr Server verfügbar macht, sicher ermitteln, auswählen und aufrufen können.
Microsoft 365-Agents verwenden Agent-Connectors für die Kommunikation mit externen Systemen. Für MCP-Server bietet der Connector Folgendes:
- Der Netzwerkendpunkt Ihres MCP-Servers
- Authentifizierungs- und Autorisierungskonfiguration
- Tooldefinitionen
- Optionale Metadaten, die Agents dabei unterstützen, das richtige Tool während Benutzerinteraktionen zu orchestrieren
Nach der Registrierung ist Ihr MCP-Server für jeden Microsoft 365-Agent verfügbar, der MCP verwenden kann.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
- Einen Testmandanten zum Überprüfen Ihrer MCP-Integration
- Ein funktionierender MCP-Server mit einem sicheren öffentlichen Endpunkt
- Anmeldeinformationen für die Authentifizierung (OAuth-Konfiguration oder API-Schlüssel)
Hinzufügen des Agent-Connectors zu Ihrem Manifest
Deklarieren Sie zunächst Ihren MCP-Server im AgentConnectors-Array auf der Stammebene Ihres App-Manifests.
Öffnen Sie ihre Microsoft 365-App-Manifestdatei (
manifest.json).Suchen oder erstellen Sie das Array auf Stammebene
agentConnectors.Fügen Sie ein neues Connectorobjekt mit den eindeutigen
id,displayNameunddescriptionhinzu:
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.27/MicrosoftTeams.schema.json",
"manifestVersion": "1.27",
...
"agentConnectors": [
{
"id": "my-mcp-server",
"displayName": "My Automation Server",
"description": "Provides workflow automation and task management tools.",
"toolSource": {
"remoteMcpServer": {
"mcpServerUrl": "https://mcp.example.com"
}
}
}
]
}
Jeder Connector muss über einen eindeutigen id Connector verfügen, der ihn von anderen Connectors in Ihrem Manifest unterscheidet.
Konfigurieren des MCP-Remoteserverendpunkts
Definieren Sie, wie Microsoft 365 mithilfe des remoteMcpServer -Objekts eine Verbindung mit Ihrem MCP-Server herstellt.
Geben Sie in der toolSource Ihres Connectors den
remoteMcpServerEndpunkt an:"toolSource": { "remoteMcpServer": { "mcpServerUrl": "https://mcp.example.com" } }Stellen Sie sicher, dass Ihr Endpunkt HTTPS (für HTTP-Verbindungen) oder WSS (für WebSocket-Verbindungen) verwendet.
Der Endpunkt muss öffentlich zugänglich sein und auf Handshakenachrichten im MCP-Protokoll reagieren. Microsoft 365-Agents stellen langlebige Verbindungen mit diesem Endpunkt her.
Konfigurieren einer Authentifizierung
Geben Sie an, wie Microsoft 365 Anmeldeinformationen beim Aufrufen Ihres MCP-Servers abruft. Die folgenden Werte werden derzeit für die MCP-Serverauthentifizierung unterstützt:
- Keine: Keine Authentifizierung erforderlich
- OAuthPluginVault: OAuth 2.0-Token, die im sicheren Tresor von Microsoft gespeichert sind
- ApiKeyPluginVault: API-Schlüssel, der in einem Tresor gespeichert ist und von der ID referenziert wird
- DynamicClientRegistration: Dynamische OAuth-Clientregistrierung
- AzureKeyVault: Geheimnisse, die in Ihrem eigenen Azure Key Vault instance gespeichert sind
Verwenden der OAuth-Authentifizierung
Geben Sie für OAuth 2.0-Token, die im sicheren Tresor von Microsoft gespeichert sind, den Autorisierungstyp OAuthPluginVault in Ihrer Konfiguration an:
"remoteMcpServer": {
"mcpServerUrl": "https://mcp.example.com",
"authorization": {
"type": "OAuthPluginVault",
"referenceId": "my-oauth-config"
}
}
Verweist referenceId auf eine sichere OAuth-Konfiguration, die Sie im Entwicklerportal registrieren. Weitere Informationen finden Sie unter Konfigurieren von OAuth im Entwicklerportal.
Stellen Sie beim Einrichten Ihrer OAuth-App bei einem Authentifizierungsanbieter eines Drittanbieters sicher, dass Sie der Liste der zulässigen Umleitungsendpunkte hinzufügen https://teams.microsoft.com/api/platform/v1.0/oAuthRedirect .
Verwenden der API-Schlüsselauthentifizierung
Konfigurieren Sie für API-Schlüssel, die in einem Tresor gespeichert sind, den Autorisierungstyp als ApiKeyPluginVault:
"authorization": {
"type": "ApiKeyPluginVault",
"referenceId": "my-apikey"
}
Zeigt referenceId auf einen API-Schlüssel, den Sie im Entwicklerportal registrieren. Weitere Informationen finden Sie unter API-Schlüsselauthentifizierung.
Verwenden der dynamischen Clientregistrierung
Die dynamische Clientregistrierung ermöglicht Es Microsoft 365, sich zur Laufzeit mithilfe des RFC 7591-Protokolls als OAuth-Client bei Ihrem MCP-Server zu registrieren. Dieser Ansatz ist nützlich, wenn Ihr Server dynamische OAuth-Flows unterstützt und Sie clientanmeldeinformationen nicht vorab registrieren möchten.
Konfigurieren Sie den Autorisierungstyp als DynamicClientRegistration mit einem referenceId:
"authorization": {
"type": "DynamicClientRegistration",
"referenceId": "my-dcr-config"
}
Verweist referenceId auf eine dynamische Clientregistrierungskonfiguration, die Sie im Entwicklerportal registrieren. Diese Konfiguration stellt die erforderlichen Autorisierungswerte bereit, die Microsoft 365 beim Aushandeln von Clientanmeldeinformationen mit dem OAuth-Registrierungsendpunkt Ihres MCP-Servers verwendet.
Ihr Server muss:
- Machen Sie einen RFC 7591-konformen Clientregistrierungsendpunkt verfügbar.
- Zurückgeben von und
client_idclient_secret, die Microsoft 365 zum Abrufen von Zugriffstoken verwenden kann. - Unterstützung der Tokenaktualisierung für langlebige Sitzungen.
Verwenden der Azure Key Vault-Authentifizierung
Azure Key Vault Authentifizierung können Sie Ihre MCP-Serveranmeldeinformationen in Ihren eigenen Azure Key Vault instance speichern und verwalten. Dadurch erhalten Sie die vollständige Kontrolle über die Verwaltung des Geheimnislebenszyklus, einschließlich Rotation, Zugriffsrichtlinien und Überwachungsprotokollierung.
Konfigurieren Sie den Autorisierungstyp als AzureKeyVault:
"authorization": {
"type": "AzureKeyVault",
"referenceId": "my-keyvault-secret"
}
Verweist referenceId auf einen im Entwicklerportal registrierten Geheimnisbezeichner, der Ihrem Azure Key Vault Geheimnis zugeordnet ist.
So richten Sie Azure Key Vault-Authentifizierung ein:
- Speichern Sie Ihre MCP-Serveranmeldeinformationen (API-Schlüssel oder geheimer Clientschlüssel) als Geheimnis in Ihrem Azure Key Vault.
- Gewähren Sie dem Microsoft 365-Dienstprinzipal Zugriff zum Lesen des Geheimnisses, indem Sie eine Zugriffsrichtlinie oder Azure RBAC-Rolle in Ihrem Tresor konfigurieren.
- Registrieren Sie den Geheimnisverweis im Entwicklerportal , und notieren Sie sich die Registrierungs-ID.
- Verwenden Sie die Registrierungs-ID als in
referenceIdIhrem Manifest.
Keine Authentifizierung verwenden
Wenn Ihr Server keine Authentifizierung erfordert (nicht für die Produktion empfohlen), legen Sie den Autorisierungstyp auf None fest, oder lassen Sie das authorization Objekt vollständig weg.
Für Unternehmensszenarien bevorzugen Sie OAuth gegenüber API-Schlüsseln, um die bewährten Sicherheitsmethoden und Die Erwartungen des Administrators zu erfüllen.
Definieren der Toolermittlung
Konfigurieren Sie, wie Microsoft 365-Agents die Tools ermitteln, die Ihr MCP-Server bereitstellt. Verwenden Sie statische Inlinetooldefinitionen, wenn Ihr Toolset stabil ist, oder aktivieren Sie die dynamische Toolermittlung, wenn sich Ihr Toolset häufig ändert.
Verwenden statischer Tooldefinitionen
Fügen Sie für statische Toolsets, die sich nicht häufig ändern, ein mcpToolDescription -Objekt mit Ihren Tooldefinitionen hinzu:
"remoteMcpServer": {
"mcpServerUrl": "https://mcp.example.com",
"authorization": {
"type": "ApiKeyPluginVault",
"referenceId": "my-apikey"
},
"mcpToolDescription": {
"description": {
"file": "toolDescription.json"
}
}
}
Das description -Objekt muss mit dem Schema übereinstimmen, das von der Antwort Ihres MCP-Servers tools/list zurückgegeben wird.
Verwenden der dynamischen Toolermittlung
Mit der dynamischen Toolermittlung können Microsoft 365-Agents Ihre Toolliste zur Laufzeit abrufen, indem sie die tools/list -Methode Ihres Servers aufrufen. Dieser Ansatz wird empfohlen, wenn ihr Toolset häufig geändert wird, da es nicht mehr erforderlich ist, Ihre App jedes Mal erneut zu veröffentlichen, wenn Tools hinzugefügt, aktualisiert oder entfernt werden.
Um die dynamische Toolermittlung zu aktivieren, lassen Sie mcpToolDescription aus Ihrer remoteMcpServer-Konfiguration aus:
"remoteMcpServer": {
"mcpServerUrl": "https://mcp.example.com",
"authorization": {
"type": "OAuthPluginVault",
"referenceId": "my-oauth-config"
}
}
Wenn mcpToolDescription nicht angegeben wird, microsoft 365-Agents:
- Stellen Sie eine Verbindung mit Ihrem MCP-Serverendpunkt her.
- Rufen Sie die
tools/list-Methode auf, um die verfügbaren Tools zur Laufzeit abzurufen. - Aktualisieren Sie die liste der verfügbaren Tools, ohne dass eine erneute Veröffentlichung des Manifests erforderlich ist.
Ihr MCP-Server muss eine gültige tools/list Antwort zurückgeben, die den Namen, die Beschreibung und das Eingabeschema jedes Tools enthält.
Überprüfen Ihrer Konfiguration
Vergewissern Sie sich vor der Bereitstellung Ihres Agents oder Ihrer App, dass Ihr Manifest und der MCP-Server ordnungsgemäß konfiguriert sind.
Verwenden Sie das Microsoft 365 App-Paketüberprüfungstool im Entwicklerportal, um Ihr Manifest auf Fehler zu überprüfen.
Überprüfen Sie, ob Ihr MCP-Server ordnungsgemäß auf Handshakenachrichten reagiert, indem Sie die Verbindung manuell testen.
Vergewissern Sie sich, dass Ihr
tools/listEndpunkt schemakonforme Tooldefinitionen zurückgibt:- Jedes Tool verfügt über einen eindeutigen Namen und eine beschreibung.
- Eingabeschemas sind ein gültiges JSON-Schema.
- Erforderliche und optionale Parameter sind klar definiert
Testen Sie Ihre Autorisierungskonfiguration:
- Überprüfen, ob auf
referenceIdein gültiges Geheimnis verweist - Bestätigen, dass Token oder Schlüssel ordnungsgemäß abgerufen wurden
- Testen der Tokenaktualisierung bei Verwendung von OAuth
- Überprüfen, ob auf
Stellen Sie sicher, dass Ihr Endpunkt TLS 1.2 oder höher unterstützt.
Überprüfen Sie Fehlermeldungen, und wiederholen Sie die Semantik für fehlgeschlagene Toolaufrufe.
Testen mit Microsoft 365-Agents
Überprüfen Sie Ihre Integration, indem Sie mit tatsächlichen Microsoft 365-Agents testen.
Stellen Sie Ihren Agent oder Ihre App in einer Testumgebung bereit.
Öffnen Sie einen Microsoft 365-Agent, der MCP unterstützt.
Testen Sie Befehle in natürlicher Sprache, die Ihre Tools auslösen sollten:
- "Erstellen einer Aufgabe in meinem Projektmanagementsystem"
- "Aktualisieren des status der Ticketnummer 123"
- "Suche nach offenen Problemen, die mir zugewiesen sind"
Überprüfen Sie Folgendes:
- Tools werden in den verfügbaren Aktionen des Agents angezeigt.
- Aufforderungen zur Benutzereinwilligung werden bei Bedarf angezeigt
- Toolaufrufe werden erfolgreich ausgeführt
- Antworten werden ordnungsgemäß verarbeitet.
- Fehlerbedingungen werden ordnungsgemäß behandelt
Testen Sie mehrere Mandanten, ob Ihr Szenario mehrinstanzenfähige Unterstützung erfordert.
Behandeln von häufigen Problemen
Wenn Ihr MCP-Server nicht wie erwartet funktioniert, überprüfen Sie die folgenden häufigen Probleme:
Agent kann keine Verbindung mit Ihrem Server herstellen
- Überprüfen, ob Ihr Endpunkt öffentlich zugänglich ist
- Vergewissern Sie sich, dass Ihr Endpunkt HTTPS oder WSS verwendet.
- Überprüfen der Firewall- und Netzwerksicherheitseinstellungen
- Stellen Sie sicher, dass Ihr Server auf MCP-Handshakenachrichten reagiert.
Tools werden in Agents nicht angezeigt
- Überprüfen, ob
tools/listgültige Tooldefinitionen zurückgegeben werden - Überprüfen, ob die Toolbeschreibungen klar und vollständig sind
- Überprüfen Sie für statische Definitionen das JSON-Schema Ihrer Inlinetooldefinitionen.
- Bestätigen Sie bei der dynamischen Ermittlung, dass
mcpToolDescriptionausgelassen wird, und Ihr Server reagierttools/listordnungsgemäß zur Laufzeit.
Authentifizierungsfehler
- Überprüfen Sie, ob die ihrer gespeicherten
referenceIdGeheimniskonfiguration entspricht. - Testen, dass OAuth-Token gültig und nicht abgelaufen sind
- Vergewissern Sie sich, dass API-Schlüssel über die erforderlichen Berechtigungen verfügen.
- Überprüfen des Autorisierungsheaderformats in ausgehenden Anforderungen
Fehler oder Timeout bei Toolaufrufen
- Überprüfen Ihrer Serverprotokolle auf Fehler
- Überprüfen, ob die Überprüfung von Eingabeparametern ordnungsgemäß funktioniert
- Überprüfen Sie, ob die Antworten im MCP-Protokollformat vorliegen.
- Sicherstellen, dass Ihr Server gleichzeitige Anforderungen verarbeitet
Nächste Schritte
Wenn Sie bereit sind, übermitteln Sie Ihre App zur Partnerzertifizierung und -veröffentlichung.