Dremio
Integre Modelos de Linguagem de Grande Escala (LLMs) com a plataforma data lakehouse Dremio.
Documentação
Dremio MCP server
Sumário
- Introdução
- Instalação
- Configuração inicial
- Registro de logs
- Documentação Adicional
- Informações Adicionais
Introdução
Este repositório fornece um servidor Model Context Protocol (MCP) para facilitar a integração de LLM com o Dremio. Se você é novo em MCP e Servidores MCP, faça nosso curso de Dremio MCP Server na Dremio University (DremioU). Se você já está familiarizado com esses conceitos, prossiga abaixo.
%%{init:
{
"themeVariables": {
"fontFamily": "Inter"
}
}
}%%
architecture-beta
group ws(cloud)[Workstation]
service cf(database)[Config] in ws
service mcp(server)[Dremio MCP Server] in ws
service claude(cloud)[Claude Desktop] in ws
mcp:B <-- T:cf
claude:R <--> L:mcp
group dremio(cloud)[Dremio]
service de(server)[Dremio Engine] in dremio
mcp:R <--> L:de
Instalação
O servidor Dremio MCP pode ser implantado de duas maneiras:
Implantação Remota / HTTP Streaming
Para implantações de produção em ambientes Kubernetes, use o Helm chart:
Início Rápido com Helm
# Build Docker image
docker build -t dremio-mcp:0.1.0 .
# Production deployment with OAuth (Recommended)
helm install my-dremio-mcp ./helm/dremio-mcp \
--set dremio.uri=https://dremio.example.com:9047
# Development/Testing with PAT (Not for production)
helm install my-dremio-mcp ./helm/dremio-mcp \
--set dremio.uri=https://dremio.example.com:9047 \
--set dremio.pat=<your-pat>
Principais Recursos
- ✅ Autenticação OAuth + External Token Provider (recomendado para produção)
- ✅ Modo HTTP Streaming para implantações baseadas na web
- ✅ Horizontal Pod Autoscaling para escalabilidade
- ✅ Integração com métricas Prometheus
- ✅ Suporte a Ingress com TLS/SSL
- ✅ Boas práticas de segurança (non-root, filesystem somente leitura)
Documentação
- Helm Chart README - Guia completo de instalação e configuração
- Guia de Autenticação - Implementação de OAuth + External Token Provider
- Exemplos de Configuração - Exemplos de produção e desenvolvimento
Instalação Local (Desktop/Desenvolvimento)
O servidor MCP é executado localmente na máquina que executa o frontend do LLM (ex: Claude). Os passos de instalação são simples:
- Clone ou baixe este repositório.
- Instale o gerenciador de pacotes uv (observe que o servidor MCP requer python 3.11 ou posterior)
- Se você estiver instalando pela primeira vez, reinicie seu terminal ao final da instalação
- Certifique-se de ter o python instalado executando o comando abaixo. Ele deve mostrar python 3.11 ou posterior (Se você não tiver o python instalado, siga as instruções aqui OU simplesmente execute
uv python install)
$ uv python find
- Faça uma verificação de sanidade executando o comando e validando a saída conforme mostrado abaixo.
# cd <toplevel git dir> or add `--directory <toplevel git dir>`
# to the command below
$ uv run dremio-mcp-server --help
Usage: dremio-mcp-server [OPTIONS] COMMAND [ARGS]...
╭─ Options ────────────────────────────────────────────────────────────────────────╮
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy │
│ it or customize the installation. │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────╮
│ run Run the DremioAI MCP server │
│ tools Support for testing tools directly │
│ config Configuration management │
╰──────────────────────────────────────────────────────────────────────────────────╯
Configuração inicial
Existem duas configurações necessárias antes que o servidor MCP possa ser invocado.
- O arquivo de configuração do servidor: Isso cobrirá os detalhes de conexão e comunicação com o Dremio
- O arquivo de configuração do LLM: Isso cobre a configuração do aplicativo desktop do LLM (Claude por enquanto) para torná-lo ciente do servidor MCP
Início rápido
A maneira mais rápida de fazer essa configuração é -
- Crie o arquivo de configuração do dremio conforme descrito abaixo e esteja preparado com estes valores
$ uv run dremio-mcp-server config create dremioai \
--uri <dremio uri> \
# the endpoint portion of the URL for your environment
--pat <dremio pat> \
# https://docs.dremio.com/current/security/authentication/personal-access-tokens/#using-a-pat
# required for cloud: add your project ID if setting up for dremio cloud
# --project-id <dremio project id>
Nota: a uri é o endpoint da API associado ao seu ambiente:
- Para Dremio cloud baseado na região dos EUA (https://app.dremio.cloud) use
https://api.dremio.cloudou use a forma abreviadaprod - Para Dremio cloud baseado na região EMEA (https://app.eu.dremio.cloud) use
https://api.eu.dremio.cloudou use a forma abreviadaprodemea - Para implantações SW/K8S use https://<coordinator‑host>:<9047 or custom port>
Nota: Por motivos de segurança, se você não quiser que o PAT vaze para o arquivo de histórico do seu shell, crie um arquivo com seu PAT e passe-o como argumento para a configuração do dremio.
Exemplo:
$ uv run dremio-mcp-server config create dremioai \
--uri <dremio uri> \
--pat @/path/to/tokenfile \
- Baixe e instale o Claude Desktop (Claude)
Nota: O Claude tem requisitos de sistema, como node.js, por favor valide seus requisitos de sistema com a documentação oficial do Claude.
- Crie o arquivo de configuração do Claude usando
$ uv run dremio-mcp-server config create claude
- Valide os arquivos de configuração usando
$ uv run dremio-mcp-server config list --type claude
Default config file: '/Users/..../Library/Application Support/Claude/claude_desktop_config.json' (exists = True)
{
'globalShortcut': '',
'mcpServers': {
'Dremio': {
'command': '/opt/homebrew/Cellar/uv/0.6.14/bin/uv',
'args': [
'run',
'--directory',
'...../dremio-mcp',
'dremio-mcp-server',
'run'
]
}
}
}
$ uv run dremio-mcp-server config list --type dremioai
Default config file: /Users/..../.config/dremioai/config.yaml (exists = True)
dremio:
enable_search: false
pat: ....
uri: ....
tools:
server_mode: FOR_DATA_PATTERNS
Você terminou!. Você pode iniciar o Claude e começar a usar o servidor MCP
Demonstração (Instalação local)

O restante da documentação abaixo fornece detalhes dos arquivos de configuração
Detalhes de configuração
Arquivo de configuração do servidor MCP
Este arquivo está localizado por padrão em $HOME/.config/dremioai/config.yaml, mas pode ser substituído usando a opção --cfg em tempo de execução para dremio-mcp-server
Formato
# The dremio section contains 3 main things - the URI to connect, PAT to use
# and optionally the project_id if using with Dremio Cloud
dremio:
uri: https://.... # the Dremio URI
pat: "@~/ws/tokens/idl.token" # PAT can be put in a file and used here with @ prefix
project_id: <string> Project ID required for Dremio Cloud
enable_search: <bool> # Optional: Enable semantic search
allow_dml: <bool> # Optional: Allow MCP Server to create views in Dremio
tools:
server_mode: FOR_DATA_PATTERNS # the serverm
# Optionally the MCP server can also connect and use a prometheus configuration if it
# has been enabled for your Dremio cluster (typically useful for SW installations)
#prometheus:
#uri: ...
#token: ...
Modos
Existem 3 modos
FOR_DATA_PATTERNS- o modo normal onde o servidor MCP permitirá que o LLM visualize tabelas e dados para permitir descoberta de padrões e outros casos de usoFOR_SELF- um modo que permite ao servidor MCP inspecionar o sistema Dremio, incluindo análise de carga de trabalho e assim por diante.FOR_PROMETHEUS- um modo que permite ao servidor MCP conectar-se à sua configuração prometheus, se existir, para aprimorar insights com métricas relacionadas ao Dremio
Múltiplos modos podem ser especificados separados por ,
O arquivo de configuração do LLM (Claude)
Nota: Isso é aplicável apenas para instalações locais
Para configurar o arquivo de configuração do Claude (consulte isto como exemplo) edite o arquivo de configuração do Claude desktop
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
E então adicione esta seção
{
"globalShortcut": "",
"mcpServers": {
"Dremio": {
"command": "uv",
"args": [
"run",
"--directory", "<toplevel git directory>"
"dremio-mcp-server",
"run"
]
}
}
}
Isso captará o local padrão do arquivo de configuração do servidor MCP. Também pode ser passado na seção args acima como "--config-file", "<custom config file>" após run
Registro de logs
O servidor Dremio MCP grava automaticamente arquivos de log em diretórios específicos da plataforma, seguindo as convenções do sistema operacional. Isso ajuda na solução de problemas e no monitoramento da operação do servidor.
Locais dos arquivos de log
Os arquivos de log são armazenados nos seguintes locais, dependendo do seu sistema operacional:
Linux
- Diretório:
~/.local/share/dremioai/logs/ - Caminho completo:
~/.local/share/dremioai/logs/dremioai.log - Conformidade XDG: Respeita a variável de ambiente
$XDG_DATA_HOMEse definida
macOS
- Diretório:
~/Library/Logs/dremioai/ - Caminho completo:
~/Library/Logs/dremioai/dremioai.log
Windows
- Diretório:
%LOCALAPPDATA%\dremioai\logs\ - Caminho completo:
%LOCALAPPDATA%\dremioai\logs\dremioai.log - Local típico:
C:\Users\<username>\AppData\Local\dremioai\logs\dremioai.log
Controlando o registro de logs em arquivo
Por padrão, o servidor MCP registra logs no arquivo de log mencionado acima. Para controlá-lo ainda mais, você pode usar as seguintes variáveis de ambiente e opções de linha de comando:
- Usar formato JSON:
JSON_LOGGING=1ou passe--enable-json-loggingpara logs JSON estruturados - Desabilitar registro em arquivo: passe
--no-log-to-filepara desabilitar a gravação de logs em arquivo
Exemplo:
$ uv run dremio-mcp-server run --no-log-to-file --enable-json-logging
# OR
$ uv run dremio-mcp-server run --enable-json-logging
O diretório de log é criado automaticamente se não existir, portanto nenhuma configuração manual é necessária.
Documentação Adicional
-
Arquitetura: Visão geral detalhada da arquitetura do servidor Dremio MCP, incluindo interações de componentes e fluxos de dados.
-
Ferramentas: Guia abrangente das ferramentas disponíveis, incluindo:
- Categorias e tipos de ferramentas
- Exemplos de uso
- Diretrizes de desenvolvimento
- Suporte a integração
-
Configurações: Referência completa de configuração cobrindo:
- Configurações de conexão do Dremio
- Configurações de ferramentas
- Integrações de framework
- Variáveis de ambiente
Informações Adicionais
Este repositório é destinado a ser um software de código aberto que incentiva contribuições de qualquer tipo, como adicionar recursos, relatar problemas e contribuir com correções. Isso não faz parte do suporte ao produto Dremio.
Testes
O projeto usa pytest para testes. Para executar os testes:
# Run all tests
$ uv run pytest tests
O GitHub Actions executa automaticamente os testes em pull requests e pushes para o branch principal.
Contribuindo
Consulte nosso Guia de Contribuição para detalhes sobre:
- Configurando seu ambiente de desenvolvimento
- Fazendo contribuições
- Diretrizes de estilo de código
- Requisitos de documentação
- Executando testes