Databricks MCP-Server
Dies ist ein Model Context Protocol (MCP)-Server zur Ausführung von SQL-Abfragen an Databricks mithilfe der Statement Execution API. Er kann Daten abrufen, indem er SQL-Anfragen über die Databricks API ausführt. Im Agentenmodus kann er mehrere Anfragen erfolgreich durchlaufen, um komplexe Aufgaben auszuführen. In Verbindung mit Unity Catalog Metadata ist er noch besser.
Merkmale
- Ausführen von SQL-Abfragen auf Databricks
- Auflisten verfügbarer Schemas in einem Katalog
- Auflisten von Tabellen in einem Schema
- Beschreiben von Tabellenschemata
Aufstellen
Systemanforderungen
- Python 3.10+
- Wenn Sie die Installation über
uv
planen, stellen Sie sicher, dass es installiert ist
Installation
- Installieren Sie die erforderlichen Abhängigkeiten:
Oder bei Verwendung von uv
:
- Richten Sie Ihre Umgebungsvariablen ein:Option 1: Verwenden einer .env-Datei (empfohlen)Erstellen Sie eine .env-Datei mit Ihren Databricks-Anmeldeinformationen:Option 2: Umgebungsvariablen direkt festlegen
Sie finden Ihre SQL-Warehouse-ID in der Databricks-Benutzeroberfläche unter „SQL Warehouses“.
Berechtigungsanforderungen
Stellen Sie vor der Verwendung dieses MCP-Servers Folgendes sicher:
- SQL Warehouse-Berechtigungen : Der mit dem bereitgestellten Token verknüpfte Benutzer muss über die entsprechenden Berechtigungen für den Zugriff auf das angegebene SQL Warehouse verfügen. Sie können Warehouse-Berechtigungen in der Databricks-Benutzeroberfläche unter SQL Warehouses > [Ihr Warehouse] > Berechtigungen konfigurieren.
- Token-Berechtigungen : Das verwendete persönliche Zugriffstoken sollte über die erforderlichen Mindestberechtigungen für die Ausführung der erforderlichen Vorgänge verfügen. Es wird dringend empfohlen:
- Erstellen Sie ein dediziertes Token speziell für diese Anwendung
- Erteilen Sie nach Möglichkeit nur Leseberechtigungen, um Sicherheitsrisiken zu begrenzen
- Vermeiden Sie die Verwendung von Token mit arbeitsbereichsweiten Administratorrechten
- Berechtigungen für den Datenzugriff : Der mit dem Token verknüpfte Benutzer muss über die entsprechenden Berechtigungen für den Zugriff auf die Kataloge, Schemata und Tabellen verfügen, die abgefragt werden.
Um SQL Warehouse-Berechtigungen über die Databricks-REST-API festzulegen, können Sie Folgendes verwenden:
GET /api/2.0/sql/permissions/warehouses/{warehouse_id}
um die aktuellen Berechtigungen zu überprüfenPATCH /api/2.0/sql/permissions/warehouses/{warehouse_id}
zum Aktualisieren der Berechtigungen
Um die Sicherheit zu gewährleisten, sollten Sie Ihre Zugriffstoken regelmäßig rotieren und den Abfrageverlauf prüfen, um die Nutzung zu überwachen.
Ausführen des Servers
Standalone-Modus
So führen Sie den Server im Standalone-Modus aus:
Dadurch wird der MCP-Server mithilfe des Stdio-Transports gestartet, der mit Agent Composer oder anderen MCP-Clients verwendet werden kann.
Verwendung mit Cursor
Um diesen MCP-Server mit Cursor zu verwenden, müssen Sie ihn in Ihren Cursor-Einstellungen konfigurieren:
- Erstellen Sie ein
.cursor
-Verzeichnis in Ihrem Home-Verzeichnis, falls es noch nicht vorhanden ist - Erstellen oder bearbeiten Sie die Datei
mcp.json
in diesem Verzeichnis:
- Fügen Sie der Datei
mcp.json
die folgende Konfiguration hinzu und ersetzen Sie den Verzeichnispfad durch den tatsächlichen Pfad, unter dem Sie diesen Server installiert haben:
Wenn Sie uv
nicht verwenden, können Sie stattdessen python
verwenden:
- Starten Sie den Cursor neu, um die Änderungen zu übernehmen
Jetzt können Sie den Databricks MCP-Server direkt im KI-Assistenten von Cursor verwenden.
Verfügbare Tools
Der Server stellt die folgenden Tools bereit:
execute_sql_query
: Führt eine SQL-Abfrage aus und gibt die Ergebnisse zurücklist_schemas
: Listet alle verfügbaren Schemas in einem bestimmten Katalog auflist_tables
: Listet alle Tabellen in einem bestimmten Schema aufdescribe_table
: Beschreibt das Schema einer Tabelle
Beispielverwendung
In Agent Composer oder anderen MCP-Clients können Sie folgende Tools verwenden:
Behandeln lang andauernder Abfragen
Der Server ist für die Verarbeitung lang andauernder Abfragen ausgelegt, indem er die Databricks-API abfragt, bis die Abfrage abgeschlossen ist oder ein Timeout auftritt. Das Standardtimeout beträgt 10 Minuten (60 Wiederholungsversuche im Abstand von 10 Sekunden). Es kann bei Bedarf in der Datei dbapi.py
angepasst werden.
Abhängigkeiten
- httpx: Zum Senden von HTTP-Anfragen an die Databricks-API
- python-dotenv: Zum Laden von Umgebungsvariablen aus einer .env-Datei
- mcp: Die Model Context Protocol-Bibliothek
- asyncio: Für asynchrone Operationen
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Dies ist ein Model Context Protocol (MCP)-Server zur Ausführung von SQL-Abfragen an Databricks mithilfe der Statement Execution API. Er ermöglicht KI-Assistenten die direkte Abfrage von Databricks-Data Warehouses, die Analyse von Datenbankschemata und das Abrufen von Abfrageergebnissen in einem strukturierten Format.
- Merkmale
- Aufstellen
- Berechtigungsanforderungen
- Ausführen des Servers
- Verfügbare Tools
- Beispielverwendung
- Behandeln lang andauernder Abfragen
- Abhängigkeiten
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server implementation that provides database interaction and business intelligence capabilities through SQLite. This server enables running SQL queries, analyzing business data, and automatically generating business insight memos.Last updated -650,196PythonMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables AI assistants to interact with MySQL databases by executing SQL queries and checking database connectivity.Last updated -TypeScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables LLMs to interact with Databricks workspaces through natural language, allowing SQL query execution and job management operations.Last updated -19Python
- -securityFlicense-qualityA server that implements the Model Completion Protocol (MCP) to allow LLMs to interact with Databricks resources including clusters, jobs, notebooks, and SQL execution through natural language.Last updated -6Python