dbt

आधिकारिक

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

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

  • क्वेरी मेट्रिक्स — query_metrics के माध्यम से फ़िल्टरिंग और ग्रुपिंग के साथ मेट्रिक क्वेरी चलाने के लिए सहायक से कहें, या list_metrics के साथ परिभाषित मेट्रिक्स की सूची बनाएँ।
  • मॉडल वंशावली का अन्वेषण करें — get_lineage का उपयोग करके प्रकार, गहराई और दिशा फ़िल्टर के साथ एक सीमित वंशावली ग्राफ़ का अनुरोध करें।
  • मॉडल स्वास्थ्य जाँचें — get_model_health के साथ किसी मॉडल के लिए रन स्थिति, परीक्षण परिणाम और अपस्ट्रीम स्रोत ताज़गी के लिए कहें।
  • dbt कमांड चलाएँ — सहायक से अपने प्रोजेक्ट के विरुद्ध build, run, test, compile, या show निष्पादित करवाएँ।
  • जॉब रन प्रबंधित करें — dbt Platform जॉब रन और उनके आर्टिफ़ैक्ट्स को ट्रिगर, पुनः प्रयास, रद्द, या निरीक्षण करें।
  • बॉयलरप्लेट जनरेट करें — generate_model_yaml, generate_source, और generate_staging_model के साथ मॉडल YAML, स्रोत YAML, या स्टेजिंग मॉडल SQL बनाएँ।

दस्तावेज़

dbt MCP सर्वर

OpenSSF Best Practices

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

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

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

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

प्रतिक्रिया

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

आर्किटेक्चर

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

architecture diagram of the dbt MCP server

टूल्स

SQL

dbt Platform इन्फ्रास्ट्रक्चर पर SQL निष्पादित करने और जनरेट करने के लिए टूल्स।

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

Semantic Layer

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

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

Discovery

dbt Discovery 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: सभी mart मॉडल प्राप्त करता है।
  • 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 संसाधन प्रकार (model, source, exposure, test, seed, snapshot, macro, semantic_model) के लिए पूर्ण विवरण प्राप्त करता है।
  • 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: [Alpha] पूरे dbt प्रोजेक्ट में संसाधनों को खोजता है (सामान्य रूप से उपलब्ध नहीं)।
  • search_public_mesh_models: प्रोजेक्ट्स के बीच सार्वजनिक dbt Mesh मॉडल ढूँढता है और निर्माता की पहचान की पुष्टि करता है ताकि आप एक सत्यापित क्रॉस-प्रोजेक्ट ref बना सकें (केवल मल्टी-प्रोजेक्ट कॉन्फ़िगरेशन)।

dbt CLI

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

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

Admin API

dbt Administrative 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 Codegen

ये टूल्स 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 आवश्यक है)।

Product Docs

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

सेलेक्टर घोषणाओं और कॉन्टेक्स्ट मैपर कॉन्ट्रैक्ट्स के लिए टूल इनपुट और हल किया गया संदर्भ देखें।