Unity Catalog MCP Server

Um servidor MCP que permite que agentes LLM executem funções de forma integrada dentro do Unity Catalog.

Documentação

mcp-server-unitycatalog: Um Unity Catalog MCP server

Visão Geral

Um servidor Model Context Protocol para Unity Catalog. Este servidor fornece Unity Catalog Functions como ferramentas MCP.

Ferramentas

Você pode usar todas as Unity Catalog Functions registradas no Unity Catalog juntamente com as seguintes ferramentas de IA do Unity Catalog predefinidas:

  1. uc_list_functions

    • Lista funções dentro do catálogo e schema pai especificados.
    • Retorna: Uma lista de funções recuperadas do Unity Catalog.
  2. uc_get_function

    • Obtém uma função dentro de um catálogo e schema pai.
    • Entrada:
      • name (string): O nome da função (não totalmente qualificado).
    • Retorna: Detalhes de uma função recuperados do Unity Catalog.
  3. uc_create_function

    • Cria uma função dentro de um catálogo e schema pai. AVISO: Esta API é experimental e mudará em versões futuras.
    • Entrada:
      • name (string): O nome da função (não totalmente qualificado).
      • script (string): O script Python incluindo a função a ser registrada.
    • Retorna: Detalhes de uma função criada no Unity Catalog.
  4. uc_delete_function

    • Exclui uma função dentro de um catálogo e schema pai.
    • Entrada:
      • name (string): O nome da função (não totalmente qualificado).
    • Retorna: Nenhum.

Instalação

Usando uv

Ao usar uv, nenhuma instalação específica é necessária. Usaremos uvx para executar diretamente mcp-server-git.

Configuração

Esses valores também podem ser definidos por meio de opções de CLI ou variáveis de ambiente .env. Os argumentos obrigatórios são o servidor Unity Catalog, o catálogo e o schema, enquanto o token de acesso e o nível de verbosidade são opcionais. Execute uv run mcp-server-unitycatalog --help para opções de configuração mais detalhadas.

ArgumentoVariável de AmbienteDescriçãoObrigatório/Opcional
-u, --uc_serverUC_SERVERA URL base do servidor Unity Catalog.Obrigatório
-c, --uc_catalogUC_CATALOGO nome do catálogo do Unity Catalog.Obrigatório
-s, --uc_schemaUC_SCHEMAO nome do schema dentro de um catálogo do Unity Catalog.Obrigatório
-t, --uc_tokenUC_TOKENO token de acesso usado para autorizar solicitações de API ao servidor Unity Catalog.Opcional
-v, --uc_verbosityUC_VERBOSITYO nível de verbosidade para registro de logs. Padrão: warn.Opcional
-l, --uc_log_directoryUC_LOG_DIRECTORYO diretório onde os arquivos de log serão armazenados. Padrão: .mcp_server_unitycatalog.Opcional

Uso com Claude Desktop ou VSCode Cline

Adicione isto ao seu claude_desktop_config.json (ou 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: substitua '/Users/username' pelo caminho que você deseja que seja acessível por esta ferramenta
{
  "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>"
      ]
    }
  }
}

Compilação

Docker:

docker build -t mcp/unitycatalog .   

Planos Futuros

  • Implementar suporte para list_functions.
  • Implementar suporte para get_function.
  • Implementar suporte para create_python_function.
  • Implementar suporte para execute_function.
  • Implementar suporte para delete_function.
  • Implementar ferramentas de exploração de catálogo semântico.
  • Adicionar imagem Docker.
  • Implementar métodos use_xxx. Na implementação atual, catalog e schema precisam ser definidos ao iniciar o servidor. No entanto, eles serão implementados como funções use_catalog e use_schema, atualizando dinamicamente a lista de funções disponíveis quando o use_xxx for executado.

Licença

Este servidor MCP é licenciado sob a Licença MIT. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença MIT. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.