MCP Databricks Server

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.

Integrations

  • Supports configuration through .env files for storing and loading Databricks credentials and connection settings.

  • Executes SQL queries against Databricks using the Statement Execution API, allowing data retrieval, schema listing, table enumeration, and table schema description through the Databricks platform.

  • Built on Python with requirements for Python 3.10+ runtime environment.

Servidor MCP de Databricks

Este es un servidor de Protocolo de Contexto de Modelo (MCP) para ejecutar consultas SQL en Databricks mediante la API de Ejecución de Instrucciones. Puede recuperar datos mediante solicitudes SQL mediante la API de Databricks. Al usarlo en modo Agente, puede iterar con éxito varias solicitudes para realizar tareas complejas. Su funcionamiento es aún mejor cuando se combina con los metadatos del catálogo de Unity.

Características

  • Ejecutar consultas SQL en Databricks
  • Listar los esquemas disponibles en un catálogo
  • Listar tablas en un esquema
  • Describir esquemas de tablas

Configuración

Requisitos del sistema

  • Python 3.10+
  • Si planea instalarlo mediante uv , asegúrese de que esté instalado

Instalación

  1. Instale las dependencias necesarias:
pip install -r requirements.txt

O si usas uv :

uv pip install -r requirements.txt
  1. Configure sus variables de entorno:Opción 1: Usar un archivo .env (recomendado)Crea un archivo .env con tus credenciales de Databricks:
    DATABRICKS_HOST=your-databricks-instance.cloud.databricks.com DATABRICKS_TOKEN=your-databricks-access-token DATABRICKS_SQL_WAREHOUSE_ID=your-sql-warehouse-id
    Opción 2: Establecer variables de entorno directamente
    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"

Puede encontrar el ID de su almacén SQL en la interfaz de usuario de Databricks, en Almacenes SQL.

Requisitos de permisos

Antes de utilizar este servidor MCP, asegúrese de que:

  1. Permisos del almacén SQL : El usuario asociado al token proporcionado debe tener los permisos adecuados para acceder al almacén SQL especificado. Puede configurar los permisos del almacén en la interfaz de usuario de Databricks, en Almacenes SQL > [Su almacén] > Permisos.
  2. Permisos del token : El token de acceso personal utilizado debe tener los permisos mínimos necesarios para realizar las operaciones requeridas. Se recomienda encarecidamente:
    • Crea un token dedicado específicamente para esta aplicación
    • Otorgar permisos de solo lectura cuando sea posible para limitar los riesgos de seguridad
    • Evite usar tokens con privilegios de administrador en todo el espacio de trabajo
  3. Permisos de acceso a datos : el usuario asociado con el token debe tener los permisos adecuados para acceder a los catálogos, esquemas y tablas que se consultarán.

Para configurar los permisos del almacén de SQL a través de la API REST de Databricks, puede usar:

  • GET /api/2.0/sql/permissions/warehouses/{warehouse_id} para comprobar los permisos actuales
  • PATCH /api/2.0/sql/permissions/warehouses/{warehouse_id} para actualizar los permisos

Para obtener las mejores prácticas de seguridad, considere rotar periódicamente sus tokens de acceso y auditar el historial de consultas para monitorear el uso.

Ejecución del servidor

Modo independiente

Para ejecutar el servidor en modo independiente:

python main.py

Esto iniciará el servidor MCP utilizando el transporte stdio, que se puede usar con Agent Composer u otros clientes MCP.

Uso con cursor

Para utilizar este servidor MCP con Cursor , debe configurarlo en la configuración de Cursor:

  1. Cree un directorio .cursor en su directorio de inicio si aún no existe
  2. Crea o edita el archivo mcp.json en ese directorio:
mkdir -p ~/.cursor touch ~/.cursor/mcp.json
  1. Agregue la siguiente configuración al archivo mcp.json , reemplazando la ruta del directorio con la ruta real donde instaló este servidor:
{ "mcpServers": { "databricks": { "command": "uv", "args": [ "--directory", "/path/to/your/mcp-databricks-server", "run", "main.py" ] } } }

Si no estás usando uv , puedes usar python en su lugar:

{ "mcpServers": { "databricks": { "command": "python", "args": [ "/path/to/your/mcp-databricks-server/main.py" ] } } }
  1. Reinicie el cursor para aplicar los cambios

Ahora puedes usar el servidor Databricks MCP directamente dentro del asistente de inteligencia artificial de Cursor.

Herramientas disponibles

El servidor proporciona las siguientes herramientas:

  1. execute_sql_query : ejecuta una consulta SQL y devuelve los resultados
    execute_sql_query(sql: str) -> str
  2. list_schemas : enumera todos los esquemas disponibles en un catálogo específico
    list_schemas(catalog: str) -> str
  3. list_tables : enumera todas las tablas en un esquema específico
    list_tables(schema: str) -> str
  4. describe_table : Describe el esquema de una tabla
    describe_table(table_name: str) -> str

Ejemplo de uso

En Agent Composer u otros clientes MCP, puede utilizar estas herramientas como:

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")

Manejo de consultas de larga duración

El servidor está diseñado para gestionar consultas de larga duración consultando la API de Databricks hasta que la consulta se complete o se agote el tiempo de espera. El tiempo de espera predeterminado es de 10 minutos (60 reintentos con intervalos de 10 segundos), que se puede ajustar en el archivo dbapi.py si es necesario.

Dependencias

  • httpx: Para realizar solicitudes HTTP a la API de Databricks
  • python-dotenv: para cargar variables de entorno desde el archivo .env
  • mcp: La biblioteca del protocolo de contexto del modelo
  • asyncio: Para operaciones asincrónicas
-
security - not tested
F
license - not found
-
quality - not tested

Este es un servidor de Protocolo de Contexto de Modelo (MCP) para ejecutar consultas SQL en Databricks mediante la API de Ejecución de Instrucciones. Permite a los asistentes de IA consultar directamente los almacenes de datos de Databricks, analizar esquemas de bases de datos y recuperar resultados de consultas en un formato estructurado.

  1. Features
    1. Setup
      1. System Requirements
      2. Installation
    2. Permissions Requirements
      1. Running the Server
        1. Standalone Mode
        2. Using with Cursor
      2. Available Tools
        1. Example Usage
          1. Handling Long-Running Queries
            1. Dependencies
              ID: f6iwwyxvnq