dbt MCP Server

oficial

Servidor MCP oficial para dbt (ferramenta de construção de dados) que oferece integração com a CLI do dbt Core/Cloud, descoberta de metadados de projetos, informações de modelos e capacidades de consulta à camada semântica.

Documentação

Servidor MCP do dbt

OpenSSF Best Practices

Este servidor MCP (Model Context Protocol) fornece várias ferramentas para interagir com o dbt. Você pode usar este servidor MCP para fornecer a agentes de IA o contexto do seu projeto no dbt Core, dbt Fusion e dbt Platform.

Leia nossa documentação aqui para saber mais. Este artigo do blog fornece mais detalhes sobre o que é possível fazer com o servidor MCP do dbt.

Pacote MCP Experimental

Publicamos um Pacote Model Context Protocol experimental (dbt-mcp.mcpb) em cada versão para que clientes compatíveis com MCPB possam importar este servidor sem configuração adicional. Baixe o pacote dos ativos da versão mais recente e siga a documentação da mcpb CLI da Anthropic para instalá-lo ou inspecioná-lo.

Feedback

Se você tiver comentários ou perguntas, crie uma Issue no GitHub ou junte-se a nós no Slack da comunidade no canal #tools-dbt-mcp.

Arquitetura

A arquitetura do servidor MCP do dbt permite que seu agente se conecte a uma variedade de ferramentas.

architecture diagram of the dbt MCP server

Ferramentas

SQL

Ferramentas para executar e gerar SQL na infraestrutura da dbt Platform.

  • execute_sql: Executa SQL na infraestrutura da dbt Platform com suporte à Camada Semântica.
  • text_to_sql: Gera SQL a partir de linguagem natural usando o contexto do projeto.

Camada Semântica

Para saber mais sobre a Camada Semântica do dbt, clique aqui.

  • get_dimension_values: Obtém valores distintos para uma dimensão; opção de limitar a métricas específicas.
  • get_dimensions: Obtém dimensões para métricas especificadas.
  • get_entities: Obtém entidades para métricas especificadas.
  • get_metrics_compiled_sql: Retorna o SQL compilado para métricas sem executar a consulta.
  • list_metrics: Recupera todas as métricas definidas.
  • list_saved_queries: Recupera todas as consultas salvas.
  • query_metrics: Executa consultas de métricas com opções de filtragem e agrupamento.

Descoberta

Para saber mais sobre a API de Descoberta do dbt, clique aqui.

  • get_all_macros: Recupera macros; opção de filtrar por pacote ou retornar apenas nomes de pacotes.
  • get_all_models: Recupera o nome e a descrição de todos os modelos.
  • get_all_sources: Obtém todas as fontes com status de atualização; opção de filtrar por nome da fonte.
  • get_exposure_details: Obtém detalhes da exposição, incluindo proprietário, pais e status de atualização.
  • get_exposures: Obtém todas as exposições (dashboards, aplicativos ou análises downstream).
  • get_lineage: Obtém o gráfico de linhagem completo (ancestrais e descendentes) com filtragem por tipo e profundidade.
  • get_macro_details: Obtém detalhes de uma macro específica.
  • get_mart_models: Recupera todos os modelos mart.
  • get_model_children: Obtém os dependentes downstream de um modelo.
  • get_model_details: Obtém detalhes do modelo, incluindo SQL compilado, colunas e esquema.
  • get_model_health: Obtém sinais de saúde: status de execução, resultados de testes e atualização de fontes upstream.
  • get_model_parents: Obtém as dependências upstream de um modelo.
  • get_model_performance: Obtém o histórico de execução de um modelo; opção de incluir resultados de testes.
  • get_related_models: Encontra modelos semelhantes usando busca semântica.
  • get_seed_details: Obtém detalhes de uma seed específica.
  • get_semantic_model_details: Obtém detalhes de um modelo semântico específico.
  • get_snapshot_details: Obtém detalhes de um snapshot específico.
  • get_source_details: Obtém detalhes da fonte, incluindo colunas e atualização.
  • get_test_details: Obtém detalhes de um teste específico.
  • search: [Alpha] Pesquisa recursos em todo o projeto dbt (não disponível para o público geral).

CLI do dbt

Permitir que seu cliente utilize comandos dbt através das ferramentas MCP pode modificar seus modelos de dados, fontes e objetos do warehouse. Prossiga apenas se você confia no cliente e entende o impacto potencial.

  • build: Executa modelos, testes, snapshots e seeds em ordem DAG.
  • clone: Clona nós selecionados do estado especificado para o(s) esquema(s) de destino.
  • compile: Gera SQL executável a partir de modelos/testes/análises; útil para validar lógica Jinja.
  • docs: Gera documentação para o projeto dbt.
  • get_lineage_dev: Recupera a linhagem do manifest.json local com filtragem por tipo e profundidade.
  • get_node_details_dev: Recupera detalhes de nós do manifest.json local (modelos, seeds, snapshots, fontes).
  • list: Lista recursos no projeto dbt por tipo, com suporte a seletores.
  • parse: Analisa e valida arquivos do projeto quanto à correção sintática.
  • run: Executa modelos para materializá-los no banco de dados.
  • show: Executa SQL no banco de dados e retorna os resultados.
  • test: Executa testes para validar a integridade dos dados e modelos.

API Admin

Para saber mais sobre a API Administrativa do dbt, clique aqui.

  • cancel_job_run: Cancela um job em execução.
  • get_job_details: Obtém a configuração do job, incluindo gatilhos, agendamento e comandos dbt.
  • get_job_run_details: Obtém detalhes da execução, incluindo status, tempo, etapas e artefatos.
  • get_job_run_error: Obtém detalhes de erros e/ou avisos de uma execução de job; opção de incluir ou mostrar apenas avisos.
  • list_job_run_artifacts: Lista os artefatos disponíveis de uma execução de job.
  • list_jobs: Lista jobs em uma conta da dbt Platform; opção de filtrar por projeto ou ambiente.
  • list_jobs_runs: Lista execuções de jobs; opção de filtrar por job, status ou ordenar por campo.
  • list_projects: Lista todos os projetos na conta da dbt Platform.
  • retry_job_run: Tenta novamente uma execução de job que falhou.
  • trigger_job_run: Aciona uma execução de job; opção de sobrescrever branch git, esquema ou outras configurações.

Geração de Código dbt

Estas ferramentas ajudam a automatizar a geração de código boilerplate para arquivos de projeto dbt.

  • generate_model_yaml: Gera YAML de modelo com colunas; opção de herdar descrições upstream.
  • generate_source: Gera YAML de fonte por introspecção de esquemas de banco de dados; opção de incluir colunas.
  • generate_staging_model: Gera SQL de modelo de staging a partir de uma tabela de origem.

LSP do dbt

Um conjunto de ferramentas que utilizam o motor Fusion para compilação avançada de SQL e análise de linhagem em nível de coluna.

  • fusion.compile_sql: Compila SQL no contexto do projeto via dbt Platform.
  • fusion.get_column_lineage: Rastreia a linhagem em nível de coluna via dbt Platform.
  • get_column_lineage: Rastreia a linhagem em nível de coluna localmente (requer dbt-lsp via VSCE do dbt Labs).

Documentação do Produto

Ferramentas para pesquisar e obter conteúdo da documentação oficial do dbt em docs.getdbt.com.

  • get_product_doc_pages: Obtém o conteúdo Markdown completo de uma ou mais páginas do docs.getdbt.com por caminho ou URL.
  • search_product_docs: Pesquisa no docs.getdbt.com por páginas correspondentes a uma consulta; retorna títulos, URLs e descrições classificados por relevância. Use get_product_doc_pages para obter o conteúdo completo.

Metadados do Servidor MCP

Estas ferramentas fornecem informações sobre o próprio servidor MCP.

  • get_mcp_server_branch: Retorna o branch git atual do servidor MCP do dbt em execução.
  • get_mcp_server_version: Retorna a versão atual do servidor MCP do dbt.

Exemplos

Normalmente, você conectará o servidor MCP do dbt a um produto agente como Claude ou Cursor. No entanto, se você estiver interessado em criar seu próprio agente, consulte o diretório de exemplos para saber como começar.

Dependências

As dependências são fixadas em versões específicas e não são atualizadas automaticamente. Apenas atualizações de dependências relacionadas à segurança são enviadas via pull requests automatizados.

Contribuindo

Leia CONTRIBUTING.md para obter instruções sobre como se envolver!