Skip to main content
Glama

MCP Databricks Server

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

  1. Installieren Sie die erforderlichen Abhängigkeiten:
pip install -r requirements.txt

Oder bei Verwendung von uv :

uv pip install -r requirements.txt
  1. 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-id
    Option 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:

  1. 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.
  2. 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
  3. 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üfen
  • PATCH /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:

python main.py

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:

  1. Erstellen Sie ein .cursor -Verzeichnis in Ihrem Home-Verzeichnis, falls es noch nicht vorhanden ist
  2. Erstellen oder bearbeiten Sie die Datei mcp.json in diesem Verzeichnis:
mkdir -p ~/.cursor touch ~/.cursor/mcp.json
  1. 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:
{ "mcpServers": { "databricks": { "command": "uv", "args": [ "--directory", "/path/to/your/mcp-databricks-server", "run", "main.py" ] } } }

Wenn Sie uv nicht verwenden, können Sie stattdessen python verwenden:

{ "mcpServers": { "databricks": { "command": "python", "args": [ "/path/to/your/mcp-databricks-server/main.py" ] } } }
  1. 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:

  1. execute_sql_query : Führt eine SQL-Abfrage aus und gibt die Ergebnisse zurück
    execute_sql_query(sql: str) -> str
  2. list_schemas : Listet alle verfügbaren Schemas in einem bestimmten Katalog auf
    list_schemas(catalog: str) -> str
  3. list_tables : Listet alle Tabellen in einem bestimmten Schema auf
    list_tables(schema: str) -> str
  4. describe_table : Beschreibt das Schema einer Tabelle
    describe_table(table_name: str) -> str

Beispielverwendung

In Agent Composer oder anderen MCP-Clients können Sie folgende Tools verwenden:

execute_sql_query("SELECT * FROM my_schema.my_table LIMIT 10") list_schemas("my_catalog") list_tables("my_catalog.my_schema") describe_table("my_catalog.my_schema.my_table")

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
-
security - not tested
A
license - permissive license
-
quality - not tested

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.

  1. Merkmale
    1. Aufstellen
      1. Systemanforderungen
      2. Installation
    2. Berechtigungsanforderungen
      1. Ausführen des Servers
        1. Standalone-Modus
        2. Verwendung mit Cursor
      2. Verfügbare Tools
        1. Beispielverwendung
          1. Behandeln lang andauernder Abfragen
            1. Abhängigkeiten

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                A 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 -
                6
                50,196
                Python
                MIT License
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol (MCP) server that enables AI assistants to interact with MySQL databases by executing SQL queries and checking database connectivity.
                Last updated -
                TypeScript
                MIT License
                • Apple
                • Linux
              • -
                security
                F
                license
                -
                quality
                A 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 -
                19
                Python
                • Linux
                • Apple
              • -
                security
                F
                license
                -
                quality
                A 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 -
                6
                Python

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/RafaelCartenet/mcp-databricks-server'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server