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.
dbt MCP-сервер
Этот сервер MCP (Model Context Protocol) предоставляет инструменты для взаимодействия с dbt. Прочтите этот блог, чтобы узнать больше.
Архитектура
Настраивать
- Клонируйте репозиторий:
- Установить УФ
- Установить задачу
- Запустить
task install
- Настройте переменные среды:
Затем отредактируйте .env
, указав необходимые вам переменные среды (см. раздел Configuration
в файле README.md
).
Конфигурация
Сервер MCP имеет следующую конфигурацию:
Группы инструментов
Имя | По умолчанию | Описание |
---|---|---|
DISABLE_DBT_CLI | false | Установите значение true , чтобы отключить инструменты MCP dbt Core и dbt Cloud CLI. |
DISABLE_SEMANTIC_LAYER | false | Установите значение true , чтобы отключить объекты MCP семантического слоя dbt. |
DISABLE_DISCOVERY | false | Установите значение true , чтобы отключить объекты MCP API dbt Discovery. |
DISABLE_REMOTE | true | Установите значение false , чтобы включить удаленные объекты MCP. |
Конфигурация для обнаружения и семантического уровня
Имя | По умолчанию | Описание |
---|---|---|
DBT_HOST | cloud.getdbt.com | Имя хоста вашего экземпляра dbt Cloud. Это будет выглядеть как Access URL найденный здесь . Если вы используете Multi-cell, не включайте здесь ACCOUNT_PREFIX |
MULTICELL_ACCOUNT_PREFIX | - | Если вы используете Multi-cell, установите это в ваш ACCOUNT_PREFIX . Если вы не используете Multi-cell, не устанавливайте эту переменную окружения. Вы можете узнать больше здесь |
DBT_TOKEN | - | Ваш личный токен доступа или сервисный токен. Примечание Сервисный токен требуется при использовании семантического слоя |
DBT_PROD_ENV_ID | - | Ваш идентификатор производственной среды dbt Cloud |
Конфигурация для удаленных инструментов
Имя | Описание |
---|---|
DBT_DEV_ENV_ID | Ваш идентификатор среды разработки dbt Cloud |
DBT_USER_ID | Ваш идентификатор пользователя dbt Cloud |
Конфигурация для dbt CLI
Имя | Описание |
---|---|
DBT_PROJECT_DIR | Путь к локальному размещению репозитория вашего проекта dbt. Это должно выглядеть примерно так: /Users/firstnamelastname/reponame |
DBT_PATH | Путь к исполняемому файлу dbt Core или dbt Cloud CLI. Вы можете найти исполняемый файл dbt, запустив which dbt |
Использование с клиентами MCP
После завершения установки вы сможете использовать свой сервер с клиентом MCP.
Эта конфигурация будет добавлена в соответствующий файл конфигурации клиента. Обязательно замените разделы внутри <>
:
<path-to-mcp-executable>
зависит от вашей ОС:
- Linux и Mac:
<path-to-this-directory>/.venv/bin/mcp
- ПК:
<path-to-this-directory>/.venv/Scripts/mcp
Клод Десктоп
Следуйте этим инструкциям, чтобы создать файл claude_desktop_config.json
и подключиться.
На Mac вы можете найти журналы Claude Desktop в ~/Library/Logs/Claude
.
Курсор
- Откройте меню Курсор и выберите Настройки → Настройки курсора → MCP.
- Нажмите «Добавить новый глобальный сервер MCP».
- Добавьте конфигурацию, указанную выше, в предоставленный файл
mcp.json
- Убедитесь, что ваше соединение активно на вкладке MCP.
Документация по Cursor MCP здесь для справки
Код VS
- Откройте меню «Настройки» (Command + Comma) и выберите нужную вкладку в верхней части страницы для вашего варианта использования.
Workspace
— настраивает сервер в контексте вашего рабочего пространства.User
- настраивает сервер в контексте вашего пользователя.- Примечание для пользователей WSL : если вы используете VS Code с WSL, вам необходимо настроить параметры, специфичные для WSL. Выполните команду Preferences: Open Remote Settings из палитры команд (F1) или выберите вкладку Remote в редакторе настроек. Настройки локального пользователя повторно используются в WSL, но могут быть переопределены настройками, специфичными для WSL. Настройка серверов MCP в настройках локального пользователя не будет работать должным образом в среде WSL.
- Выберите Функции → Чат
- Убедитесь, что «Mcp»
Enabled
- Нажмите «Изменить в settings.json» в разделе «Mcp > Discovery».
- Добавьте конфигурацию вашего сервера (
dbt
) в предоставленный файлsettings.json
в качестве одного из серверов:
<path-to-mcp-executable>
зависит от вашей ОС:
- Linux и Mac:
<path-to-this-directory>/.venv/bin/mcp
- ПК:
<path-to-this-directory>/.venv/Scripts/mcp
- Вы можете запускать, останавливать и настраивать свои серверы MCP следующими способами:
- Запуск команды
MCP: List Servers
из палитры команд (Control + Command + P) и выбор сервера. - Использование ключевых слов, встроенных в файл
settings.json
Документация VS Code MCP здесь для справки
Инструменты
dbt CLI
build
— выполняет модели, тесты, снимки и начальные значения в порядке зависимости.compile
— генерирует исполняемый SQL-код из моделей, тестов и анализов без их запускаdocs
— создает документацию для проекта dbtls
(список) — выводит список ресурсов в проекте dbt, таких как модели и тесты.parse
— анализирует и проверяет файлы проекта на правильность синтаксиса.run
— выполняет модели для их материализации в базе данных.test
— запускает тесты для проверки целостности данных и модели.show
— выполняет запрос к хранилищу данных.
Разрешение вашему клиенту использовать команды dbt через этот инструментарий MCP может изменить ваши модели данных, источники и объекты хранилища. Продолжайте, только если вы доверяете клиенту и понимаете потенциальное воздействие.
Семантический слой
list_metrics
— извлекает все определенные метрикиget_dimensions
— Получает измерения, связанные с указанными метрикамиget_entities
— Получает сущности, связанные с указанными метрикамиquery_metrics
— запрашивает метрики с возможностью группировки, упорядочивания, фильтрации и ограничения.
Открытие
get_mart_models
— Получает все модели martget_all_models
— Получает все моделиget_model_details
— Получает сведения о конкретной моделиget_model_parents
— Получает родительские узлы определенной моделиget_model_children
— Получает дочерние режимы определенной модели
Внося вклад
Инструкции о том, как принять участие, читайте на CONTRIBUTING.md
!
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
dbt-mcp
Related MCP Servers
- TypeScriptMIT License
- JavaScript
- PythonMIT License
- TypeScriptMIT License