Verbinden Sie Agenten mit Tools von Drittanbietern über MCP Services

Important

Dieses Feature befindet sich in der Betaversion. Kontoadministratoren können den Zugriff auf dieses Feature über die Seite " Vorschau" der Kontokonsole steuern. Siehe Manage Azure Databricks Previews.

Ein MCP-Dienst ist ein durch Unity Catalog gesichertes Objekt, das einen externen MCP-Server registriert und regelt, wie Agenten ihn verwenden. Sie adressieren es anhand des Namens der drei Ebenen, catalog.schema.mcp_serviceund rufen sie über Unity AI Gateway auf, die Steuerungsebene für die Steuerung des KI-Datenverkehrs.

Wenn Sie einen MCP-Server als Unity Catalog-Sicherungsobjekt registrieren, verwalten Sie ihn mit denselben grundlegenden Mechanismen, mit denen auch Ihre anderen Unity Catalog-Objekte geschützt werden. Dazu gehören Berechtigungen, mit denen gesteuert wird, wer sie aufrufen kann, die Toolauswahl, um zu begrenzen, welche Tools sie bereitstellt, Servicerichtlinien, um einzelne Toolaufrufe zuzulassen oder zu verweigern, sowie Audit- und Nutzungsprotokollierung, um jeden Aufruf nachzuverfolgen.

Es gibt zwei Möglichkeiten zur Verwendung von MCP-Diensten:

Approach Verwenden Sie, wenn
Verwenden eines von Databricks bereitgestellten MCP-Diensts Sie möchten ein gängiges Software-as-a-Service-Tool (SaaS) – Slack, GitHub, Google Drive und mehr – mit null Setup. Kein Server zum Hosten und keine Verbindung zum Erstellen.
Registrieren Ihres eigenen externen MCP-Servers Sie verfügen über einen selbst gehosteten oder von einem Drittanbieter bereitgestellten MCP-Server, den Sie als absicherbares Objekt in Unity Catalog verwalten können.

MCP Services verbinden Agents mit externen Diensten. Verwenden Sie für Azure Databricks Daten verwaltete MCP-Server, um Ihre eigenen Tools zu hosten, einen benutzerdefinierten MCP-Server.

Tip

Für ein vollständig ausgearbeitetes Beispiel — zum Registrieren des GitHub-MCP-Servers, zum Einschränken seiner Tools, zum Blockieren destruktiver Aufrufe mit einer Servicerichtlinie und zum Überprüfen der Nutzung — lesen Sie Tutorial: Verwalten des GitHub-MCP-Zugriffs eines Coding-Agents.

Funktionsweise

Ein Agent ruft einen MCP-Dienst über seine Unity AI Gateway-URL auf, und jeder Anruf fließt über denselben geregelten Pfad:

Ein Agent, der mit einer MCP-Dienst-URL konfiguriert ist, ruft den Dienst über Unity AI Gateway auf. Das Gateway autorisiert den Aufruf des MCP-Diensts im Unity-Katalog, der die EXECUTE-Gewährung, Toolauswahl und Dienstrichtlinien erzwingt, und proxyt dann die Anforderung über eine Unity-Katalog-HTTP-Verbindung mit verwalteten Anmeldeinformationen an den externen MCP-Server, z. B. GitHub oder Slack. Verwendungs-, Überwachungs- und Ablaufverfolgungsdatensätze landen in Systemtabellen.

  1. Aufruf: Der Agent sendet eine MCP-Anforderung an die Unity AI Gateway-URL des Diensts, die mit der Azure Databricks Identität des Anrufers authentifiziert wurde.
  2. Autorisierung und Steuerung: Das Gateway überprüft, ob der Aufrufer über EXECUTE für den MCP Service in Unity Catalog verfügt. Der Dienst macht nur die von Ihnen ausgewählten Tools verfügbar und wertet jede angefügte Dienstrichtlinie aus, die den Aufruf zulassen, verweigern, genehmigen oder transformieren kann.
  3. Proxy mit verwalteten Anmeldeinformationen: Die Anforderung wird über die HTTP-Verbindung des Diensts an den externen MCP-Server weitergeleitet. Azure Databricks speichert die Anmeldeinformationen und verarbeitet OAuth-Flüsse und Tokenaktualisierungen, sodass der Agent sie nie sieht.
  4. Nutzungs-, Audit- und Ablaufverfolgungsprotokolle: Jeder Aufruf wird in Systemtabellen aufgezeichnet, sodass Sie die Nutzung überwachen und Aktivitäten im Zeitverlauf auditieren können.

Anforderungen

  • Ein Arbeitsbereich, der für den Unity-Katalog aktiviert ist.
  • Um einen externen MCP-Server als MCP-Dienst zu steuern, ist das Unity AI Gateway Beta und die Vorschau der verwalteten MCP-Server für Ihr Konto aktiviert. Siehe Manage Azure Databricks Previews.

Von Databricks bereitgestellte MCP-Dienste

Azure Databricks stellt MCP-Dienste im system.ai Schema für gängige SaaS-Anwendungen bereit, sodass Agents diese Tools erreichen können, ohne Ihren eigenen MCP-Server zu hosten oder zu registrieren. Jeder ist ein integrierter MCP-Dienst, den Sie anhand des Unity-Katalognamens adressieren. Um einem Agenten Zugriff zu gewähren, gewähren Sie EXECUTE für den Dienst (zum Beispiel system.ai.github) – keine Verbindungskonfiguration erforderlich. Integrierte Dienste werden mit plattformverwalteten Tools und einer integrierten Dienstrichtlinie geliefert, z. B. einer, um Schreibvorgänge zu blockieren. Sie steuern sie mit Zuschüssen und nicht mit benutzerdefinierten Toolauswahl- oder Richtlinienfunktionen.

MCP-Dienst Verbindung mit
system.ai.slack Slack
system.ai.github GitHub
system.ai.atlassian Jira und Confluence
system.ai.google_drive Google Drive
system.ai.google_calendar Google Kalender
system.ai.gmail Gmail
system.ai.sharepoint Microsoft SharePoint

Für Google Drive, Gmail, Google Calendar oder SharePoint verarbeiten diese integrierten Dienste OAuth für Sie, ohne dass eine App-Registrierung erforderlich ist.

Registrieren eines externen MCP-Servers

Registrieren Sie Ihren eigenen externen MCP-Server als MCP-Dienst in fünf Schritten:

  1. Erstellen Sie eine Unity-Katalogverbindung mit dem MCP-Server.
  2. Erstellen Sie den MCP-Dienst aus dieser Verbindung.
  3. Authentifizieren, wenn die Verbindung OAuth pro Benutzer verwendet.
  4. Gewähren Sie Ihren Teammitgliedern Zugriff.
  5. Rufen Sie den Dienst auf, und steuern Sie ihn dann mit Toolauswahl- und Dienstrichtlinien.

Der externe MCP-Server muss den Streamable HTTP-Transportmechanismus verwenden. Sie benötigen diese Berechtigungen:

  • Um die Verbindung zu erstellen, CREATE CONNECTION in dem Schema, in dem Sie sie erstellen.
  • Zum Erstellen eines MCP-Service benötigen Sie USE CATALOG und USE SCHEMA für den übergeordneten Katalog und das Schema, CREATE SERVICE für das Schema und USE CONNECTION für die Verbindung, auf die der MCP-Service verweist.
  • Um einen MCP-Dienst aufzurufen, sind EXECUTE für den MCP-Dienst, USE CATALOG und USE SCHEMA für den übergeordneten Katalog und das Schema sowie eine Zuweisung zu dem Arbeitsbereich erforderlich, in dem Sie die Anfrage stellen.

Warning

Das Aufrufen eines MCP-Diensts erfordert keine Berechtigungen für die zugrunde liegende VerbindungEXECUTE für den MCP-Dienst ist ausreichend. Gewähren Sie Endbenutzern keinen Zugriff auf USE CONNECTION: Dadurch können sie den externen Server direkt über die Verbindung aufrufen oder ihren eigenen MCP-Dienst auf dem Server registrieren und so die Toolauswahl, Dienstrichtlinien und Auditierung Ihres MCP-Diensts umgehen. Reservieren des Verbindungszugriffs für Dienstautoren und Administratoren.

Erstellen einer Verbindung

Ein MCP-Dienst verweist auf eine Unity-Katalog-HTTP-Verbindung, die den Endpunkt und die Anmeldeinformationen des externen Servers sicher speichert. Azure Databricks verwendet einen vorgeschalteten verwalteten Proxy, der die Authentifizierung und die Tokenaktualisierung übernimmt, damit Sie keine Anmeldeinformationen in Ihren Agenten- oder Clientcode einbetten müssen.

Erstellen Sie die Verbindung auf Schemaebene , sodass sie zusammen mit dem MCP-Dienst gesteuert wird. Sie können es vorab mit den nachstehenden Schritten einrichten oder einen erstellen, während Sie den MCP-Dienst erstellen , indem Sie auf " Neue Verbindung erstellen" klicken. Verbindungen auf Metastoreebene werden unterstützt, aber nicht empfohlen.

Wählen Sie eine von zwei Möglichkeiten aus:

Erstellen einer HTTP-Verbindung

Für jeden MCP-Server, einschließlich selbst gehosteter oder Drittanbieterserver:

  1. Wechseln Sie zu Katalog>Verbindungen>Verbindung erstellen.
  2. Wählen Sie HTTP als Verbindungstyp aus.
  3. Geben Sie die MCP-Server-URL ein.
  4. Wählen Sie einen Authentifizierungstyp aus: Bearertoken, OAuth M2M, OAuth U2M oder dynamische Clientregistrierung. Details zum Einrichten finden Sie unter Erstellen einer Verbindung mit dem externen Dienst.

Für Managed-OAuth-Anbieter – Glean, GitHub, Atlassian und Slack – Azure Databricks verwaltet die Anmeldeinformationen, sodass Sie Ihre eigene OAuth-App nicht registrieren. Siehe verwaltete OAuth-Anbieter.

Installieren über Marketplace

Verwenden Sie einen kuratierten MCP-Server von Azure Databricks Marketplace mit einer vorinstallierten Verbindung. Siehe Zugriff auf externe MCP-Server erhalten.

Erstellen des MCP-Diensts

Sie können einen MCP-Dienst über die Benutzeroberfläche oder mit der REST-API erstellen. Die Beta unterstützt SQL DDL für MCP-Dienste nicht.

Benutzeroberfläche

  1. Wechseln Sie in Ihrem Azure Databricks Arbeitsbereich zu AI Gateway>MCPs>Registrieren des MCP-Servers, oder wechseln Sie zum Katalog, wählen Sie ein Schema aus, und klicken Sie auf"MCP-Dienst>".
  2. Geben Sie den Katalog, das Schema und einen Namen für den MCP-Dienst ein. Der Name kann nach der Erstellung nicht mehr geändert werden.
  3. Wählen Sie eine vorhandene HTTP-Verbindung mit dem MCP-Server aus, oder klicken Sie auf " Neue Verbindung erstellen" , um eine verbindung zu erstellen. Navigieren Sie unter einem Schema, um eine Verbindung auf Schemaebene auszuwählen; um eine Verbindung auf Metastoreebene zu verwenden, deaktivieren Sie " Durchsuchen" unter einem Schema.
  4. Wählen Sie unter "Extras" aus, welche Tools zur Verfügung gestellt werden sollen. Siehe Auswählen, welche Tools verfügbar gemacht werden.
  5. Fügen Sie optional einen Kommentar hinzu, der den MCP-Dienst beschreibt.
  6. Klicken Sie auf "Erstellen". Der MCP-Dienst wird im von Ihnen angegebenen Katalog und Schema veröffentlicht.

REST API

Erstellen Sie einen MCP-Dienst, der auf eine vorhandene Unity-Katalog-HTTP-Verbindung verweist. Legen Sie parent das Zielschema und mcp_service_id den Dienstnamen fest:

databricks api post \
  "/api/2.1/unity-catalog/mcp-services?parent=schemas/main.default&mcp_service_id=my_mcp" \
  --json '{
    "comment": "External MCP server",
    "config": {
      "connection": {
        "name": "connections/main.default.my_connection"
      },
      "include_tool_selectors": []
    }
  }'

include_tool_selectors steuert, welche Tools der Dienst verfügbar macht. Eine leere Liste macht alle Tools verfügbar. Siehe Auswählen, welche Tools verfügbar gemacht werden.

Aktualisieren Sie einen vorhandenen MCP-Dienst mit einer PATCH Anforderung und einem update_mask Element, das die zu ändernden Felder benennt:

databricks api patch \
  "/api/2.1/unity-catalog/mcp-services/main.default.my_mcp?update_mask=comment" \
  --json '{ "comment": "Updated description" }'

Authenticate

Wenn der MCP-Dienst auf eine Verbindung verweist, die OAuth pro Benutzer verwendet, führen Sie vor dem ersten Aufruf eine einmalige Anmeldung durch:

  1. Öffnen Sie die MCP-Dienstdetailseite im Katalog-Explorer.
  2. Klicken Sie auf "Anmelden ", und schließen Sie den OAuth-Zustimmungsfluss des Anbieters ab.
  3. Nach der Anmeldung zeigt die Detailseite automatisch die Liste der ermittelten Tools an.

Unity Catalog speichert das Token unter Ihrer Identität. Wenn Sie den MCP-Dienst vor der Anmeldung aufrufen, gibt AI Gateway einen Fehler zurück, der Sie zur Authentifizierung auffordert.

Gewähren des Zugriffs auf Teamkollegen

Standardmäßig kann nur der MCP-Dienstbesitzer sie aufrufen. Erteilen Sie EXECUTE die Berechtigung, damit andere Benutzer, Gruppen oder Dienstprinzipalen den Dienst aufrufen können. Ein einzelner EXECUTE Zuschuss deckt alle Tools des Diensts ab.

Benutzeroberfläche

  1. Öffnen Sie den MCP-Dienst im Katalog-Explorer, oder wechseln Sie zu AI-Gateway-MCPs>, und wählen Sie den Dienst aus.
  2. Wechseln Sie zur Registerkarte Berechtigungen.
  3. Klicken Sie auf Erlauben.
  4. Wählen Sie die Benutzer, Gruppen oder Dienstprinzipale aus, um Zugriff zu gewähren.
  5. Wählen Sie die EXECUTE-Berechtigung aus .
  6. Klicken Sie auf Erlauben.

REST API

databricks api patch \
  "/api/2.1/unity-catalog/permissions/mcp_service/main.default.my_mcp" \
  --json '{
    "changes": [
      { "principal": "data-team", "add": ["EXECUTE"] }
    ]
  }'

Aufrufen eines MCP-Diensts

Probieren Sie einen MCP-Dienst in AI Playground, über die Befehlszeile oder über Ihren Agent oder Clientcode aus.

Testen des MCP-Diensts

KI-Spielplatz

Testen Sie die Tools eines MCP-Diensts auf der Benutzeroberfläche, ohne Code zu schreiben:

  1. Wechseln Sie in Ihrem Azure Databricks Arbeitsbereich zum KI-Playground.
  2. Wählen Sie ein Modell mit der Bezeichnung Tools aktiviert aus.
  3. Klicken Sie auf Extras > + Tool hinzufügen , und wählen Sie MCP-Server aus.
  4. Wählen Sie externe MCP-Server und dann den MCP-Dienst aus.
  5. Chatten Sie mit dem Modell, um zu sehen, wie er die Tools des MCP-Diensts aufruft.

Sie können auch von Genie Code testen – siehe Hinzufügen von MCP-Servern zum Assistenten.

CURL

Verwenden Sie für eine schnelle Befehlszeilenüberprüfung die generierte Anforderung auf der MCP-Dienstdetailseite. Klicken Sie in "Erste Schritte" auf " Zugriffstoken generieren ", um ein Zugriffstoken in die Anforderungsbeispiele zu kopieren. In den Authorization Beispielen wird das Token als Bearertoken im Header übergeben.

Sie können die Databricks CLI auch für Ihren Arbeitsbereich authentifizieren und dann ein databricks auth token OAuth-Zugriffstoken abrufen:

databricks auth login --host https://<workspace-url>

Alle Anforderungen werden an den gleichen MCP-Dienstendpunkt gesendet. Der JSON-RPC method im Anforderungstext wählt den Vorgang aus. Auflisten der Tools, die der Dienst verfügbar macht:

TOKEN=$(databricks auth token | jq -r .access_token)

curl -s -X POST \
  "https://<workspace-url>/ai-gateway/mcp-services/main.default.my_mcp" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Aufrufen eines Tools:

curl -s -X POST \
  "https://<workspace-url>/ai-gateway/mcp-services/main.default.my_mcp" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"<tool_name>","arguments":{}}}'

Verwendung aus Agent-Code oder Programmier-Agent

Steuern eines MCP-Diensts

Auswählen, welche Tools verfügbar gemacht werden

Standardmäßig stellt ein MCP-Dienst alle Tools zur Verfügung, die der MCP-Server bereitstellt. Wenn Sie nur eine Teilmenge verfügbar machen möchten, wählen Sie die Tools aus, wenn Sie den MCP-Dienst erstellen, oder aktualisieren Sie die Auswahl später. Jeder Selektor wird mit Tool-Namen abgeglichen: Ein Muster, das auf * endet, ist eine Präfixübereinstimmung (get_* stimmt mit get_me und get_issue überein), und jeder andere Wert ist eine exakte Übereinstimmung (search_repositories stimmt nur mit diesem Tool überein).

Benutzeroberfläche

Führen Sie im Erstellungsablauf unter "Tools" folgendes aus:

  • Wählen Sie Manuell auswählen aus, um jedes Tool einzeln auszuwählen.
  • Wählen Sie "Erweitert" aus, um Auswahlmuster einzugeben, indem Sie die oben beschriebenen Präfix- und Genauen Übereinstimmungsregeln verwenden.
  • Aktivieren Sie In Zukunft zu diesem Server hinzugefügte Tools automatisch einbeziehen, damit neue Tools verfügbar werden, sobald der MCP-Server sie hinzufügt.

REST API

Um die Toolauswahl nach der Erstellung zu ändern, setzen Sie include_tool_selectors mit einer PATCH-Anfrage. Einschränken eines Diensts auf nur get_* Tools:

databricks api patch \
  "/api/2.1/unity-catalog/mcp-services/main.default.my_mcp?update_mask=config.include_tool_selectors" \
  --json '{
    "config": {
      "include_tool_selectors": ["get_*"]
    }
  }'

Setzen Sie include_tool_selectors auf eine leere Liste zurück, um alle Tools verfügbar zu machen.

Tools, die Sie nicht auswählen, werden in tools/list nicht angezeigt, und der MCP-Dienst lehnt ein tools/call für ein nicht ausgewähltes Tool ab:

{ "code": -32003, "message": "Tool not allowed by MCP service configuration." }

Anwenden einer Dienstrichtlinie

Eine Dienstrichtlinie wertet jeden Toolaufruf aus, bevor es ausgeführt wird (ON CALL) und optional das Ergebnis (ON RESULT). Eine Richtlinie kann eine Anfrage zulassen, ablehnen, eine menschliche Freigabe erfordern oder die Anfrage transformieren – beispielsweise, um destruktive Vorgänge zu blockieren oder personenbezogene Daten zu schwärzen –, ohne zu ändern, welche Werkzeuge verfügbar sind. Dienstrichtlinien sind Teil der KI-Governance im Unity-Katalog.

Informationen zum Schreiben einer Richtlinienfunktion und zum Anfügen an einen MCP-Dienst finden Sie unter Dienstrichtlinien für KI-Sicherungsfunktionen und Erstellen und Anfügen einer Dienstrichtlinie.

Festlegen von Geschwindigkeitsbeschränkungen

Beschränken Sie die Anzahl der Agents, die einen MCP-Dienst aufrufen können, um Kosten zu steuern und den externen Server zu schützen. Siehe Konfigurieren von Ratenlimits für KI-Dienste mit Unity AI Gateway.

Überwachen der Nutzung

Unity AI Gateway zeichnet Aktivitäten für jeden MCP-Dienst in Unity Catalog-Systemtabellen auf:

  • Verwendung: Anruflautstärke, Fehler und Latenz in system.ai_gateway.usage (Filter service_type = 'MCP_SERVICE'). Siehe Modellnutzung für Unity AI Gateway-Dienste.
  • Überwachung: Änderungen der Steuerungsebene (createMcpService, updateMcpService, deleteMcpService) und jeder Aufruf (mcpCall) in system.access.audit. Siehe Verweis auf die Systemtabelle des Audit-Logbuchs.
  • Traces: Tool-Aufrufanfragen, Antworten und Richtlinienentscheidungen werden per Trace-Protokollierung erfasst, die einmalig auf Kontoebene aktiviert wird und für alle MCP-Services gemeinsam genutzt wird.
  • Dashboard: Externer MCP-Serverdatenverkehr wird im integrierten Unity AI Gateway-Nutzungsdashboard angezeigt. Siehe integriertes Verwendungsdashboard.

Informationen zu allen Systemtabellen des Unity-Katalogs finden Sie in der Referenz zu Systemtabellen. Eine Übersicht über die Steuerung des KI-Datenverkehrs finden Sie unter KI-Governance im Unity-Katalog.

Authentifizierung und Sicherheit

Azure Databricks verwendet verwaltete MCP-Proxys und Unity Catalog HTTP-Verbindungen, um die Authentifizierung für externe MCP-Server sicher zu verarbeiten.

  • Gemeinsame Prinzipalauthentifizierung: Alle Benutzer teilen beim Zugriff auf den externen Dienst dieselben Anmeldeinformationen. Dazu gehören Bearertoken, OAuth Machine-to-Machine (M2M) und OAuth User-to-Machine Shared Authentication. Verwenden Sie dies, wenn der externe Dienst keinen benutzerspezifischen Zugriff erfordert oder wenn ein einzelnes Dienstkonto ausreicht.
  • Benutzerspezifische Authentifizierung (OAuth U2M pro Benutzer):Jeder Benutzer authentifiziert sich mit seinen eigenen Anmeldeinformationen. Der externe Dienst empfängt Anforderungen im Namen des einzelnen Benutzers und ermöglicht die benutzerspezifische Zugriffssteuerung, Überwachung und Verantwortlichkeit. Verwenden Sie dies beim Zugriff auf nutzerspezifische Ressourcen, z. B. die GitHub-Repositorys, Slack-Nachrichten oder den Kalender eines Benutzers.

Azure Databricks behandelt OAuth-Flüsse und Tokenaktualisierung, sodass Endbenutzer keine Token sehen. Sie können Ihre externen MCP-Verbindungen zusammen mit Ihren LLM-Endpunkten über Unity AI Gateway anzeigen und verwalten. Ausführliche Konfigurationsanweisungen für jede Authentifizierungsmethode finden Sie unter HTTP-Verbindungen.

Einschränkungen

Während der Betaversion gelten die folgenden Einschränkungen für MCP-Dienste:

  • SQL DDL für MCP-Dienste (z. B. CREATE MCP SERVICE) ist nicht verfügbar. Erstellen und verwalten Sie MCP-Dienste mit der Benutzeroberfläche oder der REST-API.
  • Sie können nur externe MCP-Server als eigenen MCP-Dienst registrieren. Das Registrieren von Genie-, Apps- oder Unity-Katalog-Entitätsquellen als MCP-Dienst wird derzeit nicht unterstützt. Azure Databricks bietet auch integrierte MCP-Dienste für gängige SaaS-Apps.
  • Die Toolauswahl unterstützt Präfixe (get_*) und genaue Übereinstimmungsmuster. Ausschlussmuster (z. B !delete_*. ) werden nicht unterstützt.
  • Die globale Unity-Katalogsuche zeigt keine MCP-Dienste an.

Externe MCP-Serververbindungen weisen außerdem die folgenden Einschränkungen auf:

Nächste Schritte