dbt

आधिकारिक

dbt (डेटा बिल्ड टूल) के लिए आधिकारिक MCP सर्वर, जो dbt Core/Cloud CLI, प्रोजेक्ट मेटाडेटा डिस्कवरी, मॉडल जानकारी और सिमैंटिक लेयर क्वेरी करने की क्षमताओं के साथ एकीकरण प्रदान करता है।

Dbt MCP के साथ आप क्या कर सकते हैं?

  • अपने dbt प्रोजेक्ट के डेटा मॉडल एक्सप्लोर करेंget_all_models से सभी मॉडल प्राप्त करें, फिर get_node_details के ज़रिए किसी भी नोड का पूरा विवरण देखें।
  • अपस्ट्रीम और डाउनस्ट्रीम लिनिएज ट्रेस करेंget_lineage का उपयोग करके किसी मॉडल के पूर्वज और वंशज देखें, जिन्हें प्रकार और गहराई के अनुसार फ़िल्टर किया जा सकता है।
  • सिमैंटिक लेयर के माध्यम से मीट्रिक्स क्वेरी करेंlist_metrics से उपलब्ध मीट्रिक्स की सूची बनाएं, फिर query_metrics के ज़रिए फ़िल्टर किए गए और समूहीकृत मीट्रिक क्वेरी चलाएं।
  • मॉडल स्वास्थ्य और प्रदर्शन जांचेंget_model_health से रन स्थिति, टेस्ट परिणाम और स्रोत ताज़गी प्राप्त करें, या get_model_performance के माध्यम से निष्पादन इतिहास देखें।
  • प्रोजेक्ट बॉयलरप्लेट जनरेट करेंgenerate_model_yaml, generate_source और generate_staging_model का उपयोग करके मॉडल YAML, स्रोत YAML या स्टेजिंग मॉडल SQL बनाएं।
  • dbt Cloud जॉब प्रबंधित करेंlist_jobs और trigger_job_run से जॉब सूचीबद्ध करें और ट्रिगर करें, फिर get_job_run_details और list_job_run_artifacts का उपयोग करके रन विवरण या आर्टिफैक्ट देखें।

दस्तावेज़

dbt MCP सर्वर

OpenSSF Best Practices

यह MCP (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) सर्वर dbt के साथ इंटरैक्ट करने के लिए विभिन्न उपकरण प्रदान करता है। आप इस MCP सर्वर का उपयोग AI एजेंटों को dbt Core, dbt Fusion और dbt Platform में आपके प्रोजेक्ट का संदर्भ प्रदान करने के लिए कर सकते हैं।

अधिक जानने के लिए हमारे दस्तावेज़ यहाँ पढ़ें। यह ब्लॉग पोस्ट dbt MCP सर्वर के साथ क्या संभव है, इसके बारे में अधिक विवरण प्रदान करता है।

प्रायोगिक MCP बंडल

हम प्रत्येक रिलीज़ के साथ एक प्रायोगिक मॉडल कॉन्टेक्स्ट प्रोटोकॉल बंडल (dbt-mcp.mcpb) प्रकाशित करते हैं ताकि MCPB-जागरूक क्लाइंट बिना किसी अतिरिक्त सेटअप के इस सर्वर को आयात कर सकें। नवीनतम रिलीज़ एसेट्स से बंडल डाउनलोड करें और इसे स्थापित या निरीक्षण करने के लिए Anthropic के mcpb CLI दस्तावेज़ों का पालन करें।

प्रतिक्रिया

यदि आपके पास टिप्पणियाँ या प्रश्न हैं, तो GitHub इश्यू बनाएँ या #tools-dbt-mcp चैनल में सामुदायिक Slack पर हमसे जुड़ें।

आर्किटेक्चर

dbt MCP सर्वर आर्किटेक्चर आपके एजेंट को विभिन्न उपकरणों से जुड़ने की अनुमति देता है।

architecture diagram of the dbt MCP server

उपकरण

SQL

dbt Platform इंफ्रास्ट्रक्चर पर SQL निष्पादित करने और उत्पन्न करने के उपकरण।

  • execute_sql: सिमेंटिक लेयर समर्थन के साथ dbt Platform इंफ्रास्ट्रक्चर पर SQL निष्पादित करता है।
  • text_to_sql: प्रोजेक्ट संदर्भ का उपयोग करके प्राकृतिक भाषा से SQL उत्पन्न करता है।

सिमेंटिक लेयर

dbt सिमेंटिक लेयर के बारे में अधिक जानने के लिए, यहाँ क्लिक करें।

  • get_dimension_values: किसी आयाम के लिए विशिष्ट मान प्राप्त करता है; विशिष्ट मीट्रिक तक सीमित करने का विकल्प।
  • get_dimensions: निर्दिष्ट मीट्रिक के लिए आयाम प्राप्त करता है।
  • get_entities: निर्दिष्ट मीट्रिक के लिए एंटिटी प्राप्त करता है।
  • get_metrics_compiled_sql: क्वेरी निष्पादित किए बिना मीट्रिक के लिए संकलित SQL लौटाता है।
  • list_metrics: सभी परिभाषित मीट्रिक प्राप्त करता है।
  • list_saved_queries: सभी सहेजी गई क्वेरीज़ प्राप्त करता है।
  • query_metrics: फ़िल्टरिंग और ग्रुपिंग विकल्पों के साथ मीट्रिक क्वेरीज़ निष्पादित करता है।

डिस्कवरी

dbt डिस्कवरी API के बारे में अधिक जानने के लिए, यहाँ क्लिक करें।

  • get_all_macros: मैक्रोज़ प्राप्त करता है; पैकेज द्वारा फ़िल्टर करने या केवल पैकेज नाम लौटाने का विकल्प।
  • get_all_models: सभी मॉडलों का नाम और विवरण प्राप्त करता है।
  • get_all_sources: ताज़गी स्थिति के साथ सभी स्रोत प्राप्त करता है; स्रोत नाम से फ़िल्टर करने का विकल्प।
  • get_exposure_details: (पदावनत — इसके बजाय get_node_details का उपयोग करें)
  • get_exposures: सभी एक्सपोज़र (डाउनस्ट्रीम डैशबोर्ड, ऐप्स या विश्लेषण) प्राप्त करता है।
  • get_lineage: प्रकार और गहराई फ़िल्टरिंग के साथ पूर्ण वंशावली ग्राफ़ (पूर्वज और वंशज) प्राप्त करता है।
  • get_macro_details: (पदावनत — इसके बजाय get_node_details का उपयोग करें)
  • get_mart_models: सभी मार्ट मॉडल प्राप्त करता है।
  • get_model_children: (पदावनत — इसके बजाय get_lineage का उपयोग करें)
  • get_model_details: (पदावनत — इसके बजाय get_node_details का उपयोग करें)
  • get_model_health: स्वास्थ्य संकेत प्राप्त करता है: रन स्थिति, परीक्षण परिणाम और अपस्ट्रीम स्रोत ताज़गी।
  • get_model_parents: (पदावनत — इसके बजाय get_lineage का उपयोग करें)
  • get_model_performance: किसी मॉडल के लिए निष्पादन इतिहास प्राप्त करता है; परीक्षण परिणाम शामिल करने का विकल्प।
  • get_node_details: किसी भी dbt संसाधन प्रकार (मॉडल, स्रोत, एक्सपोज़र, परीक्षण, सीड, स्नैपशॉट, मैक्रो, सिमेंटिक_मॉडल) के लिए पूर्ण विवरण प्राप्त करता है।
  • get_related_models: सिमेंटिक खोज का उपयोग करके समान मॉडल ढूँढता है।
  • get_seed_details: (पदावनत — इसके बजाय get_node_details का उपयोग करें)
  • get_semantic_model_details: (पदावनत — इसके बजाय get_node_details का उपयोग करें)
  • get_snapshot_details: (पदावनत — इसके बजाय get_node_details का उपयोग करें)
  • get_source_details: (पदावनत — इसके बजाय get_node_details का उपयोग करें)
  • get_test_details: (पदावनत — इसके बजाय get_node_details का उपयोग करें)
  • search: [अल्फा] dbt प्रोजेक्ट में संसाधनों की खोज करता है (आम तौर पर उपलब्ध नहीं)।

dbt CLI

अपने क्लाइंट को MCP टूलिंग के माध्यम से dbt कमांड का उपयोग करने की अनुमति देना आपके डेटा मॉडल, स्रोतों और वेयरहाउस ऑब्जेक्ट्स को संशोधित कर सकता है। केवल तभी आगे बढ़ें यदि आप क्लाइंट पर भरोसा करते हैं और संभावित प्रभाव को समझते हैं।

  • build: DAG क्रम में मॉडल, परीक्षण, स्नैपशॉट और सीड निष्पादित करता है।
  • clone: निर्दिष्ट स्थिति से चयनित नोड्स को लक्ष्य स्कीमा में क्लोन करता है।
  • compile: मॉडल/परीक्षण/विश्लेषण से निष्पादन योग्य SQL उत्पन्न करता है; Jinja लॉजिक को मान्य करने के लिए उपयोगी।
  • docs: dbt प्रोजेक्ट के लिए दस्तावेज़ीकरण उत्पन्न करता है।
  • get_lineage_dev: प्रकार और गहराई फ़िल्टरिंग के साथ स्थानीय manifest.json से वंशावली प्राप्त करता है।
  • get_node_details_dev: स्थानीय manifest.json से नोड विवरण प्राप्त करता है (मॉडल, सीड, स्नैपशॉट, स्रोत)।
  • list: चयनकर्ता समर्थन के साथ प्रकार के अनुसार dbt प्रोजेक्ट में संसाधनों को सूचीबद्ध करता है।
  • parse: सिंटैक्स शुद्धता के लिए प्रोजेक्ट फ़ाइलों को पार्स और मान्य करता है।
  • run: डेटाबेस में उन्हें मूर्त रूप देने के लिए मॉडल निष्पादित करता है।
  • show: डेटाबेस के विरुद्ध SQL निष्पादित करता है और परिणाम लौटाता है।
  • test: डेटा और मॉडल अखंडता को मान्य करने के लिए परीक्षण चलाता है।

व्यवस्थापक API

dbt व्यवस्थापक API के बारे में अधिक जानने के लिए, यहाँ क्लिक करें।

  • cancel_job_run: चल रहे कार्य को रद्द करता है।
  • get_job_details: ट्रिगर, शेड्यूल और dbt कमांड सहित कार्य कॉन्फ़िगरेशन प्राप्त करता है।
  • get_job_run_details: स्थिति, समय, चरण और आर्टिफैक्ट सहित रन विवरण प्राप्त करता है।
  • get_job_run_error: कार्य रन के लिए त्रुटि और/या चेतावनी विवरण प्राप्त करता है; केवल चेतावनियाँ शामिल करने या दिखाने का विकल्प।
  • list_job_run_artifacts: कार्य रन से उपलब्ध आर्टिफैक्ट सूचीबद्ध करता है।
  • list_jobs: dbt Platform खाते में कार्यों को सूचीबद्ध करता है; प्रोजेक्ट या वातावरण द्वारा फ़िल्टर करने का विकल्प।
  • list_jobs_runs: कार्य रन सूचीबद्ध करता है; कार्य, स्थिति या फ़ील्ड द्वारा ऑर्डर करने के लिए फ़िल्टर करने का विकल्प।
  • list_projects: dbt Platform खाते में सभी प्रोजेक्ट सूचीबद्ध करता है।
  • retry_job_run: विफल कार्य रन का पुनः प्रयास करता है।
  • trigger_job_run: कार्य रन ट्रिगर करता है; git शाखा, स्कीमा या अन्य सेटिंग्स को ओवरराइड करने का विकल्प।

dbt कोडजेन

ये उपकरण dbt प्रोजेक्ट फ़ाइलों के लिए बॉयलरप्लेट कोड जनरेशन को स्वचालित करने में मदद करते हैं।

  • generate_model_yaml: कॉलम के साथ मॉडल YAML उत्पन्न करता है; अपस्ट्रीम विवरण इनहेरिट करने का विकल्प।
  • generate_source: डेटाबेस स्कीमा का आत्मनिरीक्षण करके स्रोत YAML उत्पन्न करता है; कॉलम शामिल करने का विकल्प।
  • generate_staging_model: स्रोत तालिका से स्टेजिंग मॉडल SQL उत्पन्न करता है।

dbt LSP

उन्नत SQL संकलन और स्तंभ-स्तरीय वंशावली विश्लेषण के लिए फ्यूज़न इंजन का लाभ उठाने वाले उपकरणों का एक सेट।

  • fusion.compile_sql: dbt Platform के माध्यम से प्रोजेक्ट संदर्भ में SQL संकलित करता है।
  • fusion.get_column_lineage: dbt Platform के माध्यम से स्तंभ-स्तरीय वंशावली का पता लगाता है।
  • get_column_lineage: स्थानीय रूप से स्तंभ-स्तरीय वंशावली का पता लगाता है (dbt Labs VSCE के माध्यम से dbt-lsp की आवश्यकता है)।

उत्पाद दस्तावेज़

docs.getdbt.com पर आधिकारिक dbt दस्तावेज़ीकरण से सामग्री खोजने और प्राप्त करने के उपकरण।

  • get_product_doc_pages: पथ या URL द्वारा एक या अधिक docs.getdbt.com पृष्ठों की पूर्ण Markdown सामग्री प्राप्त करता है।
  • search_product_docs: किसी क्वेरी से मेल खाने वाले पृष्ठों के लिए docs.getdbt.com खोजता है; प्रासंगिकता के आधार पर रैंक किए गए शीर्षक, URL और विवरण लौटाता है। पूर्ण सामग्री प्राप्त करने के लिए get_product_doc_pages का उपयोग करें।

MCP सर्वर मेटाडेटा

ये उपकरण MCP सर्वर के बारे में जानकारी प्रदान करते हैं।

  • get_mcp_server_branch: चल रहे dbt MCP सर्वर की वर्तमान git शाखा लौटाता है।
  • get_mcp_server_version: dbt MCP सर्वर का वर्तमान संस्करण लौटाता है।

उदाहरण

आमतौर पर, आप dbt MCP सर्वर को Claude या Cursor जैसे एजेंट उत्पाद से कनेक्ट करेंगे। हालाँकि, यदि आप अपना स्वयं का एजेंट बनाने में रुचि रखते हैं, तो आरंभ करने के तरीके के लिए उदाहरण निर्देशिका देखें।

निर्भरताएँ

निर्भरताएँ विशिष्ट संस्करणों पर पिन की जाती हैं और स्वचालित रूप से अपडेट नहीं की जाती हैं। केवल सुरक्षा-संबंधी निर्भरता अपडेट स्वचालित पुल अनुरोधों के माध्यम से सबमिट किए जाते हैं।

योगदान

शामिल होने के निर्देशों के लिए CONTRIBUTING.md पढ़ें!