dbt

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.

O que você pode fazer com Dbt MCP?

  • Consultar métricas do dbt — Peça definições de métricas, dimensões ou SQL compilado usando list_metrics, get_dimensions ou get_metrics_compiled_sql.
  • Explorar linhagem do projeto — Trace dependências de modelos e relacionamentos upstream/downstream com get_lineage ou get_related_models.
  • Executar comandos do dbt — Execute run, test ou build para materializar modelos, validar dados ou construir o projeto.
  • Gerar código boilerplate — Crie YAML de fontes, YAML de modelos ou SQL de staging via generate_source, generate_model_yaml ou generate_staging_model.
  • Monitorar execuções de jobs — Verifique status de execução, erros ou artefatos usando get_job_run_details, get_job_run_error ou list_job_run_artifacts.
  • Inspecionar detalhes de nós — Recupere metadados completos para qualquer tipo de recurso com get_node_details, incluindo modelos, fontes e testes.

Documentação

Servidor MCP dbt

OpenSSF Best Practices

Este servidor MCP (Model Context Protocol) fornece diversas 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 post de blog fornece mais detalhes sobre o que é possível com o servidor MCP dbt.

Pacote MCP Experimental

Publicamos um pacote experimental do Model Context Protocol Bundle (dbt-mcp.mcpb) a 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 CLI mcpb 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 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 do dbt Platform.

  • execute_sql: Executa SQL na infraestrutura do dbt Platform com suporte ao Semantic Layer.
  • text_to_sql: Gera SQL a partir de linguagem natural usando o contexto do projeto.

Semantic Layer

Para saber mais sobre o dbt Semantic Layer, clique aqui.

  • get_dimension_values: Obtém valores distintos para uma dimensão; opção de escopo para 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 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.

Discovery

Para saber mais sobre a API Discovery 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 nome e descrição de todos os modelos.
  • get_all_sources: Obtém todas as fontes com status de frescor; opção de filtrar por nome da fonte.
  • get_exposure_details: (obsoleto — use get_node_details em vez disso)
  • get_exposures: Obtém todas as exposições (dashboards, aplicativos ou análises downstream).
  • get_lineage: Obtém um grafo de linhagem limitado com filtragem por tipo, profundidade e direção.
  • get_macro_details: (obsoleto — use get_node_details em vez disso)
  • get_mart_models: Recupera todos os modelos mart.
  • get_model_children: (obsoleto — use get_lineage em vez disso)
  • get_model_details: (obsoleto — use get_node_details em vez disso)
  • get_model_health: Obtém sinais de saúde: status de execução, resultados de testes e frescor das fontes upstream.
  • get_model_parents: (obsoleto — use get_lineage em vez disso)
  • get_model_performance: Obtém histórico de execução de um modelo; opção de incluir resultados de testes.
  • get_node_details: Obtém detalhes completos para qualquer tipo de recurso dbt (modelo, fonte, exposição, teste, seed, snapshot, macro, semantic_model).
  • get_related_models: Encontra modelos semelhantes usando busca semântica.
  • get_seed_details: (obsoleto — use get_node_details em vez disso)
  • get_semantic_model_details: (obsoleto — use get_node_details em vez disso)
  • get_snapshot_details: (obsoleto — use get_node_details em vez disso)
  • get_source_details: (obsoleto — use get_node_details em vez disso)
  • get_test_details: (obsoleto — use get_node_details em vez disso)
  • search: [Alpha] Busca recursos em todo o projeto dbt (não disponível de forma geral).

CLI dbt

Permitir que seu cliente utilize comandos dbt por meio das ferramentas MCP pode modificar seus modelos de dados, fontes e objetos do warehouse. Prossiga somente se você confiar no cliente e entender o impacto potencial.

  • build: Executa modelos, testes, snapshots e seeds em ordem DAG.
  • clone: Clona nós selecionados do estado especificado para o(s) schema(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 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 de sintaxe.
  • run: Executa modelos para materializá-los no banco de dados.
  • show: Executa SQL no banco de dados e retorna resultados.
  • test: Executa testes para validar a integridade dos dados e dos modelos.

API Administrativa

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 configuração do job, incluindo gatilhos, agendamento e comandos dbt.
  • get_job_run_artifacts: Baixa um artefato específico de uma execução de job; artefatos grandes retornam uma mensagem de orientação para tentar novamente com um jq_filter; suporta filtragem jq para extração direcionada.
  • 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 artefatos disponíveis de uma execução de job.
  • list_jobs: Lista jobs em uma conta 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 campo de ordenação.
  • list_projects: Lista todos os projetos na conta dbt Platform.
  • retry_job_run: Repete uma execução de job que falhou.
  • trigger_job_run: Aciona uma execução de job; opção de substituir branch git, schema ou outras configurações.

dbt Codegen

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 inspecionando schemas do banco de dados; opção de incluir colunas.
  • generate_staging_model: Gera SQL de modelo de staging a partir de uma tabela de origem.

dbt LSP

Um conjunto de ferramentas que aproveitam o mecanismo 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 linhagem em nível de coluna via dbt Platform.
  • get_column_lineage: Rastreia linhagem em nível de coluna localmente (requer dbt-lsp via dbt Labs VSCE).

Documentação do Produto

Ferramentas para buscar 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 de docs.getdbt.com por caminho ou URL.
  • search_product_docs: Busca em docs.getdbt.com por páginas que correspondam 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 dbt em execução.
  • get_mcp_server_version: Retorna a versão atual do servidor MCP dbt.

Exemplos

Comumente, você conectará o servidor MCP dbt a um produto de agente como Claude ou Cursor. No entanto, se você estiver interessado em criar seu próprio agente, confira 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 por meio de pull requests automatizados.

Contribuindo

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