Unity Catalog MCP Server

Un servidor MCP que permite a los agentes LLM ejecutar funciones sin problemas dentro de Unity Catalog.

Documentación

mcp-server-unitycatalog: Un servidor MCP de Unity Catalog

Descripción general

Un servidor de Protocolo de Contexto de Modelo para Unity Catalog. Este servidor proporciona Funciones de Unity Catalog como herramientas MCP.

Herramientas

Puedes usar todas las Funciones de Unity Catalog registradas en Unity Catalog junto con las siguientes herramientas de IA de Unity Catalog predefinidas:

  1. uc_list_functions

    • Lista las funciones dentro del catálogo y esquema principal especificados.
    • Devuelve: Una lista de funciones recuperadas de Unity Catalog.
  2. uc_get_function

    • Obtiene una función dentro de un catálogo y esquema principal.
    • Entrada:
      • name (cadena): El nombre de la función (no totalmente calificado).
    • Devuelve: Los detalles de una función recuperados de Unity Catalog.
  3. uc_create_function

    • Crea una función dentro de un catálogo y esquema principal. ADVERTENCIA: Esta API es experimental y cambiará en versiones futuras.
    • Entrada:
      • name (cadena): El nombre de la función (no totalmente calificado).
      • script (cadena): El script de Python que incluye la función a registrar.
    • Devuelve: Los detalles de una función creada dentro de Unity Catalog.
  4. uc_delete_function

    • Elimina una función dentro de un catálogo y esquema principal.
    • Entrada:
      • name (cadena): El nombre de la función (no totalmente calificado).
    • Devuelve: Ninguno.

Instalación

Usando uv

Cuando se usa uv no se necesita ninguna instalación específica. Usaremos uvx para ejecutar directamente mcp-server-git.

Configuración

Estos valores también se pueden establecer mediante opciones de CLI o variables de entorno .env. Los argumentos requeridos son el servidor de Unity Catalog, el catálogo y el esquema, mientras que el token de acceso y el nivel de verbosidad son opcionales. Ejecuta uv run mcp-server-unitycatalog --help para obtener opciones de configuración más detalladas.

ArgumentoVariable de EntornoDescripciónRequerido/Opcional
-u, --uc_serverUC_SERVERLa URL base del servidor de Unity Catalog.Requerido
-c, --uc_catalogUC_CATALOGEl nombre del catálogo de Unity Catalog.Requerido
-s, --uc_schemaUC_SCHEMAEl nombre del esquema dentro de un catálogo de Unity Catalog.Requerido
-t, --uc_tokenUC_TOKENEl token de acceso utilizado para autorizar solicitudes de API al servidor de Unity Catalog.Opcional
-v, --uc_verbosityUC_VERBOSITYEl nivel de verbosidad para el registro. Predeterminado: warn.Opcional
-l, --uc_log_directoryUC_LOG_DIRECTORYEl directorio donde se almacenarán los archivos de registro. Predeterminado: .mcp_server_unitycatalog.Opcional

Uso con Claude Desktop o VSCode Cline

Agrega esto a tu claude_desktop_config.json (o cline_mcp_settings.json):

Usando uv
{
  "mcpServers": {
    "unitycatalog": {
      "command": "uv",
      "args": [
        "--directory",
        "/<path to your local git repository>/mcp-server-unitycatalog",
        "run",
        "mcp-server-unitycatalog",
        "--uc_server",
        "<your unity catalog url>",
        "--uc_catalog",
        "<your catalog name>",
        "--uc_schema",
        "<your schema name>"
      ]
    }
  }
}
Usando docker
  • Nota: reemplaza '/Users/username' con la ruta que deseas que sea accesible por esta herramienta
{
  "mcpServers": {
    "unitycatalog": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "mcp/unitycatalog",
        "--uc_server",
        "<your unity catalog url>",
        "--uc_catalog",
        "<your catalog name>",
        "--uc_schema",
        "<your schema name>"
      ]
    }
  }
}

Compilación

Docker:

docker build -t mcp/unitycatalog .   

Planes Futuros

  • Implementar soporte para list_functions.
  • Implementar soporte para get_function.
  • Implementar soporte para create_python_function.
  • Implementar soporte para execute_function.
  • Implementar soporte para delete_function.
  • Implementar herramientas de explorador de catálogo semántico.
  • Agregar imagen de Docker.
  • Implementar métodos use_xxx. En la implementación actual, catalog y schema deben definirse al iniciar el servidor. Sin embargo, se implementarán como funciones use_catalog y use_schema, actualizando dinámicamente la lista de funciones disponibles cuando se ejecute use_xxx.

Licencia

Este servidor MCP está licenciado bajo la Licencia MIT. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.