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
uvplanen, 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:
DATABRICKS_HOST=your-databricks-instance.cloud.databricks.com DATABRICKS_TOKEN=your-databricks-access-token DATABRICKS_SQL_WAREHOUSE_ID=your-sql-warehouse-idOption 2: Umgebungsvariablen direkt festlegen
export DATABRICKS_HOST="your-databricks-instance.cloud.databricks.com" export DATABRICKS_TOKEN="your-databricks-access-token" export DATABRICKS_SQL_WAREHOUSE_ID="your-sql-warehouse-id"
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 istErstellen oder bearbeiten Sie die Datei
mcp.jsonin diesem Verzeichnis:
Fügen Sie der Datei
mcp.jsondie 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ückexecute_sql_query(sql: str) -> strlist_schemas: Listet alle verfügbaren Schemas in einem bestimmten Katalog auflist_schemas(catalog: str) -> strlist_tables: Listet alle Tabellen in einem bestimmten Schema auflist_tables(schema: str) -> strdescribe_table: Beschreibt das Schema einer Tabelledescribe_table(table_name: str) -> str
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
- Asecurity-licenseAqualityA 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 -71,513MIT License
- -security-license-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 -MIT License
- Asecurity-licenseAqualityA 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 -1139
- -security-license-qualityA Model Context Protocol (MCP) server that converts natural language queries into SQL statements, allowing users to query MySQL databases using conversational language instead of writing SQL code.Last updated -3