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?

  • Sorgu metrikleri — Asistandan query_metrics aracılığıyla filtreleme ve gruplama ile metrik sorguları çalıştırmasını isteyin veya list_metrics ile tanımlı metrikleri listeleyin.
  • Model soy ağacını keşfedin — get_lineage kullanarak tür, derinlik ve yön filtreleriyle sınırlandırılmış bir soy ağacı grafiği talep edin.
  • Model sağlığını kontrol edin — get_model_health ile bir model için çalıştırma durumu, test sonuçları ve üst kaynak güncelliğini isteyin.
  • dbt komutlarını çalıştırın — Asistanın projenize karşı build, run, test, compile veya show komutlarını yürütmesini sağlayın.
  • İş çalıştırmalarını yönetin — dbt Platform iş çalıştırmalarını ve çıktılarını tetikleyin, yeniden deneyin, iptal edin veya inceleyin.
  • Şablon kod oluşturun — generate_model_yaml, generate_source ve generate_staging_model ile model YAML, kaynak YAML veya staging model SQL oluşturun.

Dokümantasyon

dbt MCP Sunucusu

OpenSSF Best Practices

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

Daha fazla bilgi edinmek için buradaki belgelerimizi okuyun. Bu blog yazısı, dbt MCP sunucusuyla nelerin mümkün olduğuna dair daha fazla ayrıntı sunar.

Deneysel MCP Paketi

MCPB uyumlu istemcilerin bu sunucuyu ek kurulum yapmadan içe aktarabilmesi için her sürümle birlikte deneysel bir Model Context Protocol Paketi (dbt-mcp.mcpb) yayımlıyoruz. Paketi en son sürüm varlıklarından indirin ve kurmak veya incelemek için Anthropic'in mcpb CLI belgelerini izleyin.

Geri Bildirim

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

Mimari

dbt MCP sunucusu 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: Semantic Layer desteğiyle dbt Platform altyapısında SQL yürütür.
  • text_to_sql: Proje bağlamını kullanarak doğal dilden SQL oluşturur.

Semantic Layer

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

  • get_dimension_values: Bir boyut için benzersiz değerleri alır; belirli metriklerle sınırlama seçeneği sunar.
  • 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 döndürür.
  • list_metrics: Tanımlanmış tüm metrikleri alır.
  • list_saved_queries: Tüm kayıtlı sorguları alır.
  • query_metrics: Filtreleme ve gruplama seçenekleriyle metrik sorgularını yürütür.

Keşif

dbt Discovery API 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 sunar.
  • get_all_models: Tüm modellerin adını ve açıklamasını alır.
  • get_all_sources: Güncellik durumuyla birlikte tüm kaynakları alır; kaynak adına göre filtreleme seçeneği sunar.
  • get_exposure_details: (kullanımdan kaldırıldı — bunun yerine get_node_details kullanın)
  • get_exposures: Tüm maruziyetleri (alt akış panoları, uygulamalar veya analizler) alır.
  • get_lineage: Tür, derinlik ve yön filtrelemesiyle sınırlandırılmış bir soy ağacı grafiği 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 üst akış kaynak güncelliğ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 sunar.
  • get_node_details: Herhangi bir dbt kaynak türü (model, source, exposure, test, seed, snapshot, macro, 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: [Alfa] dbt projesi genelinde kaynakları arar (genel kullanıma açık değildir).
  • search_public_mesh_models: Projeler arasında genel dbt Mesh modellerini bulur ve doğrulanmış bir projeler arası ref oluşturabilmeniz için üretici kimliğini doğrular (yalnızca çok projeli yapılandırmalar).

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 olası etkiyi anlıyorsanız devam edin.

  • build: Modelleri, testleri, anlık görüntüleri ve seed'leri DAG sırasına göre yürütür.
  • clone: Belirtilen durumdan seçilen düğümleri hedef şemalara 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 belge oluşturur.
  • get_lineage_dev: Yerel manifest.json'dan tür ve derinlik filtrelemesiyle soy ağacını alır.
  • get_node_details_dev: Yerel manifest.json'dan düğüm ayrıntılarını alır (modeller, seed'ler, anlık görüntüler, kaynaklar).
  • list: dbt projesindeki kaynakları türe göre seçici desteğiyle listeler.
  • parse: Proje dosyalarını sözdizimi doğruluğu açısından ayrıştırır ve doğrular.
  • run: Modelleri veritabanında somutlaştırmak için 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önetim API'si

dbt Administrative API 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 olmak üzere iş yapılandırmasını alır.
  • get_job_run_artifacts: Bir iş çalıştırmasından belirli bir yapıtı indirir; büyük yapıtlar jq_filter ile yeniden denemeye yönelik bir yönlendirme mesajı döndürür; hedefli çıkarım için jq filtrelemeyi destekler.
  • get_job_run_details: Durum, zamanlama, adımlar ve yapıtlar dahil olmak üzere ç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; uyarıları dahil etme veya yalnızca gösterme seçeneği sunar.
  • list_job_run_artifacts: Bir iş çalıştırmasından kullanılabilir yapıtları listeler.
  • list_jobs: Bir dbt Platform hesabındaki işleri listeler; projeye veya ortama göre filtreleme seçeneği sunar.
  • list_jobs_runs: İş çalıştırmalarını listeler; işe, duruma göre filtreleme veya alana göre sıralama seçeneği sunar.
  • 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ı tetikler; git dalını, şemayı veya diğer ayarları geçersiz kılma seçeneği sunar.

dbt Codegen

Bu araçlar, dbt proje dosyaları için şablon kod oluşturmayı otomatikleştirmeye yardımcı olur.

  • generate_model_yaml: Sütunlarla birlikte model YAML'i oluşturur; üst akış açıklamalarını devralma seçeneği sunar.
  • generate_source: Veritabanı şemalarını inceleyerek kaynak YAML'i oluşturur; sütunları dahil etme seçeneği sunar.
  • generate_staging_model: Bir kaynak tablodan staging model SQL'i oluşturur.

dbt LSP

Gelişmiş SQL derlemesi ve sütun düzeyinde soy ağacı analizi için Fusion motorundan yararlanan bir dizi araç.

  • 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 soy ağacını izler.
  • get_column_lineage: Sütun düzeyinde soy ağacını yerel olarak izler (dbt Labs VSCE aracılığıyla dbt-lsp gerektirir).

Ürün Belgeleri

docs.getdbt.com adresindeki resmi dbt belgelerinde içerik aramak ve getirmek için araçlar.

  • get_product_doc_pages: Yol veya URL ile bir veya daha fazla docs.getdbt.com sayfasının tam Markdown içeriğini getirir.
  • search_product_docs: Bir sorguyla eşleşen sayfalar için docs.getdbt.com'da arama yapar; başlıkları, URL'leri ve açıklamaları alaka düzeyine göre sıralanmış olarak döndürür. Tam içeriği getirmek için get_product_doc_pages 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ğlarsınız. Ancak kendi ajanınızı oluşturmakla ilgileniyorsanız, nasıl başlayacağınızı öğrenmek 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 katkıda bulunabileceğinize dair talimatlar için CONTRIBUTING.md okuyun!

Seçici bildirimleri ve bağlam eşleyici sözleşmeleri için araç girdileri ve çözümlenmiş bağlam bölümüne bakın.