dbt

resmi

dbt (veri oluşturma aracı) için resmi MCP sunucusu olup, dbt Core/Cloud CLI ile entegrasyon, proje meta verisi keşfi, model bilgisi ve anlamsal katman sorgulama yetenekleri sağlar.

Dbt MCP ile neler yapabilirsiniz?

  • dbt projenizin veri modellerini keşfedinget_all_models ile tüm modelleri sorgulayın, ardından get_node_details ile herhangi bir düğümün tüm ayrıntılarını inceleyin.
  • Yukarı ve aşağı yönlü bağımlılık zincirini izleyinget_lineage kullanarak bir modelin tür ve derinlik filtresiyle atalarını ve torunlarını görün.
  • Semantik Katman üzerinden metrikleri sorgulayınlist_metrics ile mevcut metrikleri listeleyin, ardından query_metrics ile filtrelenmiş, gruplandırılmış metrik sorguları çalıştırın.
  • Model sağlığını ve performansını kontrol edinget_model_health ile çalıştırma durumunu, test sonuçlarını ve kaynak tazeliğini alın veya get_model_performance ile yürütme geçmişini edinin.
  • Proje şablonu oluşturungenerate_model_yaml, generate_source ve generate_staging_model kullanarak model YAML, kaynak YAML veya hazırlık modeli SQL’i oluşturun.
  • dbt Cloud işlerini yönetinlist_jobs ve trigger_job_run ile işleri listeleyip tetikleyin, ardından get_job_run_details ve list_job_run_artifacts ile çalıştırma ayrıntılarını veya yapıtlarını inceleyin.

Dokümantasyon

dbt MCP Sunucusu

OpenSSF Best Practices

Bu MCP (Model Bağlam Protokolü) sunucusu, dbt ile etkileşim kurmak için çeşitli araçlar sağlar. Bu MCP sunucusunu, dbt Core, dbt Fusion ve dbt Platform'daki projenizin bağlamını yapay zeka ajanlarına sağlamak için kullanabilirsiniz.

Daha fazla bilgi edinmek için dokümantasyonumuzu buradan okuyun. dbt MCP sunucusu ile nelerin mümkün olduğuna dair daha fazla ayrıntıyı bu blog yazısında bulabilirsiniz.

Deneysel MCP Paketi

Her sürümle birlikte deneysel bir Model Bağlam Protokolü Paketi (dbt-mcp.mcpb) yayınlıyoruz, böylece MCPB farkında istemciler bu sunucuyu ek kurulum olmadan içe aktarabilir. Paketi en son sürüm varlıklarından indirin ve kurmak veya incelemek için Anthropic'in mcpb CLI belgelerini takip edin.

Geri Bildirim

Yorumlarınız veya sorularınız varsa, bir GitHub Sorunu oluşturun veya #tools-dbt-mcp kanalında topluluk Slack'inde bize katılın.

Mimari

dbt MCP sunucu mimarisi, ajanınızın çeşitli araçlara bağlanmasına olanak tanır.

architecture diagram of the dbt MCP server

Araçlar

SQL

dbt Platform altyapısında SQL yürütmek ve oluşturmak için araçlar.

  • execute_sql: Semantik Katman desteği ile dbt Platform altyapısında SQL yürütür.
  • text_to_sql: Proje bağlamını kullanarak doğal dilden SQL oluşturur.

Semantik Katman

dbt Semantik Katman hakkında daha fazla bilgi edinmek için buraya tıklayın.

  • get_dimension_values: Bir boyut için farklı değerleri alır; belirli metriklere kapsam belirleme seçeneği.
  • get_dimensions: Belirtilen metrikler için boyutları alır.
  • get_entities: Belirtilen metrikler için varlıkları alır.
  • get_metrics_compiled_sql: Sorguyu yürütmeden metrikler için derlenmiş SQL'i döndürür.
  • list_metrics: Tanımlanmış tüm metrikleri alır.
  • list_saved_queries: Kaydedilmiş tüm sorguları alır.
  • query_metrics: Filtreleme ve gruplandırma seçenekleriyle metrik sorgularını yürütür.

Keşif

dbt Keşif API'si hakkında daha fazla bilgi edinmek için buraya tıklayın.

  • get_all_macros: Makroları alır; pakete göre filtreleme veya yalnızca paket adlarını döndürme seçeneği.
  • get_all_models: Tüm modellerin adını ve açıklamasını alır.
  • get_all_sources: Tazelik durumuyla birlikte tüm kaynakları alır; kaynak adına göre filtreleme seçeneği.
  • get_exposure_details: (kullanımdan kaldırıldı — bunun yerine get_node_details kullanın)
  • get_exposures: Tüm maruziyetleri (aşağı akış panoları, uygulamalar veya analizler) alır.
  • get_lineage: Tür ve derinlik filtrelemesiyle tam köken grafiğini (atalar ve torunlar) alır.
  • get_macro_details: (kullanımdan kaldırıldı — bunun yerine get_node_details kullanın)
  • get_mart_models: Tüm mart modellerini alır.
  • get_model_children: (kullanımdan kaldırıldı — bunun yerine get_lineage kullanın)
  • get_model_details: (kullanımdan kaldırıldı — bunun yerine get_node_details kullanın)
  • get_model_health: Sağlık sinyallerini alır: çalıştırma durumu, test sonuçları ve yukarı akış kaynak tazeliği.
  • get_model_parents: (kullanımdan kaldırıldı — bunun yerine get_lineage kullanın)
  • get_model_performance: Bir model için yürütme geçmişini alır; test sonuçlarını dahil etme seçeneği.
  • get_node_details: Herhangi bir dbt kaynak türü (model, kaynak, maruziyet, test, seed, snapshot, makro, semantic_model) için tam ayrıntıları alır.
  • get_related_models: Anlamsal arama kullanarak benzer modelleri bulur.
  • get_seed_details: (kullanımdan kaldırıldı — bunun yerine get_node_details kullanın)
  • get_semantic_model_details: (kullanımdan kaldırıldı — bunun yerine get_node_details kullanın)
  • get_snapshot_details: (kullanımdan kaldırıldı — bunun yerine get_node_details kullanın)
  • get_source_details: (kullanımdan kaldırıldı — bunun yerine get_node_details kullanın)
  • get_test_details: (kullanımdan kaldırıldı — bunun yerine get_node_details kullanın)
  • search: [Alpha] dbt projesi genelinde kaynakları arar (genel kullanıma açık değildir).

dbt CLI

İstemcinizin MCP araçları aracılığıyla dbt komutlarını kullanmasına izin vermek, veri modellerinizi, kaynaklarınızı ve ambar nesnelerinizi değiştirebilir. Yalnızca istemciye güveniyorsanız ve potansiyel etkiyi anlıyorsanız devam edin.

  • build: Modelleri, testleri, snapshot'ları ve seed'leri DAG sırasına göre yürütür.
  • clone: Belirtilen durumdan seçilen düğümleri hedef şema(lara) klonlar.
  • compile: Modellerden/testlerden/analizlerden yürütülebilir SQL oluşturur; Jinja mantığını doğrulamak için kullanışlıdır.
  • docs: dbt projesi için dokümantasyon oluşturur.
  • get_lineage_dev: Tür ve derinlik filtrelemesiyle yerel manifest.json'dan köken bilgisini alır.
  • get_node_details_dev: Yerel manifest.json'dan düğüm ayrıntılarını (modeller, seed'ler, snapshot'lar, kaynaklar) alır.
  • list: dbt projesindeki kaynakları seçici desteğiyle türe göre listeler.
  • parse: Sözdizimi doğruluğu için proje dosyalarını ayrıştırır ve doğrular.
  • run: Veritabanında gerçekleştirmek için modelleri yürütür.
  • show: Veritabanına karşı SQL yürütür ve sonuçları döndürür.
  • test: Veri ve model bütünlüğünü doğrulamak için testleri çalıştırır.

Yönetici API'si

dbt Yönetim API'si hakkında daha fazla bilgi edinmek için buraya tıklayın.

  • cancel_job_run: Çalışan bir işi iptal eder.
  • get_job_details: Tetikleyiciler, zamanlama ve dbt komutları dahil iş yapılandırmasını alır.
  • get_job_run_details: Durum, zamanlama, adımlar ve yapıtlar dahil çalıştırma ayrıntılarını alır.
  • get_job_run_error: Bir iş çalıştırması için hata ve/veya uyarı ayrıntılarını alır; yalnızca uyarıları dahil etme veya gösterme seçeneği.
  • list_job_run_artifacts: Bir iş çalıştırmasından mevcut yapıtları listeler.
  • list_jobs: Bir dbt Platform hesabındaki işleri listeler; projeye veya ortama göre filtreleme seçeneği.
  • list_jobs_runs: İş çalıştırmalarını listeler; işe, duruma veya alana göre sıralamaya göre filtreleme seçeneği.
  • list_projects: dbt Platform hesabındaki tüm projeleri listeler.
  • retry_job_run: Başarısız bir iş çalıştırmasını yeniden dener.
  • trigger_job_run: Bir iş çalıştırmasını tetikler; git dalını, şemayı veya diğer ayarları geçersiz kılma seçeneği.

dbt Codegen

Bu araçlar, dbt proje dosyaları için standart kod üretimini otomatikleştirmeye yardımcı olur.

  • generate_model_yaml: Sütunlarla model YAML'si oluşturur; yukarı akış açıklamalarını devralma seçeneği.
  • generate_source: Veritabanı şemalarını iç gözlemleyerek kaynak YAML'si oluşturur; sütunları dahil etme seçeneği.
  • generate_staging_model: Bir kaynak tablodan hazırlık modeli SQL'i oluşturur.

dbt LSP

Gelişmiş SQL derleme ve sütun düzeyinde köken analizi için Fusion motorundan yararlanan bir araç seti.

  • fusion.compile_sql: dbt Platform aracılığıyla proje bağlamında SQL derler.
  • fusion.get_column_lineage: dbt Platform aracılığıyla sütun düzeyinde kökeni izler.
  • get_column_lineage: Yerel olarak sütun düzeyinde kökeni izler (dbt Labs VSCE aracılığıyla dbt-lsp gerektirir).

Ürün Dokümanları

docs.getdbt.com adresindeki resmi dbt dokümantasyonundan içerik aramak ve almak için araçlar.

  • get_product_doc_pages: Yol veya URL'ye göre bir veya daha fazla docs.getdbt.com sayfasının tam Markdown içeriğini alır.
  • search_product_docs: Bir sorguyla eşleşen sayfalar için docs.getdbt.com'da arama yapar; alaka düzeyine göre sıralanmış başlıkları, URL'leri ve açıklamaları döndürür. Tam içeriği almak için get_product_doc_pages'i kullanın.

MCP Sunucu Meta Verileri

Bu araçlar, MCP sunucusunun kendisi hakkında bilgi sağlar.

  • get_mcp_server_branch: Çalışan dbt MCP sunucusunun mevcut git dalını döndürür.
  • get_mcp_server_version: dbt MCP sunucusunun mevcut sürümünü döndürür.

Örnekler

Genellikle, dbt MCP sunucusunu Claude veya Cursor gibi bir ajan ürününe bağlayacaksınız. Ancak, kendi ajanınızı oluşturmakla ilgileniyorsanız, başlamak için örnekler dizinine göz atın.

Bağımlılıklar

Bağımlılıklar belirli sürümlere sabitlenmiştir ve otomatik olarak güncellenmez. Yalnızca güvenlikle ilgili bağımlılık güncellemeleri otomatik çekme istekleri aracılığıyla gönderilir.

Katkıda Bulunma

Nasıl dahil olacağınıza dair talimatlar için CONTRIBUTING.md dosyasını okuyun!