dbt MCP Server

आधिकारिक

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

दस्तावेज़

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_exposures: सभी एक्सपोज़र (डाउनस्ट्रीम डैशबोर्ड, ऐप्स या विश्लेषण) प्राप्त करता है।
  • get_lineage: प्रकार और गहराई फ़िल्टरिंग के साथ पूर्ण वंशावली ग्राफ (पूर्वज और वंशज) प्राप्त करता है।
  • get_macro_details: एक विशिष्ट मैक्रो के लिए विवरण प्राप्त करता है।
  • get_mart_models: सभी मार्ट मॉडल प्राप्त करता है।
  • get_model_children: एक मॉडल के डाउनस्ट्रीम आश्रितों को प्राप्त करता है।
  • get_model_details: संकलित SQL, कॉलम और स्कीमा सहित मॉडल विवरण प्राप्त करता है।
  • get_model_health: स्वास्थ्य संकेत प्राप्त करता है: रन स्थिति, परीक्षण परिणाम और अपस्ट्रीम स्रोत ताज़गी।
  • get_model_parents: एक मॉडल की अपस्ट्रीम निर्भरताएँ प्राप्त करता है।
  • get_model_performance: एक मॉडल के लिए निष्पादन इतिहास प्राप्त करता है; परीक्षण परिणाम शामिल करने का विकल्प।
  • get_related_models: सिमेंटिक खोज का उपयोग करके समान मॉडल ढूँढता है।
  • get_seed_details: एक विशिष्ट सीड के लिए विवरण प्राप्त करता है।
  • get_semantic_model_details: एक विशिष्ट सिमेंटिक मॉडल के लिए विवरण प्राप्त करता है।
  • get_snapshot_details: एक विशिष्ट स्नैपशॉट के लिए विवरण प्राप्त करता है।
  • get_source_details: कॉलम और ताज़गी सहित स्रोत विवरण प्राप्त करता है।
  • get_test_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 पढ़ें!