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.
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.
Note
MCP-Dienste sind eine von mehreren Möglichkeiten, Agenten mit externen MCPs und Tools zu verbinden, und die empfohlene, wenn der Dienst einen MCP-Server veröffentlicht. Für die vollständige Auswahl an Optionen, einschließlich verwalteter OAuth, des Unity Catalog Connections-Proxys und des direkten Aufrufs von REST-APIs, siehe diese Übersicht.
Es gibt zwei Möglichkeiten zur Verwendung von MCP-Diensten:
| Approach | Verwenden Sie, wenn |
|---|---|
| Verwenden eines von Databricks bereitgestellten MCP-Diensts | Du möchtest ein gängiges Software-as-a-Service (SaaS)-Tool wie Slack, GitHub oder Google Drive ohne Einrichtung. 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. |
Anforderungen
- Ein Arbeitsbereich, der für den Unity-Katalog aktiviert ist.
- Ein Arbeitsbereich in einer Region, in der die Modellbereitstellung unterstützt wird. Siehe Verfügbarkeit der Bereitstellungsfunktionen des Modells.
So funktioniert es
Ein Agent ruft einen MCP-Dienst über seine Unity AI Gateway-URL auf, und jeder Anruf fließt über denselben geregelten Pfad:
- 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.
-
Autorisierung und Steuerung: Das Gateway überprüft, ob der Aufrufer über
EXECUTEfür den MCP Service in Unity Catalog verfügt. Der Dienst macht nur die tools verfügbar, die Sie ausgewählt haben , und wertet jede angefügte Dienstrichtlinie aus, die die Genehmigung für den Anruf zulassen, verweigern oder erfordern kann. - 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.
- Nutzungs-, Audit- und Ablaufverfolgungsprotokolle: Jeder Aufruf wird in Systemtabellen aufgezeichnet, sodass Sie die Nutzung überwachen und Aktivitäten im Zeitverlauf auditieren können.
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 Einrichtung der Verbindung 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 | Verbindet 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.microsoft_365 |
Microsoft 365 (SharePoint, Outlook und Teams) |
Für Google Drive, Gmail, Google Calendar oder Microsoft 365 verarbeiten diese integrierten Dienste OAuth für Sie, ohne dass eine App-Registrierung erforderlich ist.
Rufen Sie einen integrierten MCP-Dienst auf
Adressieren Sie einen integrierten Dienst über seine Unity AI Gateway URL, mit dem vollständig qualifizierten Namen im Pfad. Verwenden Sie den Namen genau so, wie er erscheint, mit seinen Punkten und Unterstreichern, und codieren Sie ihn nicht per URL:
https://<workspace-hostname>/ai-gateway/mcp-services/<catalog>.<schema>.<mcp-service>
Um den Dienst aus dem Agentencode aufzurufen, richten Sie DatabricksMCPClient oder ein Agenten-Framework auf diese URL. Siehe Verwenden von MCP-Servern in benutzerdefinierten Agenten.
Entdecken Sie die Werkzeuge eines Dienstes und lesen Sie dessen Ergebnisse
Jeder MCP-Dienst stellt unterschiedliche Tools bereit. Ermitteln Sie diese daher zur Laufzeit, anstatt Namen fest zu hinterlegen. Rufen Sie DatabricksMCPClient.list_tools() (oder tools/list) auf, um den Namen, die Beschreibung und das Eingabeschema des jeweiligen Tools zu erhalten. Siehe Verwenden von MCP-Servern in benutzerdefinierten Agenten.
Lesen Sie das Ergebnis eines Tool Call aus dem result Feld. Seine Form hängt davon ab, ob das Werkzeug strukturierte Ausgabe definiert:
- Eingegebene Ausgabe. Ein Werkzeug kann ein
outputSchemadeklarieren und ein typisiertes JSON-Objekt instructuredContentzurückgeben. WennstructuredContentvorhanden ist, verwenden Sie es direkt. Es ist kein Parsing erforderlich. Einige Azure Databricks-Tools, wie die Genie-Tools, funktionieren auf diese Weise. - Textausgabe. Wenn es keine
structuredContentgibt, lesen Sie stattdessen die Textblöcke. Der erste Block enthält ein JSON-Dokument, alsoresult.content[0].textals JSON parsen. - Keines von beidem. MCP benötigt kein Ausgabeschema. Wenn ein Tool keine Ausgabefelder definiert, prüfen Sie eine Beispielantwort, um seine Ausgabefelder kennenzulernen.
Zum Beispiel system.ai.google_calendar zeigt Lesewerkzeuge wie calendar_event_list, deren JSON-Ergebnis ein items Array von Ereignissen enthält (jedes mit id, summary, start, end, status, locationund Links). Die Tools und Ergebnisformate eines anderen Dienstes unterscheiden sich völlig, daher sollten Sie dies immer mit tools/list und anhand eines Beispielaufrufs überprüfen.
Note
Integrierte Dienste verwalten ihre eigenen OAuth-Scopes. Ein Dienst stellt standardmäßig möglicherweise nur eine schreibgeschützte Teilmenge seiner Werkzeuge bereit, wenn seine integrierte Dienstrichtlinie Schreibvorgänge blockiert.
Registrieren eines externen MCP-Servers
Für jeden externen MCP-Server, der nicht von verwaltetem OAuth oder den von Databricks bereitgestellten MCP-Diensten abgedeckt ist, registrieren Sie ihn als MCP-Service, um ihn als Unity-Katalog-Securable zu verwalten. Siehe Registrieren eines externen MCP-Servers.
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.
Aktivieren Sie den Zugriff pro Benutzer (im Namen des Benutzers)
Einige Dienste lesen Daten, die zu einem bestimmten Nutzer gehören, wie zum Beispiel dessen Kalender oder E-Mail. Für diese Dienste wird das Benutzer-OAuth verwendet, sodass jeder Aufruf als der Benutzer ausgeführt wird, der ihn erstellt hat, und nicht als gemeinsame Identität. Dies gilt für integrierte system.ai.* Dienste wie system.ai.google_calendar, system.ai.gmail, und system.ai.microsoft_365, sowie für externe Dienste, die Sie mit einer Benutzerauthentifizierung registrieren.
Um den Zugriff im Namen eines Agenten einzurichten:
Stellen Sie sicher, dass der aufrufende Nutzer den Dienst aufrufen kann. Der Aufruf eines MCP-Dienstes erfordert zwei Dinge:
-
EXECUTEim Dienst. -
USE CATALOGundUSE SCHEMAauf seinem Stammkatalog und Schema.EXECUTEAllein reicht nicht aus, denn Unity Catalog überprüft auch die Elternkette (siehe Zugriff auf Teammitglieder gewähren).
Wie Sie diese gewähren, hängt vom jeweiligen Dienst ab:
-
Integrierte
system.ai.*Dienste: Benutzer des Kontos besitzen diese Berechtigungen aufsystemundsystem.aibereits standardmäßig, sodass Sie in der Regel keine Berechtigungen gewähren müssen. - Individuelle Dienste in Ihrem eigenen Katalog und Schema: Erteile dem aufrufenden Benutzer oder Gruppe die entsprechenden Berechtigungen (nicht nur den Service Principal der App) über den Berechtigungstab jedes Securable im Katalogexplorer oder mit der REST-API. SQL DDL ist für MCP-Dienste nicht verfügbar.
Um über die REST-API zu autorisieren, ersetzen Sie Ihre eigenen
<catalog>.<schema>.<service>:databricks api patch "/api/2.1/unity-catalog/permissions/mcp_service/<catalog>.<schema>.<service>" \ --json '{ "changes": [ { "principal": "data-team", "add": ["EXECUTE"] } ] }' databricks api patch "/api/2.1/unity-catalog/permissions/catalog/<catalog>" \ --json '{ "changes": [ { "principal": "data-team", "add": ["USE_CATALOG"] } ] }' databricks api patch "/api/2.1/unity-catalog/permissions/schema/<catalog>.<schema>" \ --json '{ "changes": [ { "principal": "data-team", "add": ["USE_SCHEMA"] } ] }'-
Füge den Anwendungsbereich der
ai-gatewayBenutzer-API zu deiner App hinzu, damit das weitergeleitete Benutzertoken den Dienst erreichen kann. Deklarieren Sieuser_api_scopes: [ai-gateway]in der App-Ressource und rufen Sie den Dienst mit dem benutzerspezifischen Client (get_user_workspace_client()) auf. Siehe Authentifizierung bei MCP-Diensten und einen Agenten erstellen und ihn in Databricks Apps bereitstellen.Jeder Nutzer stimmt einmal zu. Beim ersten Anruf muss ein Nutzer einen einmaligen OAuth-Login durchführen. Deine App erhält einen Login-Link, der dem Nutzer angezeigt wird, oder der Nutzer kann den Dienst im Katalog-Explorer öffnen und auf Einloggen klicken.
Note
Du kannst diesen EXECUTE Zugriff nicht über ein Bundle gewähren. Eine Ressource für Declarative Automation Bundles uc_securable unterstützt nur die absicherbaren Objekte VOLUME, TABLE, FUNCTION und CONNECTION, nicht jedoch MCP Services. Daher müssen Sie EXECUTE separat gewähren, entweder über die UI oder die oben genannte REST-API. Vorsicht: databricks bundle validate Es markiert den fehlenden Zuschuss nicht, sodass der Agent sauber deployen kann und erst scheitert, wenn er den Service zum ersten Mal anruft.
Einschränkungen
Für MCP-Dienste gelten folgende Einschränkungen:
- 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:
- Externe MCP-Server sind nur in Regionen verfügbar, in denen Model Serving unterstützt wird, einschließlich der Verwendung in AI Playground, Genie Code und Chat in Genie. Siehe Verfügbarkeit der Bereitstellungsfunktionen des Modells.
Nächste Schritte
- Registrieren Sie einen externen MCP-Server , um einen externen MCP-Server zu registrieren und aufzurufen.
- Regeln Sie einen MCP-Dienst , um Tools einzuschränken und Dienstrichtlinien anzuwenden.
- Verwenden Sie MCP-Server in Custom Agents , um einen MCP-Service programmatisch aus dem Agentencode aufzurufen, mit Beispielen für das OpenAI Agents SDK, LangGraph und Model Serving.
- Verbinden Sie MCPs mit KI-Assistenten und Codierungs-Agents , um Codierungs-Agents und KI-Assistenten zu verbinden.
- Überwachen Sie alle KI-Aktivitäten mit der einheitlichen Trace-Tabelle , um alle MCP-Aktivitäten an einem Ort zu überwachen, zu debuggen und zu prüfen.
- KI-Governance mit Unity AI Gateway zum Steuern von MCP-Servern und LLM-Endpunkten von einem zentralen Standort aus.