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:
-
uc_list_functions- Lista funções dentro do catálogo e schema pai especificados.
- Retorna: Uma lista de funções recuperadas do Unity Catalog.
-
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.
-
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.
-
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.
| Argumento | Variável de Ambiente | Descrição | Obrigatório/Opcional |
|---|---|---|---|
-u, --uc_server | UC_SERVER | A URL base do servidor Unity Catalog. | Obrigatório |
-c, --uc_catalog | UC_CATALOG | O nome do catálogo do Unity Catalog. | Obrigatório |
-s, --uc_schema | UC_SCHEMA | O nome do schema dentro de um catálogo do Unity Catalog. | Obrigatório |
-t, --uc_token | UC_TOKEN | O token de acesso usado para autorizar solicitações de API ao servidor Unity Catalog. | Opcional |
-v, --uc_verbosity | UC_VERBOSITY | O nível de verbosidade para registro de logs. Padrão: warn. | Opcional |
-l, --uc_log_directory | UC_LOG_DIRECTORY | O 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,catalogeschemaprecisam ser definidos ao iniciar o servidor. No entanto, eles serão implementados como funçõesuse_catalogeuse_schema, atualizando dinamicamente a lista de funções disponíveis quando ouse_xxxfor 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.