Databricks
Obtén datos empresariales y automatiza acciones de desarrollador en la plataforma Databricks.
Documentación
Servidores MCP de Databricks
Tabla de Contenidos
- Servidores MCP de Databricks
- Tabla de Contenidos
- Descripción General
- Servidor de Unity Catalog
- Servidor de Herramientas de Desarrollo
- Despliegue de un servidor MCP personalizado en Databricks Apps
- Soporte
- Contribuciones
Servidores MCP administrados por Databricks
Databricks proporciona servidores MCP listos para usar que permiten a los agentes consultar datos y acceder a herramientas en Unity Catalog. Los permisos siempre se aplican, por lo que los agentes y usuarios solo pueden acceder a las herramientas y datos que se les permiten. Para más información, consulta la documentación de Databricks AWS|Azure|GCP.
Descripción General
Una colección experimental de servidores MCP para ayudar a los agentes de IA a obtener datos empresariales de Databricks, automatizar acciones comunes de desarrollo en Databricks, etc.:
Servidor de Unity Catalog de Databricks: Obtiene datos y ejecuta herramientas registradas desde Unity Catalog, haciendo que los agentes conozcan tus datos empresariales. Nota: este servidor está obsoleto; Databricks recomienda usar Servidores MCP administrados en su lugar.
Servidor de herramientas de desarrollo de Databricks: Realiza acciones comunes de desarrollo en Databricks, como crear y actualizar notebooks, ejecutar trabajos, etc. Este servidor aún no es utilizable, ¡pero las contribuciones son bienvenidas! Nota: si desarrollas desde dentro del producto Databricks (por ejemplo, usando notebooks de Databricks), recomendamos usar Databricks Assistant
El conjunto de servidores y herramientas en este repositorio es fluido y evolucionará con el tiempo. Agradecemos las contribuciones a este repositorio; por favor, primero lee las directrices para contribuyentes para agilizar el proceso y descubrir áreas donde se necesita ayuda.
Servidor de Unity Catalog
Descripción General
Un servidor de Protocolo de Contexto de Modelo que expone datos estructurados y no estructurados en Unity Catalog (índices de búsqueda vectorial, funciones y espacios Genie), como herramientas.
Uso (localmente mediante transporte stdio)
- Instala uv
- Instala Python usando
uv python install 3.12 - Configura las credenciales de Databricks con acceso a las APIs requeridas
- Agrega el servidor a la configuración de tu cliente MCP. Por ejemplo, para usar este servidor con Claude Desktop, agrega lo siguiente a tu
claude_desktop_config.json:
{
"mcpServers": {
"databricks_unity_catalog": {
"command": "/path/to/uv/executable/uv",
"args": [
"--directory",
"/path/to/this/repo",
"run",
"unitycatalog-mcp",
"-s",
"your_catalog.your_schema",
"-g",
"genie_space_id_1,genie_space_id_2"
]
}
}
}
Herramientas compatibles
La lista de herramientas compatibles con este servidor se infiere dinámicamente al inicio según las funciones e índices de búsqueda vectorial dentro del esquema de Unity Catalog especificado, así como cualquier espacio Genie especificado. En particular, el servidor expone las siguientes herramientas:
- Funciones de UC: para cada función de UC, el servidor expone una herramienta con el mismo nombre, argumentos y tipo de retorno que la función
- Índices de búsqueda vectorial: para cada índice de búsqueda vectorial, el servidor expone una herramienta para consultar ese índice
- Espacios Genie: para cada espacio Genie, el servidor expone herramientas para gestionar conversaciones y enviar preguntas al espacio
Despliegue del servidor UC MCP en Databricks Apps
Puedes desplegar el servidor MCP de Unity Catalog como una aplicación de Databricks. Para hacerlo, sigue las instrucciones a continuación:
- Muévete al directorio del proyecto y compila la rueda:
cd /path/to/this/repo
uv build --wheel
Hay dos formas de desplegar el servidor en Databricks Apps: usando la CLI de databricks bundle o usando la CLI de databricks apps. Según tu preferencia, puedes elegir cualquiera de los dos métodos.
Usando la CLI de databricks bundle
Para desplegar el servidor usando la CLI de databricks bundle, sigue estos pasos:
- Establece las variables de entorno para
schema_full_nameygenie_space_idsy ejecuta el comandobundle deploy:
BUNDLE_VAR_schema_full_name=catalog.schema BUNDLE_VAR_genie_space_ids=[\"space1\",\"space2\"] \
databricks bundle deploy -p your-profile-name
- Despliega la aplicación:
BUNDLE_VAR_schema_full_name=catalog.schema BUNDLE_VAR_genie_space_ids=[\"space1\",\"space2\"] \
databricks bundle run mcp-on-apps -p your-profile-name
Ten en cuenta que BUNDLE_VAR_genie_space_ids debe ser exactamente como se muestra arriba, con las comillas dobles escapadas, sin espacios e incluyendo los corchetes.
Para conectarte a tu aplicación, usa el transporte Streamable HTTP con la siguiente URL:
https://your-app-url.usually.ends.with.databricksapps.com/api/mcp/
Ten en cuenta el /api/mcp/ final en la URL. Esto es necesario para que el servidor funcione correctamente, incluida la barra diagonal final.
También necesitarás establecer el encabezado Authorization a Bearer <your_token> en tu cliente. Puedes obtener el token ejecutando el siguiente comando:
databricks auth token -p your-profile-name
Si eres un desarrollador que itera en la implementación del servidor, puedes repetir los pasos #2 y #3 para enviar tus últimas modificaciones del servidor a tu aplicación de Databricks.
Ten en cuenta que ambas variables deben proporcionarse tanto en los comandos deploy como run. La variable schema_full_name se usa para determinar el esquema a utilizar para el servidor, mientras que la variable genie_space_ids se usa para determinar qué espacios Genie usar.
Usando la CLI de databricks apps
Para desplegar el servidor usando la CLI de databricks apps, sigue estos pasos:
- Muévete al directorio del proyecto y compila la rueda:
cd /path/to/this/repo
uv build --wheel
- Configura el archivo
app.ymlen la raíz del directorio del proyecto. Puedes usar el siguiente ejemplo como punto de partida:
command: ["uvicorn", "databricks.labs.mcp.servers.unity_catalog.app:app"]
env:
- name: SCHEMA_FULL_NAME
value: catalog.schema
- name: GENIE_SPACE_IDS
value: '["space1","space2"]'
- Despliega la aplicación usando la CLI de
databricks apps:
uv build --wheel
databricks sync ./build -p <your-profile-name> /Workspace/Users/my-email@org.com/my-app
databricks apps deploy my-app-name -p <your-profile-name> --source-code-path /Workspace/Users/my-email@org.com/my-app
databricks apps start my-app-name -p <your-profile-name>
Conexión al servidor UC MCP desplegado en Databricks Apps
Después de que la aplicación esté desplegada, puedes conectarte a ella usando el transporte Streamable HTTP en tu cliente MCP, como Claude Desktop o el inspector de MCP.
Para hacer esto, necesitas establecer la URL de destino a la URL de tu aplicación + el sufijo /api/mcp/. Ejemplo de URL completa:
https://your-app-url.usually.ends.with.databricksapps.com/api/mcp/
Ten en cuenta que la URL debe terminar con /api/mcp/ (incluida la barra diagonal final), ya que esto es necesario para que el servidor funcione correctamente.
Para conectarte a la aplicación, también necesitas establecer el encabezado Authorization a Bearer <your_token>, donde <your_token> es el token que puedes obtener ejecutando el siguiente comando:
databricks auth token -p your-profile-name
Ten en cuenta que el principal de servicio de la aplicación debe tener los permisos necesarios para acceder al esquema de Unity Catalog y a los espacios Genie. Puedes hacer esto asignando los permisos apropiados al principal de servicio en Unity Catalog y Genie.
Servidor de Herramientas de Desarrollo
Este servidor está actualmente en construcción. Aún no es utilizable, ¡pero las contribuciones son bienvenidas!
Despliegue de un servidor MCP personalizado en Databricks Apps
Si deseas desplegar un servidor MCP personalizado en Databricks Apps, echa un vistazo a la implementación de referencia aquí. Proporciona una guía paso a paso sobre cómo crear un servidor MCP personalizado y desplegarlo en Databricks Apps.
Soporte
Ten en cuenta que todos los proyectos en la organización de GitHub databrickslabs se proporcionan solo para tu exploración y no cuentan con soporte formal de Databricks con Acuerdos de Nivel de Servicio (SLA). Se proporcionan TAL CUAL y no hacemos ninguna garantía de ningún tipo. Por favor, no envíes un ticket de soporte relacionado con cualquier problema que surja del uso de estos proyectos.
Cualquier problema descubierto mediante el uso de este proyecto debe registrarse como Problemas de GitHub en el Repositorio. Serán revisados según disponibilidad de tiempo, pero no hay SLA formales para soporte.
Contribuciones
¡Agradecemos las contribuciones :) - consulta CONTRIBUTING.md para más detalles. Asegúrate de leer esta guía antes de enviar solicitudes de extracción, para garantizar que tu contribución tenga la mejor oportunidad de ser aceptada.