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
Related MCP server: MCP MySQL App
Configuración
Requisitos del sistema
Python 3.10+
Si planea instalarlo mediante
uv, asegúrese de que esté instalado
Instalación
Instale las dependencias necesarias:
O si usas uv :
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-idOpció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:
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.
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
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 actualesPATCH /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:
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:
Cree un directorio
.cursoren su directorio de inicio si aún no existeCrea o edita el archivo
mcp.jsonen ese directorio:
Agregue la siguiente configuración al archivo
mcp.json, reemplazando la ruta del directorio con la ruta real donde instaló este servidor:
Si no estás usando uv , puedes usar python en su lugar:
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:
execute_sql_query: ejecuta una consulta SQL y devuelve los resultadosexecute_sql_query(sql: str) -> strlist_schemas: enumera todos los esquemas disponibles en un catálogo específicolist_schemas(catalog: str) -> strlist_tables: enumera todas las tablas en un esquema específicolist_tables(schema: str) -> strdescribe_table: Describe el esquema de una tabladescribe_table(table_name: str) -> str
Ejemplo de uso
En Agent Composer u otros clientes MCP, puede utilizar estas herramientas como:
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