Databricks
Busque dados empresariais e automatize ações de desenvolvedor na plataforma Databricks.
Documentação
Servidores MCP Databricks
Sumário
- Servidores MCP Databricks
- Sumário
Servidores MCP gerenciados Databricks
O Databricks fornece servidores MCP prontos para uso que permitem que agentes consultem dados e acessem ferramentas no Unity Catalog. As permissões são sempre aplicadas, para que agentes e usuários só possam acessar as ferramentas e os dados aos quais têm permissão. Para mais informações, consulte a documentação do Databricks AWS|Azure|GCP.
Visão geral
Uma coleção experimental de servidores MCP para ajudar agentes de IA a buscar dados empresariais do Databricks, automatizar ações comuns de desenvolvimento no Databricks, etc:
Servidor Unity Catalog Databricks: Busque dados e execute ferramentas registradas no Unity Catalog, tornando os agentes cientes dos seus dados empresariais. Nota: este servidor está obsoleto; o Databricks recomenda usar Servidores MCP gerenciados em vez disso.
Servidor de ferramentas de desenvolvimento Databricks: Execute ações comuns de desenvolvimento no Databricks, como criar e atualizar notebooks, executar jobs, etc. Este servidor ainda não está utilizável, mas contribuições são bem-vindas! Nota: se você estiver desenvolvendo dentro do produto Databricks (por exemplo, usando notebooks Databricks), recomendamos usar o Databricks Assistant
O conjunto de servidores e ferramentas neste repositório é fluido e evoluirá com o tempo. Recebemos contribuições para este repositório - por favor, primeiro leia as diretrizes para contribuidores para agilizar o processo e descobrir áreas onde a ajuda é necessária.
Servidor Unity Catalog
Visão geral
Um servidor Model Context Protocol que expõe dados estruturados e não estruturados no Unity Catalog (índices de busca vetorial, funções e espaços Genie), como ferramentas.
Uso (localmente via transporte stdio)
- Instale o uv
- Instale o Python usando
uv python install 3.12 - Configure as credenciais do Databricks com acesso às APIs necessárias
- Adicione o servidor à configuração do seu cliente MCP. Por exemplo, para usar este servidor com o Claude Desktop, adicione o seguinte ao seu
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"
]
}
}
}
Ferramentas suportadas
A lista de ferramentas suportadas por este servidor é inferida dinamicamente no momento da inicialização com base nas funções e índices de busca vetorial dentro do esquema Unity Catalog especificado, bem como em quaisquer espaços Genie especificados. Em particular, o servidor expõe as seguintes ferramentas:
- Funções UC: para cada função UC, o servidor expõe uma ferramenta com o mesmo nome, argumentos e tipo de retorno da função
- Índices de busca vetorial: para cada índice de busca vetorial, o servidor expõe uma ferramenta para consultar esse índice de busca vetorial
- Espaços Genie: para cada espaço Genie, o servidor expõe ferramentas para gerenciar conversas e enviar perguntas ao espaço
Implantando o servidor UC MCP em Databricks Apps
Você pode implantar o servidor MCP Unity Catalog como um aplicativo Databricks. Para isso, siga as instruções abaixo:
- Entre no diretório do projeto e crie a wheel:
cd /path/to/this/repo
uv build --wheel
Existem duas maneiras de implantar o servidor em Databricks Apps: usando a CLI databricks bundle ou usando a CLI databricks apps. Dependendo da sua preferência, você pode escolher qualquer um dos métodos.
Usando a CLI databricks bundle
Para implantar o servidor usando a CLI databricks bundle, siga estes passos:
- Defina as variáveis de ambiente para
schema_full_nameegenie_space_idse execute o comandobundle deploy:
BUNDLE_VAR_schema_full_name=catalog.schema BUNDLE_VAR_genie_space_ids=[\"space1\",\"space2\"] \
databricks bundle deploy -p your-profile-name
- Implante o aplicativo:
BUNDLE_VAR_schema_full_name=catalog.schema BUNDLE_VAR_genie_space_ids=[\"space1\",\"space2\"] \
databricks bundle run mcp-on-apps -p your-profile-name
Observe que BUNDLE_VAR_genie_space_ids deve ser exatamente como mostrado acima, com as aspas duplas escapadas, sem espaços e com os colchetes incluídos.
Para conectar ao seu aplicativo, use o transporte Streamable HTTP com a seguinte URL:
https://your-app-url.usually.ends.with.databricksapps.com/api/mcp/
Observe o /api/mcp/ final na URL. Isso é necessário para que o servidor funcione corretamente, incluindo a barra final.
Você também precisará definir o cabeçalho Authorization como Bearer <your_token> no seu cliente. Você pode obter o token executando o seguinte comando:
databricks auth token -p your-profile-name
Se você é um desenvolvedor iterando na implementação do servidor, pode repetir os passos #2 e #3 para enviar suas últimas modificações do servidor para o seu aplicativo Databricks.
Observe que ambas as variáveis devem ser fornecidas nos comandos deploy e run. A variável schema_full_name é usada para determinar o esquema a ser usado para o servidor, enquanto a variável genie_space_ids é usada para determinar quais espaços Genie usar.
Usando a CLI databricks apps
Para implantar o servidor usando a CLI databricks apps, siga estes passos:
- Entre no diretório do projeto e crie a wheel:
cd /path/to/this/repo
uv build --wheel
- Configure o arquivo
app.ymlna raiz do diretório do projeto. Você pode usar o seguinte exemplo como ponto 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"]'
- Implante o aplicativo usando a CLI
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>
Conectando-se ao servidor UC MCP implantado em Databricks Apps
Após a implantação do aplicativo, você pode se conectar a ele usando o transporte Streamable HTTP no seu cliente MCP, como Claude Desktop ou MCP inspector. Para fazer isso, você precisa definir a URL de destino como a URL do seu aplicativo + o sufixo /api/mcp/. Exemplo de URL completa:
https://your-app-url.usually.ends.with.databricksapps.com/api/mcp/
Observe que a URL deve terminar com /api/mcp/ (incluindo a barra final), pois isso é necessário para que o servidor funcione corretamente.
Para conectar ao aplicativo, você também precisa definir o cabeçalho Authorization como Bearer <your_token>, onde <your_token> é o token que você pode obter executando o seguinte comando:
databricks auth token -p your-profile-name
Observe que o service principal do aplicativo deve ter as permissões necessárias para acessar o esquema Unity Catalog e os espaços Genie. Você pode fazer isso atribuindo as permissões apropriadas ao service principal no Unity Catalog e no Genie.
Servidor de Ferramentas de Desenvolvimento
Este servidor está atualmente em construção. Ainda não é utilizável, mas contribuições são bem-vindas!
Implantando um servidor MCP personalizado em Databricks Apps
Se você gostaria de implantar um servidor MCP personalizado em Databricks Apps, dê uma olhada na implementação de referência aqui. Ela fornece um guia passo a passo sobre como criar um servidor MCP personalizado e implantá-lo em Databricks Apps.
Suporte
Observe que todos os projetos na organização GitHub databrickslabs são fornecidos apenas para sua exploração e não são formalmente suportados pela Databricks com Acordos de Nível de Serviço (SLAs). Eles são fornecidos COMO ESTÃO e não fazemos nenhuma garantia de qualquer tipo. Não envie um ticket de suporte relacionado a quaisquer problemas decorrentes do uso desses projetos.
Quaisquer problemas descobertos através do uso deste projeto devem ser registrados como Issues do GitHub no Repositório. Eles serão revisados conforme o tempo permitir, mas não há SLAs formais para suporte.
Contribuindo
Recebemos contribuições :) - veja CONTRIBUTING.md para detalhes. Certifique-se de ler este guia antes de enviar pull requests, para garantir que sua contribuição tenha a melhor chance de ser aceita.