Registrieren von MCP-Servern als Agent-Connectors für Microsoft 365

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.

  1. Öffnen Sie ihre Microsoft 365-App-Manifestdatei (manifest.json).

  2. Suchen oder erstellen Sie das Array auf Stammebene agentConnectors .

  3. Fügen Sie ein neues Connectorobjekt mit den eindeutigen id, displayNameund descriptionhinzu:

{
  "$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.

  1. Geben Sie in der toolSource Ihres Connectors den remoteMcpServer Endpunkt an:

    "toolSource": {
      "remoteMcpServer": {
        "mcpServerUrl": "https://mcp.example.com"
      }
    }
    
  2. 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:

  1. Speichern Sie Ihre MCP-Serveranmeldeinformationen (API-Schlüssel oder geheimer Clientschlüssel) als Geheimnis in Ihrem Azure Key Vault.
  2. Gewähren Sie dem Microsoft 365-Dienstprinzipal Zugriff zum Lesen des Geheimnisses, indem Sie eine Zugriffsrichtlinie oder Azure RBAC-Rolle in Ihrem Tresor konfigurieren.
  3. Registrieren Sie den Geheimnisverweis im Entwicklerportal , und notieren Sie sich die Registrierungs-ID.
  4. Verwenden Sie die Registrierungs-ID als in referenceId Ihrem 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.

  1. Verwenden Sie das Microsoft 365 App-Paketüberprüfungstool im Entwicklerportal, um Ihr Manifest auf Fehler zu überprüfen.

  2. Überprüfen Sie, ob Ihr MCP-Server ordnungsgemäß auf Handshakenachrichten reagiert, indem Sie die Verbindung manuell testen.

  3. Vergewissern Sie sich, dass Ihr tools/list Endpunkt 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
  4. Testen Sie Ihre Autorisierungskonfiguration:

    • Überprüfen, ob auf referenceId ein gültiges Geheimnis verweist
    • Bestätigen, dass Token oder Schlüssel ordnungsgemäß abgerufen wurden
    • Testen der Tokenaktualisierung bei Verwendung von OAuth
  5. Stellen Sie sicher, dass Ihr Endpunkt TLS 1.2 oder höher unterstützt.

  6. Ü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.

  1. Stellen Sie Ihren Agent oder Ihre App in einer Testumgebung bereit.

  2. Öffnen Sie einen Microsoft 365-Agent, der MCP unterstützt.

  3. 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"
  4. Ü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
  5. 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/list gü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 mcpToolDescription ausgelassen wird, und Ihr Server reagiert tools/list ordnungsgemäß zur Laufzeit.

Authentifizierungsfehler

  • Überprüfen Sie, ob die ihrer gespeicherten referenceId Geheimniskonfiguration 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.