dbt

आधिकारिक

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

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

  • dbt मेट्रिक्स क्वेरी करें — list_metrics, get_dimensions, या get_metrics_compiled_sql का उपयोग करके मेट्रिक परिभाषाएँ, आयाम, या संकलित SQL पूछें।
  • प्रोजेक्ट लाइनेज एक्सप्लोर करें — get_lineage या get_related_models के साथ मॉडल निर्भरताएँ और अपस्ट्रीम/डाउनस्ट्रीम संबंधों का पता लगाएं।
  • dbt कमांड चलाएं — मॉडल को मटेरियलाइज़ करने, डेटा सत्यापित करने, या प्रोजेक्ट बनाने के लिए run, test, या build निष्पादित करें।
  • बॉयलरप्लेट कोड जनरेट करें — generate_source, generate_model_yaml, या generate_staging_model के माध्यम से सोर्स YAML, मॉडल YAML, या स्टेजिंग SQL बनाएं।
  • जॉब रन मॉनिटर करें — get_job_run_details, get_job_run_error, या list_job_run_artifacts का उपयोग करके रन स्थिति, त्रुटियाँ, या आर्टिफैक्ट जांचें।
  • नोड विवरण निरीक्षण करें — get_node_details के साथ किसी भी संसाधन प्रकार के लिए पूर्ण मेटाडेटा प्राप्त करें, जिसमें मॉडल, स्रोत और परीक्षण शामिल हैं।

दस्तावेज़

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 Issue बनाएं या #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_artifacts: जॉब रन से एक विशिष्ट आर्टिफैक्ट डाउनलोड करता है; बड़े आर्टिफैक्ट jq_filter के साथ पुनः प्रयास करने के लिए मार्गदर्शन संदेश लौटाते हैं; लक्षित निष्कर्षण के लिए jq फ़िल्टरिंग का समर्थन करता है।
  • 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 इंजन का लाभ उठाने वाले टूल का सेट।

  • 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 पढ़ें!