Databricks

Obtén datos empresariales y automatiza acciones de desarrollador en la plataforma Databricks.

Documentación

Servidores MCP de Databricks

Test Status

Tabla de Contenidos

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.:

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

status: Beta

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.

Demo image

Uso (localmente mediante transporte stdio)

  1. Instala uv
  2. Instala Python usando uv python install 3.12
  3. Configura las credenciales de Databricks con acceso a las APIs requeridas
  4. 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:

  1. 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:

  1. Establece las variables de entorno para schema_full_name y genie_space_ids y ejecuta el comando bundle deploy:
BUNDLE_VAR_schema_full_name=catalog.schema BUNDLE_VAR_genie_space_ids=[\"space1\",\"space2\"] \
  databricks bundle deploy -p your-profile-name
  1. 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:

  1. Muévete al directorio del proyecto y compila la rueda:
cd /path/to/this/repo
uv build --wheel
  1. Configura el archivo app.yml en 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"]'
  1. 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.