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?

  • Explora los modelos de datos de tu proyecto dbt — solicita todos los modelos con get_all_models, luego inspecciona los detalles completos de cualquier nodo mediante get_node_details.
  • Rastrea el linaje ascendente y descendente — usa get_lineage para ver los ancestros y descendientes de un modelo, filtrados por tipo y profundidad.
  • Consulta métricas a través de la capa semántica — lista las métricas disponibles con list_metrics, luego ejecuta consultas de métricas filtradas y agrupadas mediante query_metrics.
  • Verifica el estado y rendimiento del modelo — recupera el estado de ejecución, los resultados de pruebas y la frescura de fuentes con get_model_health, u obtén el historial de ejecución mediante get_model_performance.
  • Genera plantillas de proyecto — crea YAML de modelos, YAML de fuentes o SQL de modelos de staging usando generate_model_yaml, generate_source y generate_staging_model.
  • Gestiona trabajos de dbt Cloud — lista y ejecuta trabajos con list_jobs y trigger_job_run, luego inspecciona los detalles de ejecución o artefactos usando get_job_run_details y list_job_run_artifacts.

Documentación

Servidor MCP de dbt

OpenSSF Best Practices

Este servidor MCP (Protocolo de Contexto de Modelo) proporciona varias herramientas para interactuar con dbt. Puede usar este servidor MCP para proporcionar a los agentes de IA el contexto de su proyecto en dbt Core, dbt Fusion y dbt Platform.

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

Paquete MCP Experimental

Publicamos un Paquete de Protocolo de Contexto de Modelo experimental (dbt-mcp.mcpb) con cada versión para que los clientes compatibles con MCPB puedan importar este servidor sin configuración adicional. Descargue el paquete de los activos de la última versión y siga la documentación de la mcpb CLI de Anthropic para instalarlo o inspeccionarlo.

Comentarios

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

Arquitectura

La arquitectura del servidor MCP de dbt permite que su 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 soporte de Capa Semántica.
  • text_to_sql: Genera SQL a partir de lenguaje natural utilizando el contexto del proyecto.

Capa Semántica

Para obtener más información sobre la Capa Semántica de dbt, haga clic aquí.

  • get_dimension_values: Obtiene valores distintos para una dimensión; opción de limitar a métricas específicas.
  • get_dimensions: Obtiene dimensiones para métricas especificadas.
  • get_entities: Obtiene entidades para métricas especificadas.
  • get_metrics_compiled_sql: Devuelve SQL compilado para 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.

Descubrimiento

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

  • get_all_macros: Recupera macros; opción de filtrar por paquete o devolver solo nombres de paquete.
  • 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 — use get_node_details en su lugar)
  • get_exposures: Obtiene todas las exposiciones (paneles, aplicaciones o análisis descendentes).
  • get_lineage: Obtiene el gráfico de linaje completo (ascendientes y descendientes) con filtrado por tipo y profundidad.
  • get_macro_details: (obsoleto — use get_node_details en su lugar)
  • get_mart_models: Recupera todos los modelos mart.
  • get_model_children: (obsoleto — use get_lineage en su lugar)
  • get_model_details: (obsoleto — use 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 ascendentes.
  • get_model_parents: (obsoleto — use 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 dbt (modelo, fuente, exposición, prueba, seed, snapshot, macro, semantic_model).
  • get_related_models: Encuentra modelos similares mediante búsqueda semántica.
  • get_seed_details: (obsoleto — use get_node_details en su lugar)
  • get_semantic_model_details: (obsoleto — use get_node_details en su lugar)
  • get_snapshot_details: (obsoleto — use get_node_details en su lugar)
  • get_source_details: (obsoleto — use get_node_details en su lugar)
  • get_test_details: (obsoleto — use get_node_details en su lugar)
  • search: [Alpha] Busca recursos en todo el proyecto dbt (no disponible de forma general).

CLI de dbt

Permitir que su cliente utilice comandos de dbt a través de las herramientas MCP podría modificar sus modelos de datos, fuentes y objetos del almacén. Proceda solo si confía en el cliente y comprende el impacto potencial.

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

API de Administración

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

  • cancel_job_run: Cancela un trabajo en ejecución.
  • get_job_details: Obtiene la configuración del trabajo, incluyendo disparadores, programación y comandos dbt.
  • get_job_run_details: Obtiene detalles de la ejecución, incluyendo estado, tiempos, pasos y artefactos.
  • get_job_run_error: Obtiene detalles de errores y/o advertencias para una ejecución de trabajo; opción de incluir o mostrar solo advertencias.
  • list_job_run_artifacts: Lista los artefactos disponibles de una ejecución de trabajo.
  • list_jobs: Lista los trabajos en una cuenta de dbt Platform; opción de filtrar por proyecto o entorno.
  • list_jobs_runs: Lista las ejecuciones de trabajos; opción de filtrar por trabajo, estado o campo de ordenación.
  • list_projects: Lista todos los proyectos en la cuenta de dbt Platform.
  • retry_job_run: Reintenta una ejecución de trabajo fallida.
  • trigger_job_run: Dispara una ejecución de trabajo; 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 archivos de proyecto dbt.

  • generate_model_yaml: Genera YAML de modelo con columnas; opción de heredar descripciones ascendentes.
  • generate_source: Genera YAML de fuente mediante la introspección de esquemas de base de datos; opción de incluir columnas.
  • generate_staging_model: Genera SQL de modelo de staging a partir de una tabla de origen.

LSP de dbt

Un conjunto de herramientas que aprovechan el motor Fusion para compilación SQL avanzada y 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 Markdown completo 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, URLs y descripciones clasificadas por relevancia. Use 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 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á el servidor MCP de dbt a un producto agente como Claude o Cursor. Sin embargo, si está interesado en crear su propio agente, consulte el directorio de ejemplos para ver cómo empezar.

Dependencias

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

Contribuciones

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