dbt-mcp

Official
by dbt-labs
Apache 2.0
134
  • Linux
  • Apple

Integrations

  • Provides tools to interact with dbt, including executing dbt CLI commands (build, compile, run, test), accessing Semantic Layer for metric querying, and using Discovery API to explore models and their relationships in a dbt project.

Servidor MCP dbt

Este servidor MCP (Protocolo de Contexto de Modelo) proporciona herramientas para interactuar con dbt. Lea este blog para obtener más información.

Arquitectura

Instalación

¿Quieres empezar rápidamente?

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/dbt-labs/dbt-mcp/refs/heads/main/install.sh)"

El instalador también sirve como actualizador, simplemente ejecútelo nuevamente y detectará su instalación existente de dbt-mcp y le ofrecerá actualizarla.

Configuración

El servidor MCP toma la siguiente configuración:

Grupos de herramientas

NombrePor defectoDescripción
DISABLE_DBT_CLIfalseEstablezca esto como true para deshabilitar las herramientas CLI MCP de dbt Core y dbt Cloud
DISABLE_SEMANTIC_LAYERfalseEstablezca esto como true para deshabilitar los objetos MCP de la capa semántica de dbt
DISABLE_DISCOVERYfalseEstablezca esto en true para deshabilitar los objetos MCP de la API de dbt Discovery
DISABLE_REMOTEtrueEstablezca esto en false para habilitar objetos MCP remotos

Configuración para la capa de descubrimiento y semántica

NombrePor defectoDescripción
DBT_HOSTcloud.getdbt.comEl nombre de host de su instancia de dbt Cloud. Se verá como una Access URL que se encuentra aquí . Si usa varias celdas, no incluya aquí el ACCOUNT_PREFIX
MULTICELL_ACCOUNT_PREFIX-Si usa Multi-cell, configure esta variable como ACCOUNT_PREFIX . Si no usa Multi-cell, no configure esta variable de entorno. Puede obtener más información aquí.
DBT_TOKEN-Su token de acceso personal o token de servicio. Nota: El token de servicio es necesario al usar la capa semántica.
DBT_PROD_ENV_ID-Su ID de entorno de producción de dbt Cloud

Configuración para herramientas remotas

NombreDescripción
DBT_DEV_ENV_IDSu ID de entorno de desarrollo de dbt Cloud
DBT_USER_IDSu ID de usuario de dbt Cloud

Configuración para dbt CLI

NombreDescripción
DBT_PROJECT_DIREl camino hacia tu proyecto dbt
DBT_PATHLa ruta a tu ejecutable de la CLI de dbt Core o dbt Cloud. Puedes encontrar tu ejecutable de dbt ejecutando which dbt

Uso con clientes MCP

Después de realizar la instalación , podrá utilizar su servidor con un cliente MCP.

Esta configuración se añadirá al archivo de configuración del cliente correspondiente. Asegúrese de reemplazar las secciones dentro de <> :

Si utilizó el script de instalación, el servidor mcp se habrá instalado en su directorio de usuario en ~/.dbt-mcp/ .

{ "mcpServers": { "dbt-mcp": { "command": "/Users/<YOUR USERNAME>/.dbt-mcp/.venv/bin/mcp", "args": [ "run", "/Users/<YOUR USERNAME>/.dbt-mcp/.venv/lib/python3.12/site-packages/dbt_mcp/main.py" ], "env": { // see config above // "DBT_HOST": "cloud.getdbt.com" // "DBT_TOKEN": "dbtu_...." } } } }

<path-to-mcp-executable> depende de su sistema operativo:

  • Linux y Mac: <path-to-this-directory>/.venv/bin/mcp
  • PC: <path-to-this-directory>/.venv/Scripts/mcp

Escritorio de Claude

Siga estas instrucciones para crear el archivo claude_desktop_config.json y conectarse.

En Mac, puedes encontrar los registros de Claude Desktop en ~/Library/Logs/Claude .

Cursor

  1. Abra el menú Cursor y seleccione Configuración → Configuración del cursor → MCP
  2. Haga clic en "Agregar nuevo servidor MCP global".
  3. Agregue la configuración de arriba al archivo mcp.json proporcionado
  4. Verifique que su conexión esté activa dentro de la pestaña MCP

Documentos del cursor MCP aquí como referencia

Código VS

  1. Abra el menú Configuración (Comando + Coma) y seleccione la pestaña correcta en la parte superior de la página para su caso de uso
    • Workspace : configura el servidor en el contexto de su espacio de trabajo
    • User : configura el servidor en el contexto de su usuario
    • Nota para usuarios de WSL : Si usa VS Code con WSL, deberá configurar las opciones específicas de WSL. Ejecute el comando " Preferencias: Abrir configuración remota " desde la Paleta de comandos (F1) o seleccione la pestaña "Remoto" en el editor de configuración. La configuración del usuario local se reutiliza en WSL, pero se puede sobrescribir con la configuración específica de WSL. Configurar servidores MCP en la configuración del usuario local no funcionará correctamente en un entorno WSL.
  2. Seleccione Funciones → Chat
  3. Asegúrese de que "Mcp" esté Enabled

  1. Haga clic en "Editar en settings.json" en "Mcp > Descubrimiento".
  2. Agregue la configuración de su servidor ( dbt ) al archivo settings.json proporcionado como uno de los servidores:
{ "mcp": { "inputs": [], "servers": { "dbt": { "command": "<path-to-mcp-executable>", "args": ["run", "<path-to-this-directory>/src/dbt_mcp/main.py"] } } } }

<path-to-mcp-executable> depende de su sistema operativo:

  • Linux y Mac: <path-to-this-directory>/.venv/bin/mcp
  • PC: <path-to-this-directory>/.venv/Scripts/mcp
  1. Puede iniciar, detener y configurar sus servidores MCP mediante:
  • Ejecutar el comando MCP: List Servers desde la Paleta de comandos (Control + Comando + P) y seleccionar el servidor
  • Utilizando las palabras clave en línea dentro del archivo settings.json

Documentos MCP de VS Code aquí como referencia

Herramientas

CLI de dbt

  • build - Ejecuta modelos, pruebas, instantáneas y semillas en orden de dependencia
  • compile : genera SQL ejecutable a partir de modelos, pruebas y análisis sin ejecutarlos
  • docs - Genera documentación para el proyecto dbt
  • ls (lista): enumera los recursos en el proyecto dbt, como modelos y pruebas
  • parse : analiza y valida los archivos del proyecto para verificar la corrección de la sintaxis.
  • run - Ejecuta modelos para materializarlos en la base de datos
  • test : ejecuta pruebas para validar la integridad de los datos y el modelo
  • show - Ejecuta una consulta en el almacén de datos

Permitir que su cliente utilice comandos dbt a través de esta herramienta MCP podría modificar sus modelos de datos, orígenes y objetos del almacén. Continúe solo si confía en el cliente y comprende el impacto potencial.

Capa semántica

  • list_metrics - Recupera todas las métricas definidas
  • get_dimensions : obtiene las dimensiones asociadas con las métricas especificadas
  • get_entities : obtiene entidades asociadas con métricas específicas
  • query_metrics : consulta métricas con agrupación, ordenación, filtrado y limitación opcionales

Descubrimiento

  • get_mart_models - Obtiene todos los modelos de mart
  • get_all_models - Obtiene todos los modelos
  • get_model_details : obtiene detalles de un modelo específico
  • get_model_parents : obtiene los modelos principales de un modelo específico

Contribuyendo

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

Related MCP Servers

View all related MCP servers

ID: 4g56yk3tar