dbt

resmi

Server MCP resmi untuk dbt (data build tool) yang menyediakan integrasi dengan CLI dbt Core/Cloud, penemuan metadata proyek, informasi model, dan kemampuan kueri lapisan semantik.

Apa yang bisa Anda lakukan dengan Dbt MCP?

  • Jelajahi model data proyek dbt Anda — minta semua model dengan get_all_models, lalu periksa detail lengkap node mana pun melalui get_node_details.
  • Lacak lineage hulu dan hilir — gunakan get_lineage untuk melihat ancestor dan descendant suatu model, difilter berdasarkan tipe dan kedalaman.
  • Kueri metrik melalui Semantic Layer — daftarkan metrik yang tersedia dengan list_metrics, lalu jalankan kueri metrik yang difilter dan dikelompokkan melalui query_metrics.
  • Periksa kesehatan dan performa model — ambil status run, hasil pengujian, dan kesegaran sumber dengan get_model_health, atau dapatkan riwayat eksekusi melalui get_model_performance.
  • Hasilkan boilerplate proyek — buat YAML model, YAML sumber, atau SQL model staging menggunakan generate_model_yaml, generate_source, dan generate_staging_model.
  • Kelola job dbt Cloud — daftarkan dan picu job dengan list_jobs dan trigger_job_run, lalu periksa detail run atau artefak menggunakan get_job_run_details dan list_job_run_artifacts.

Dokumentasi

Server MCP dbt

OpenSSF Best Practices

Server MCP (Model Context Protocol) ini menyediakan berbagai alat untuk berinteraksi dengan dbt. Anda dapat menggunakan server MCP ini untuk memberikan konteks proyek Anda kepada agen AI di dbt Core, dbt Fusion, dan dbt Platform.

Baca dokumentasi kami di sini untuk mempelajari lebih lanjut. Postingan blog ini memberikan detail lebih lanjut tentang apa yang mungkin dilakukan dengan server MCP dbt.

Paket MCP Eksperimental

Kami menerbitkan Paket Model Context Protocol eksperimental (dbt-mcp.mcpb) dengan setiap rilis sehingga klien yang sadar MCPB dapat mengimpor server ini tanpa pengaturan tambahan. Unduh paket dari aset rilis terbaru dan ikuti dokumentasi mcpb CLI Anthropic untuk menginstal atau memeriksanya.

Umpan Balik

Jika Anda memiliki komentar atau pertanyaan, buat GitHub Issue atau bergabunglah dengan kami di Slack komunitas di saluran #tools-dbt-mcp.

Arsitektur

Arsitektur server MCP dbt memungkinkan agen Anda terhubung ke berbagai alat.

architecture diagram of the dbt MCP server

Alat

SQL

Alat untuk mengeksekusi dan menghasilkan SQL di infrastruktur dbt Platform.

  • execute_sql: Mengeksekusi SQL di infrastruktur dbt Platform dengan dukungan Semantic Layer.
  • text_to_sql: Menghasilkan SQL dari bahasa alami menggunakan konteks proyek.

Semantic Layer

Untuk mempelajari lebih lanjut tentang dbt Semantic Layer, klik di sini.

  • get_dimension_values: Mendapatkan nilai unik untuk suatu dimensi; opsi untuk membatasi pada metrik tertentu.
  • get_dimensions: Mendapatkan dimensi untuk metrik yang ditentukan.
  • get_entities: Mendapatkan entitas untuk metrik yang ditentukan.
  • get_metrics_compiled_sql: Mengembalikan SQL yang dikompilasi untuk metrik tanpa mengeksekusi kueri.
  • list_metrics: Mengambil semua metrik yang ditentukan.
  • list_saved_queries: Mengambil semua kueri yang disimpan.
  • query_metrics: Mengeksekusi kueri metrik dengan opsi pemfilteran dan pengelompokan.

Discovery

Untuk mempelajari lebih lanjut tentang dbt Discovery API, klik di sini.

  • get_all_macros: Mengambil makro; opsi untuk memfilter berdasarkan paket atau hanya mengembalikan nama paket.
  • get_all_models: Mengambil nama dan deskripsi semua model.
  • get_all_sources: Mendapatkan semua sumber dengan status kesegaran; opsi untuk memfilter berdasarkan nama sumber.
  • get_exposure_details: (usang — gunakan get_node_details sebagai gantinya)
  • get_exposures: Mendapatkan semua eksposur (dasbor, aplikasi, atau analisis hilir).
  • get_lineage: Mendapatkan grafik lineage lengkap (leluhur dan keturunan) dengan pemfilteran tipe dan kedalaman.
  • get_macro_details: (usang — gunakan get_node_details sebagai gantinya)
  • get_mart_models: Mengambil semua model mart.
  • get_model_children: (usang — gunakan get_lineage sebagai gantinya)
  • get_model_details: (usang — gunakan get_node_details sebagai gantinya)
  • get_model_health: Mendapatkan sinyal kesehatan: status eksekusi, hasil pengujian, dan kesegaran sumber hulu.
  • get_model_parents: (usang — gunakan get_lineage sebagai gantinya)
  • get_model_performance: Mendapatkan riwayat eksekusi untuk model; opsi untuk menyertakan hasil pengujian.
  • get_node_details: Mendapatkan detail lengkap untuk semua jenis sumber daya dbt (model, sumber, eksposur, pengujian, seed, snapshot, makro, semantic_model).
  • get_related_models: Menemukan model serupa menggunakan pencarian semantik.
  • get_seed_details: (usang — gunakan get_node_details sebagai gantinya)
  • get_semantic_model_details: (usang — gunakan get_node_details sebagai gantinya)
  • get_snapshot_details: (usang — gunakan get_node_details sebagai gantinya)
  • get_source_details: (usang — gunakan get_node_details sebagai gantinya)
  • get_test_details: (usang — gunakan get_node_details sebagai gantinya)
  • search: [Alpha] Mencari sumber daya di seluruh proyek dbt (belum tersedia secara umum).

dbt CLI

Mengizinkan klien Anda untuk menggunakan perintah dbt melalui alat MCP dapat mengubah model data, sumber, dan objek gudang Anda. Lanjutkan hanya jika Anda memercayai klien dan memahami dampak potensialnya.

  • build: Mengeksekusi model, pengujian, snapshot, dan seed dalam urutan DAG.
  • clone: Mengkloning node yang dipilih dari status yang ditentukan ke skema target.
  • compile: Menghasilkan SQL yang dapat dieksekusi dari model/pengujian/analisis; berguna untuk memvalidasi logika Jinja.
  • docs: Menghasilkan dokumentasi untuk proyek dbt.
  • get_lineage_dev: Mengambil lineage dari manifest.json lokal dengan pemfilteran tipe dan kedalaman.
  • get_node_details_dev: Mengambil detail node dari manifest.json lokal (model, seed, snapshot, sumber).
  • list: Mencantumkan sumber daya dalam proyek dbt berdasarkan tipe dengan dukungan pemilih.
  • parse: Mengurai dan memvalidasi file proyek untuk kebenaran sintaks.
  • run: Mengeksekusi model untuk mewujudkannya di database.
  • show: Mengeksekusi SQL terhadap database dan mengembalikan hasil.
  • test: Menjalankan pengujian untuk memvalidasi integritas data dan model.

Admin API

Untuk mempelajari lebih lanjut tentang dbt Administrative API, klik di sini.

  • cancel_job_run: Membatalkan pekerjaan yang sedang berjalan.
  • get_job_details: Mendapatkan konfigurasi pekerjaan termasuk pemicu, jadwal, dan perintah dbt.
  • get_job_run_details: Mendapatkan detail eksekusi termasuk status, waktu, langkah, dan artefak.
  • get_job_run_error: Mendapatkan detail kesalahan dan/atau peringatan untuk eksekusi pekerjaan; opsi untuk menyertakan atau hanya menampilkan peringatan.
  • list_job_run_artifacts: Mencantumkan artefak yang tersedia dari eksekusi pekerjaan.
  • list_jobs: Mencantumkan pekerjaan di akun dbt Platform; opsi untuk memfilter berdasarkan proyek atau lingkungan.
  • list_jobs_runs: Mencantumkan eksekusi pekerjaan; opsi untuk memfilter berdasarkan pekerjaan, status, atau mengurutkan berdasarkan bidang.
  • list_projects: Mencantumkan semua proyek di akun dbt Platform.
  • retry_job_run: Mencoba kembali eksekusi pekerjaan yang gagal.
  • trigger_job_run: Memicu eksekusi pekerjaan; opsi untuk mengganti cabang git, skema, atau pengaturan lainnya.

dbt Codegen

Alat-alat ini membantu mengotomatiskan pembuatan kode boilerplate untuk file proyek dbt.

  • generate_model_yaml: Menghasilkan YAML model dengan kolom; opsi untuk mewarisi deskripsi hulu.
  • generate_source: Menghasilkan YAML sumber dengan mengintrospeksi skema database; opsi untuk menyertakan kolom.
  • generate_staging_model: Menghasilkan SQL model staging dari tabel sumber.

dbt LSP

Seperangkat alat yang memanfaatkan mesin Fusion untuk kompilasi SQL tingkat lanjut dan analisis lineage tingkat kolom.

  • fusion.compile_sql: Mengompilasi SQL dalam konteks proyek melalui dbt Platform.
  • fusion.get_column_lineage: Melacak lineage tingkat kolom melalui dbt Platform.
  • get_column_lineage: Melacak lineage tingkat kolom secara lokal (memerlukan dbt-lsp melalui dbt Labs VSCE).

Dokumen Produk

Alat untuk mencari dan mengambil konten dari dokumentasi resmi dbt di docs.getdbt.com.

  • get_product_doc_pages: Mengambil konten Markdown lengkap dari satu atau beberapa halaman docs.getdbt.com berdasarkan jalur atau URL.
  • search_product_docs: Mencari halaman di docs.getdbt.com yang cocok dengan kueri; mengembalikan judul, URL, dan deskripsi yang diurutkan berdasarkan relevansi. Gunakan get_product_doc_pages untuk mengambil konten lengkap.

Metadata Server MCP

Alat-alat ini menyediakan informasi tentang server MCP itu sendiri.

  • get_mcp_server_branch: Mengembalikan cabang git saat ini dari server MCP dbt yang sedang berjalan.
  • get_mcp_server_version: Mengembalikan versi saat ini dari server MCP dbt.

Contoh

Umumnya, Anda akan menghubungkan server MCP dbt ke produk agen seperti Claude atau Cursor. Namun, jika Anda tertarik untuk membuat agen Anda sendiri, lihat direktori contoh untuk memulai.

Dependensi

Dependensi disematkan ke versi tertentu dan tidak diperbarui secara otomatis. Hanya pembaruan dependensi terkait keamanan yang dikirimkan melalui pull request otomatis.

Berkontribusi

Baca CONTRIBUTING.md untuk petunjuk tentang cara terlibat!