dbt

oficial

Servidor MCP oficial para dbt (herramienta de construcción de datos) que proporciona integración con la CLI de dbt Core/Cloud, descubrimiento de metadatos de proyectos, información de modelos y capacidades de consulta de capa semántica.

¿Qué puedes hacer con Dbt MCP?

  • Consultar métricas — Pide al asistente que ejecute consultas de métricas con filtrado y agrupación mediante query_metrics, o que liste las métricas definidas con list_metrics.
  • Explorar el linaje del modelo — Solicita un grafo de linaje acotado con filtros de tipo, profundidad y dirección usando get_lineage.
  • Comprobar la salud del modelo — Pide el estado de las ejecuciones, los resultados de las pruebas y la frescura de las fuentes upstream de un modelo con get_model_health.
  • Ejecutar comandos de dbt — Haz que el asistente ejecute build, run, test, compile o show en tu proyecto.
  • Gestionar ejecuciones de jobs — Dispara, reintenta, cancela o inspecciona las ejecuciones de jobs de dbt Platform y sus artefactos.
  • Generar código repetitivo — Crea YAML de modelo, YAML de fuente o SQL de modelo de staging con generate_model_yaml, generate_source y generate_staging_model.

Documentación

Servidor MCP de dbt

OpenSSF Best Practices

Este servidor MCP (Model Context Protocol) proporciona diversas herramientas para interactuar con dbt. Puedes usar este servidor MCP para proporcionar a los agentes de IA contexto de tu proyecto en dbt Core, dbt Fusion y dbt Platform.

Lee nuestra documentación aquí para obtener más información. Esta publicación de blog proporciona más detalles sobre lo que es posible con el servidor MCP de dbt.

Paquete MCP experimental

Publicamos un Model Context Protocol Bundle experimental (dbt-mcp.mcpb) con cada versión para que los clientes compatibles con MCPB puedan importar este servidor sin configuración adicional. Descarga el paquete desde los recursos de la última versión y sigue la documentación de la CLI de mcpb de Anthropic para instalarlo o inspeccionarlo.

Comentarios

Si tienes comentarios o preguntas, crea un GitHub Issue o únete a nosotros en el Slack de la comunidad en el canal #tools-dbt-mcp.

Arquitectura

La arquitectura del servidor MCP de dbt permite que tu agente se conecte a una variedad de herramientas.

architecture diagram of the dbt MCP server

Herramientas

SQL

Herramientas para ejecutar y generar SQL en la infraestructura de dbt Platform.

  • execute_sql: Ejecuta SQL en la infraestructura de dbt Platform con compatibilidad con Semantic Layer.
  • text_to_sql: Genera SQL a partir de lenguaje natural usando el contexto del proyecto.

Semantic Layer

Para obtener más información sobre dbt Semantic Layer, haz clic aquí.

  • get_dimension_values: Obtiene valores distintos para una dimensión; opción de limitar a métricas específicas.
  • get_dimensions: Obtiene las dimensiones de las métricas especificadas.
  • get_entities: Obtiene las entidades de las métricas especificadas.
  • get_metrics_compiled_sql: Devuelve el SQL compilado de las métricas sin ejecutar la consulta.
  • list_metrics: Recupera todas las métricas definidas.
  • list_saved_queries: Recupera todas las consultas guardadas.
  • query_metrics: Ejecuta consultas de métricas con opciones de filtrado y agrupación.

Discovery

Para obtener más información sobre la API de dbt Discovery, haz clic aquí.

  • get_all_macros: Recupera macros; opción de filtrar por paquete o devolver solo nombres de paquetes.
  • get_all_models: Recupera el nombre y la descripción de todos los modelos.
  • get_all_sources: Obtiene todas las fuentes con estado de frescura; opción de filtrar por nombre de fuente.
  • get_exposure_details: (obsoleto — usa get_node_details en su lugar)
  • get_exposures: Obtiene todas las exposiciones (dashboards, aplicaciones o análisis posteriores).
  • get_lineage: Obtiene un grafo de linaje acotado con filtrado por tipo, profundidad y dirección.
  • get_macro_details: (obsoleto — usa get_node_details en su lugar)
  • get_mart_models: Recupera todos los modelos mart.
  • get_model_children: (obsoleto — usa get_lineage en su lugar)
  • get_model_details: (obsoleto — usa get_node_details en su lugar)
  • get_model_health: Obtiene señales de salud: estado de ejecución, resultados de pruebas y frescura de fuentes posteriores.
  • get_model_parents: (obsoleto — usa get_lineage en su lugar)
  • get_model_performance: Obtiene el historial de ejecución de un modelo; opción de incluir resultados de pruebas.
  • get_node_details: Obtiene detalles completos de cualquier tipo de recurso de dbt (model, source, exposure, test, seed, snapshot, macro, semantic_model).
  • get_related_models: Encuentra modelos similares usando búsqueda semántica.
  • get_seed_details: (obsoleto — usa get_node_details en su lugar)
  • get_semantic_model_details: (obsoleto — usa get_node_details en su lugar)
  • get_snapshot_details: (obsoleto — usa get_node_details en su lugar)
  • get_source_details: (obsoleto — usa get_node_details en su lugar)
  • get_test_details: (obsoleto — usa get_node_details en su lugar)
  • search: [Alpha] Busca recursos en todo el proyecto de dbt (no disponible de forma general).
  • search_public_mesh_models: Encuentra modelos públicos de dbt Mesh entre proyectos y confirma la identidad del productor para que puedas crear un ref entre proyectos verificado (solo configuraciones multiproyecto).

CLI de dbt

Permitir que tu cliente utilice comandos de dbt a través de las herramientas MCP podría modificar tus modelos de datos, fuentes y objetos del warehouse. Procede solo si confías en el cliente y comprendes el impacto potencial.

  • build: Ejecuta modelos, pruebas, snapshots y seeds en orden de DAG.
  • clone: Clona los nodos seleccionados desde el estado especificado a los esquemas de destino.
  • compile: Genera SQL ejecutable a partir de modelos/pruebas/análisis; útil para validar la lógica de Jinja.
  • docs: Genera documentación para el proyecto de dbt.
  • get_lineage_dev: Recupera el linaje desde el manifest.json local con filtrado por tipo y profundidad.
  • get_node_details_dev: Recupera detalles de nodos desde el manifest.json local (models, seeds, snapshots, sources).
  • list: Lista los recursos del proyecto de dbt por tipo con compatibilidad de selectores.
  • parse: Analiza y valida la corrección sintáctica de los archivos del proyecto.
  • run: Ejecuta modelos para materializarlos en la base de datos.
  • show: Ejecuta SQL contra la base de datos y devuelve los resultados.
  • test: Ejecuta pruebas para validar la integridad de los datos y los modelos.

API de administración

Para obtener más información sobre la API administrativa de dbt, haz clic aquí.

  • cancel_job_run: Cancela un job en ejecución.
  • get_job_details: Obtiene la configuración del job, incluidos los desencadenadores, la programación y los comandos de dbt.
  • get_job_run_artifacts: Descarga un artefacto específico de una ejecución de job; los artefactos grandes devuelven un mensaje de orientación para reintentar con un jq_filter; admite filtrado con jq para una extracción específica.
  • get_job_run_details: Obtiene los detalles de la ejecución, incluidos el estado, los tiempos, los pasos y los artefactos.
  • get_job_run_error: Obtiene los detalles de errores y/o advertencias de una ejecución de job; opción de incluir advertencias o mostrar solo advertencias.
  • list_job_run_artifacts: Lista los artefactos disponibles de una ejecución de job.
  • list_jobs: Lista los jobs de una cuenta de dbt Platform; opción de filtrar por proyecto o entorno.
  • list_jobs_runs: Lista las ejecuciones de jobs; opción de filtrar por job, estado u ordenar por campo.
  • list_projects: Lista todos los proyectos de la cuenta de dbt Platform.
  • retry_job_run: Reintenta una ejecución de job fallida.
  • trigger_job_run: Desencadena una ejecución de job; opción de sobrescribir la rama de git, el esquema u otras configuraciones.

dbt Codegen

Estas herramientas ayudan a automatizar la generación de código repetitivo para los archivos del proyecto de dbt.

  • generate_model_yaml: Genera YAML de modelo con columnas; opción de heredar descripciones de niveles superiores.
  • generate_source: Genera YAML de fuentes mediante la introspección de esquemas de bases de datos; opción de incluir columnas.
  • generate_staging_model: Genera el SQL del modelo de staging a partir de una tabla de origen.

dbt LSP

Un conjunto de herramientas que aprovechan el motor Fusion para la compilación avanzada de SQL y el análisis de linaje a nivel de columna.

  • fusion.compile_sql: Compila SQL en el contexto del proyecto a través de dbt Platform.
  • fusion.get_column_lineage: Rastrea el linaje a nivel de columna a través de dbt Platform.
  • get_column_lineage: Rastrea el linaje a nivel de columna localmente (requiere dbt-lsp a través de dbt Labs VSCE).

Documentación del producto

Herramientas para buscar y obtener contenido de la documentación oficial de dbt en docs.getdbt.com.

  • get_product_doc_pages: Obtiene el contenido completo en Markdown de una o más páginas de docs.getdbt.com por ruta o URL.
  • search_product_docs: Busca en docs.getdbt.com páginas que coincidan con una consulta; devuelve títulos, URL y descripciones ordenados por relevancia. Usa get_product_doc_pages para obtener el contenido completo.

Metadatos del servidor MCP

Estas herramientas proporcionan información sobre el propio servidor MCP.

  • get_mcp_server_branch: Devuelve la rama de git actual del servidor MCP de dbt en ejecución.
  • get_mcp_server_version: Devuelve la versión actual del servidor MCP de dbt.

Ejemplos

Comúnmente, conectarás el servidor MCP de dbt a un producto de agente como Claude o Cursor. Sin embargo, si te interesa crear tu propio agente, consulta el directorio de ejemplos para saber cómo empezar.

Dependencias

Las dependencias están fijadas a versiones específicas y no se actualizan automáticamente. Solo las actualizaciones de dependencias relacionadas con la seguridad se envían mediante pull requests automatizados.

Contribuir

¡Lee CONTRIBUTING.md para obtener instrucciones sobre cómo participar!

Consulta entradas de herramientas y contexto resuelto para las declaraciones de selectores y los contratos del mapeador de contexto.