dbt MCP Server

chính thức

Official MCP server for dbt (data build tool) providing integration with dbt Core/Cloud CLI, project metadata discovery, model information, and semantic layer querying capabilities.

Tài liệu

Máy chủ dbt MCP

OpenSSF Best Practices

Máy chủ MCP (Model Context Protocol) này cung cấp nhiều công cụ để tương tác với dbt. Bạn có thể sử dụng máy chủ MCP này để cung cấp cho các tác nhân AI ngữ cảnh về dự án của bạn trong dbt Core, dbt Fusion và dbt Platform.

Đọc tài liệu của chúng tôi tại đây để tìm hiểu thêm. Bài đăng blog này cung cấp thêm chi tiết về những gì có thể thực hiện với máy chủ dbt MCP.

Gói MCP Thử nghiệm

Chúng tôi xuất bản một Gói Model Context Protocol thử nghiệm (dbt-mcp.mcpb) cùng với mỗi bản phát hành để các máy khách nhận biết MCPB có thể nhập máy chủ này mà không cần thiết lập thêm. Tải gói từ các tài sản của bản phát hành mới nhất và làm theo tài liệu mcpb CLI của Anthropic để cài đặt hoặc kiểm tra nó.

Phản hồi

Nếu bạn có nhận xét hoặc câu hỏi, hãy tạo một GitHub Issue hoặc tham gia cùng chúng tôi trong Slack cộng đồng tại kênh #tools-dbt-mcp.

Kiến trúc

Kiến trúc máy chủ dbt MCP cho phép tác nhân của bạn kết nối với nhiều công cụ khác nhau.

architecture diagram of the dbt MCP server

Công cụ

SQL

Các công cụ để thực thi và tạo SQL trên cơ sở hạ tầng dbt Platform.

  • execute_sql: Thực thi SQL trên cơ sở hạ tầng dbt Platform với hỗ trợ Semantic Layer.
  • text_to_sql: Tạo SQL từ ngôn ngữ tự nhiên sử dụng ngữ cảnh dự án.

Semantic Layer

Để tìm hiểu thêm về dbt Semantic Layer, nhấp vào đây.

  • get_dimension_values: Lấy các giá trị phân biệt cho một chiều; tùy chọn giới hạn phạm vi theo các chỉ số cụ thể.
  • get_dimensions: Lấy các chiều cho các chỉ số đã chỉ định.
  • get_entities: Lấy các thực thể cho các chỉ số đã chỉ định.
  • get_metrics_compiled_sql: Trả về SQL đã biên dịch cho các chỉ số mà không thực thi truy vấn.
  • list_metrics: Truy xuất tất cả các chỉ số đã định nghĩa.
  • list_saved_queries: Truy xuất tất cả các truy vấn đã lưu.
  • query_metrics: Thực thi các truy vấn chỉ số với các tùy chọn lọc và nhóm.

Discovery

Để tìm hiểu thêm về dbt Discovery API, nhấp vào đây.

  • get_all_macros: Truy xuất macro; tùy chọn lọc theo gói hoặc chỉ trả về tên gói.
  • get_all_models: Truy xuất tên và mô tả của tất cả các mô hình.
  • get_all_sources: Lấy tất cả các nguồn với trạng thái mới; tùy chọn lọc theo tên nguồn.
  • get_exposure_details: Lấy chi tiết exposure bao gồm chủ sở hữu, cha mẹ và trạng thái mới.
  • get_exposures: Lấy tất cả các exposure (bảng điều khiển, ứng dụng hoặc phân tích hạ nguồn).
  • get_lineage: Lấy biểu đồ dòng dõi đầy đủ (tổ tiên và hậu duệ) với lọc theo loại và độ sâu.
  • get_macro_details: Lấy chi tiết cho một macro cụ thể.
  • get_mart_models: Truy xuất tất cả các mô hình mart.
  • get_model_children: Lấy các phụ thuộc hạ nguồn của một mô hình.
  • get_model_details: Lấy chi tiết mô hình bao gồm SQL đã biên dịch, cột và lược đồ.
  • get_model_health: Lấy tín hiệu sức khỏe: trạng thái chạy, kết quả kiểm tra và độ mới của nguồn thượng nguồn.
  • get_model_parents: Lấy các phụ thuộc thượng nguồn của một mô hình.
  • get_model_performance: Lấy lịch sử thực thi cho một mô hình; tùy chọn bao gồm kết quả kiểm tra.
  • get_related_models: Tìm các mô hình tương tự bằng tìm kiếm ngữ nghĩa.
  • get_seed_details: Lấy chi tiết cho một seed cụ thể.
  • get_semantic_model_details: Lấy chi tiết cho một mô hình ngữ nghĩa cụ thể.
  • get_snapshot_details: Lấy chi tiết cho một snapshot cụ thể.
  • get_source_details: Lấy chi tiết nguồn bao gồm cột và độ mới.
  • get_test_details: Lấy chi tiết cho một bài kiểm tra cụ thể.
  • search: [Alpha] Tìm kiếm tài nguyên trên toàn bộ dự án dbt (chưa có sẵn rộng rãi).

dbt CLI

Việc cho phép máy khách của bạn sử dụng các lệnh dbt thông qua công cụ MCP có thể sửa đổi các mô hình dữ liệu, nguồn và đối tượng kho dữ liệu của bạn. Chỉ tiếp tục nếu bạn tin tưởng máy khách và hiểu rõ tác động tiềm ẩn.

  • build: Thực thi các mô hình, bài kiểm tra, snapshot và seed theo thứ tự DAG.
  • clone: Sao chép các nút đã chọn từ trạng thái đã chỉ định sang (các) lược đồ đích.
  • compile: Tạo SQL có thể thực thi từ các mô hình/bài kiểm tra/phân tích; hữu ích để xác thực logic Jinja.
  • docs: Tạo tài liệu cho dự án dbt.
  • get_lineage_dev: Truy xuất dòng dõi từ manifest.json cục bộ với lọc theo loại và độ sâu.
  • get_node_details_dev: Truy xuất chi tiết nút từ manifest.json cục bộ (mô hình, seed, snapshot, nguồn).
  • list: Liệt kê các tài nguyên trong dự án dbt theo loại với hỗ trợ bộ chọn.
  • parse: Phân tích cú pháp và xác thực các tệp dự án về tính đúng đắn cú pháp.
  • run: Thực thi các mô hình để hiện thực hóa chúng trong cơ sở dữ liệu.
  • show: Thực thi SQL trên cơ sở dữ liệu và trả về kết quả.
  • test: Chạy các bài kiểm tra để xác thực tính toàn vẹn của dữ liệu và mô hình.

Admin API

Để tìm hiểu thêm về dbt Administrative API, nhấp vào đây.

  • cancel_job_run: Hủy một công việc đang chạy.
  • get_job_details: Lấy cấu hình công việc bao gồm trình kích hoạt, lịch trình và các lệnh dbt.
  • get_job_run_details: Lấy chi tiết lần chạy bao gồm trạng thái, thời gian, các bước và tạo phẩm.
  • get_job_run_error: Lấy chi tiết lỗi và/hoặc cảnh báo cho một lần chạy công việc; tùy chọn bao gồm hoặc chỉ hiển thị cảnh báo.
  • list_job_run_artifacts: Liệt kê các tạo phẩm có sẵn từ một lần chạy công việc.
  • list_jobs: Liệt kê các công việc trong tài khoản dbt Platform; tùy chọn lọc theo dự án hoặc môi trường.
  • list_jobs_runs: Liệt kê các lần chạy công việc; tùy chọn lọc theo công việc, trạng thái hoặc sắp xếp theo trường.
  • list_projects: Liệt kê tất cả các dự án trong tài khoản dbt Platform.
  • retry_job_run: Thử lại một lần chạy công việc thất bại.
  • trigger_job_run: Kích hoạt một lần chạy công việc; tùy chọn ghi đè nhánh git, lược đồ hoặc các cài đặt khác.

dbt Codegen

Các công cụ này giúp tự động hóa việc tạo mã boilerplate cho các tệp dự án dbt.

  • generate_model_yaml: Tạo YAML mô hình với các cột; tùy chọn kế thừa mô tả thượng nguồn.
  • generate_source: Tạo YAML nguồn bằng cách thăm dò các lược đồ cơ sở dữ liệu; tùy chọn bao gồm các cột.
  • generate_staging_model: Tạo SQL mô hình staging từ một bảng nguồn.

dbt LSP

Một bộ công cụ tận dụng công cụ Fusion để biên dịch SQL nâng cao và phân tích dòng dõi cấp cột.

  • fusion.compile_sql: Biên dịch SQL trong ngữ cảnh dự án thông qua dbt Platform.
  • fusion.get_column_lineage: Truy vết dòng dõi cấp cột thông qua dbt Platform.
  • get_column_lineage: Truy vết dòng dõi cấp cột cục bộ (yêu cầu dbt-lsp thông qua dbt Labs VSCE).

Tài liệu Sản phẩm

Các công cụ để tìm kiếm và lấy nội dung từ tài liệu dbt chính thức tại docs.getdbt.com.

  • get_product_doc_pages: Lấy toàn bộ nội dung Markdown của một hoặc nhiều trang docs.getdbt.com theo đường dẫn hoặc URL.
  • search_product_docs: Tìm kiếm docs.getdbt.com để tìm các trang khớp với truy vấn; trả về tiêu đề, URL và mô tả được xếp hạng theo mức độ liên quan. Sử dụng get_product_doc_pages để lấy nội dung đầy đủ.

Metadata Máy chủ MCP

Các công cụ này cung cấp thông tin về chính máy chủ MCP.

  • get_mcp_server_branch: Trả về nhánh git hiện tại của máy chủ dbt MCP đang chạy.
  • get_mcp_server_version: Trả về phiên bản hiện tại của máy chủ dbt MCP.

Ví dụ

Thông thường, bạn sẽ kết nối máy chủ dbt MCP với một sản phẩm tác nhân như Claude hoặc Cursor. Tuy nhiên, nếu bạn quan tâm đến việc tạo tác nhân của riêng mình, hãy xem thư mục ví dụ để biết cách bắt đầu.

Phụ thuộc

Các phụ thuộc được ghim vào các phiên bản cụ thể và không được cập nhật tự động. Chỉ các bản cập nhật phụ thuộc liên quan đến bảo mật mới được gửi thông qua các pull request tự động.

Đóng góp

Đọc CONTRIBUTING.md để biết hướng dẫn về cách tham gia!