ZenML MCP Server
आधिकारिकअपने MLOps और LLMOps पाइपलाइनों के साथ अपने ZenML MCP सर्वर के माध्यम से बातचीत करें
दस्तावेज़
ZenML के लिए MCP सर्वर
यह प्रोजेक्ट ZenML API के साथ इंटरैक्ट करने के लिए एक https://modelcontextprotocol.io/introduction सर्वर लागू करता है।

MCP क्या है?
मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) एक खुला प्रोटोकॉल है जो मानकीकृत करता है कि एप्लिकेशन बड़े भाषा मॉडलों (LLMs) को संदर्भ कैसे प्रदान करते हैं। यह "AI अनुप्रयोगों के लिए USB-C पोर्ट" की तरह काम करता है - AI मॉडलों को विभिन्न डेटा स्रोतों और उपकरणों से जोड़ने का एक मानकीकृत तरीका प्रदान करता है।
MCP क्लाइंट-सर्वर आर्किटेक्चर का पालन करता है जहाँ:
- MCP होस्ट: क्लॉड डेस्कटॉप या IDE जैसे प्रोग्राम जो MCP के माध्यम से डेटा एक्सेस करना चाहते हैं
- MCP क्लाइंट: प्रोटोकॉल क्लाइंट जो सर्वरों के साथ 1:1 कनेक्शन बनाए रखते हैं
- MCP सर्वर: हल्के प्रोग्राम जो मानकीकृत प्रोटोकॉल के माध्यम से विशिष्ट क्षमताओं को उजागर करते हैं
- स्थानीय डेटा स्रोत: आपके कंप्यूटर की फ़ाइलें, डेटाबेस और सेवाएँ जिन्हें MCP सर्वर सुरक्षित रूप से एक्सेस कर सकते हैं
- दूरस्थ सेवाएँ: इंटरनेट पर उपलब्ध बाहरी सिस्टम जिनसे MCP सर्वर जुड़ सकते हैं
ZenML क्या है?
ZenML ML और AI पाइपलाइनों के निर्माण और प्रबंधन के लिए एक ओपन-सोर्स प्लेटफ़ॉर्म है। यह डेटा, मॉडल और प्रयोगों के प्रबंधन के लिए एक एकीकृत इंटरफ़ेस प्रदान करता है।
अधिक जानकारी के लिए, ZenML वेबसाइट और हमारे दस्तावेज़ देखें।
विशेषताएँ
सर्वर ZenML सर्वर से मुख्य रीड कार्यक्षमता तक पहुँचने के लिए MCP उपकरण प्रदान करता है, जो निम्नलिखित के बारे में लाइव जानकारी प्राप्त करने का तरीका प्रदान करता है:
मुख्य इकाइयाँ
- उपयोगकर्ता - उपयोगकर्ता खाते और अनुमतियाँ
- स्टैक - इंफ्रास्ट्रक्चर कॉन्फ़िगरेशन
- स्टैक घटक - व्यक्तिगत स्टैक बिल्डिंग ब्लॉक
- फ्लेवर - उपलब्ध घटक प्रकार
- सेवा कनेक्टर - क्लाउड प्रमाणीकरण
पाइपलाइन निष्पादन
- पाइपलाइन - पाइपलाइन परिभाषाएँ
- पाइपलाइन रन - निष्पादन इतिहास और स्थिति
- पाइपलाइन चरण - व्यक्तिगत चरण विवरण, कोड और लॉग
- शेड्यूल - स्वचालित रन शेड्यूल
- आर्टिफैक्ट - डेटा आर्टिफैक्ट के बारे में मेटाडेटा (स्वयं डेटा नहीं)
परिनियोजन और सर्विंग
- स्नैपशॉट - फ्रोजन पाइपलाइन कॉन्फ़िगरेशन ("क्या चलाना/सर्व करना है" आर्टिफैक्ट)
- परिनियोजन - स्थिति, URL और लॉग के साथ रनटाइम सर्विंग इंस्टेंस
- सेवाएँ - मॉडल सर्विंग एंडपॉइंट
संगठन और खोज
- प्रोजेक्ट - ZenML संसाधनों के लिए संगठनात्मक कंटेनर
- टैग - खोज के लिए क्रॉस-कटिंग मेटाडेटा लेबल
- बिल्ड - इमेज और कोड जानकारी के साथ पाइपलाइन बिल्ड आर्टिफैक्ट
मॉडल
- मॉडल - ML मॉडल रजिस्ट्री प्रविष्टियाँ
- मॉडल संस्करण - संस्करणित मॉडल आर्टिफैक्ट
पदावनत (माइग्रेशन अनुशंसित)
पाइपलाइन रन टेम्प्लेट→ इसके बजाय स्नैपशॉट का उपयोग करें (देखें माइग्रेशन गाइड)
सर्वर आपको स्नैपशॉट (पसंदीदा) या रन टेम्प्लेट (पदावनत) का उपयोग करके नए पाइपलाइन रन ट्रिगर करने की भी अनुमति देता है।
नोट: हम उपयोगकर्ता प्रतिक्रिया के आधार पर इस एकीकरण में लगातार सुधार कर रहे हैं। कृपया अपना अनुभव साझा करने और इसे और बेहतर बनाने में हमारी मदद करने के लिए हमारे Slack समुदाय से जुड़ें!
उपलब्ध उपकरण
MCP सर्वर निम्नलिखित उपकरणों को उजागर करता है, जो श्रेणी के अनुसार समूहीकृत हैं:
पाइपलाइन निष्पादन (v1.2 में नया)
| उपकरण | विवरण |
|---|---|
get_snapshot | नाम/ID द्वारा एक फ्रोजन पाइपलाइन कॉन्फ़िगरेशन प्राप्त करें |
list_snapshots | फ़िल्टर के साथ स्नैपशॉट सूचीबद्ध करें (रनेबल, डिप्लॉयेबल, डिप्लॉयड, टैग) |
get_deployment | परिनियोजन की रनटाइम स्थिति और URL प्राप्त करें |
list_deployments | फ़िल्टर के साथ परिनियोजन सूचीबद्ध करें (स्थिति, पाइपलाइन, टैग) |
get_deployment_logs | परिनियोजन से सीमित लॉग प्राप्त करें (tail=100 डिफ़ॉल्ट, अधिकतम 1000) |
trigger_pipeline | पाइपलाइन रन ट्रिगर करें (snapshot_name_or_id पैरामीटर को प्राथमिकता दें) |
संगठन (v1.2 में नया)
| उपकरण | विवरण |
|---|---|
get_active_project | वर्तमान में सक्रिय प्रोजेक्ट प्राप्त करें |
get_project | नाम/ID द्वारा प्रोजेक्ट विवरण प्राप्त करें |
list_projects | सभी प्रोजेक्ट सूचीबद्ध करें |
get_tag | टैग विवरण प्राप्त करें (अनन्य, रंग) |
list_tags | फ़िल्टर के साथ टैग सूचीबद्ध करें (resource_type) |
get_build | बिल्ड विवरण प्राप्त करें (इमेज, कोड एम्बेडिंग) |
list_builds | फ़िल्टर के साथ बिल्ड सूचीबद्ध करें (is_local, contains_code) |
मुख्य इकाइयाँ
| उपकरण | विवरण |
|---|---|
get_user, list_users, get_active_user | उपयोगकर्ता प्रबंधन |
get_stack, list_stacks | स्टैक कॉन्फ़िगरेशन |
get_stack_component, list_stack_components | स्टैक घटक |
get_flavor, list_flavors | घटक फ्लेवर |
get_service_connector, list_service_connectors | क्लाउड कनेक्टर |
get_pipeline_run, list_pipeline_runs | पाइपलाइन रन |
get_run_step, list_run_steps | चरण विवरण |
get_step_logs, get_step_code | चरण लॉग और स्रोत कोड |
list_pipelines, get_pipeline_details | पाइपलाइन परिभाषाएँ |
get_schedule, list_schedules | शेड्यूल |
list_artifacts | आर्टिफैक्ट मेटाडेटा |
list_secrets | गुप्त नाम (मान नहीं) |
get_service, list_services | मॉडल सेवाएँ |
get_model, list_models | मॉडल रजिस्ट्री |
get_model_version, list_model_versions | मॉडल संस्करण |
इंटरैक्टिव ऐप्स (प्रायोगिक)
| उपकरण | विवरण |
|---|---|
open_pipeline_run_dashboard | इंटरैक्टिव पाइपलाइन रन डैशबोर्ड खोलें (MCP ऐप) |
open_run_activity_chart | 30-दिन की रन गतिविधि बार चार्ट खोलें (MCP ऐप) |
विश्लेषण उपकरण
| उपकरण | विवरण |
|---|---|
stack_components_analysis | स्टैक घटक उपयोग का विश्लेषण करें |
recent_runs_analysis | हाल के पाइपलाइन रन का विश्लेषण करें |
most_recent_runs | N सबसे हाल के रन प्राप्त करें |
निदान
| उपकरण | विवरण |
|---|---|
diagnose_zenml_setup | सर्वर सेटअप का निदान करें (env vars, SDK, कनेक्टिविटी, प्रमाणीकरण)। गलत कॉन्फ़िगर होने पर भी काम करता है। |
पदावनत उपकरण
| उपकरण | प्रतिस्थापन |
|---|---|
get_run_template | इसके बजाय get_snapshot का उपयोग करें |
list_run_templates | इसके बजाय list_snapshots का उपयोग करें |
trigger_pipeline(template_id=...) | इसके बजाय trigger_pipeline(snapshot_name_or_id=...) का उपयोग करें |
माइग्रेशन: रन टेम्प्लेट → स्नैपशॉट
परिवर्तन क्यों? ZenML ने अपनी "रनेबल पाइपलाइन आर्टिफैक्ट" अवधारणा को विकसित किया। रन टेम्प्लेट अब पदावनत रैपर हैं जो आंतरिक रूप से केवल स्नैपशॉट की ओर इशारा करते हैं। नए कोड को सीधे स्नैपशॉट का उपयोग करना चाहिए।
त्वरित माइग्रेशन गाइड
| पुराना पैटर्न (टेम्प्लेट) | नया पैटर्न (स्नैपशॉट) |
|---|---|
list_run_templates() | list_snapshots(runnable=True, named_only=True) |
get_run_template(name) | get_snapshot(name, include_config_schema=True) |
trigger_pipeline(template_id=...) | trigger_pipeline(snapshot_name_or_id=...) |
उदाहरण वर्कफ़्लो (स्नैपशॉट-प्रथम)
1. Discover project context:
→ get_active_project()
2. Find runnable snapshots:
→ list_snapshots(runnable=True, named_only=True)
3. Trigger a run:
→ trigger_pipeline(pipeline_name_or_id="my-pipeline", snapshot_name_or_id="my-snapshot")
4. Check deployments:
→ list_deployments(status="running")
→ get_deployment_logs(name_id_or_prefix="my-deployment", tail=100)
नोट: get_deployment_logs सीमित आउटपुट लौटाता है (डिफ़ॉल्ट 100 पंक्तियाँ, अधिकतम 1000, 100KB पर सीमित) और इसके लिए उपयुक्त डिप्लॉयर इंटीग्रेशन स्थापित होना आवश्यक है।
डैशबोर्ड के माध्यम से त्वरित सेटअप (अनुशंसित)
ZenML MCP सर्वर सेट अप करने का सबसे आसान तरीका आपके ZenML डैशबोर्ड के MCP सेटिंग्स पेज के माध्यम से है।

अपने ZenML डैशबोर्ड में Settings → MCP पर नेविगेट करें:
- आपके विशिष्ट सर्वर URL और क्रेडेंशियल्स के लिए पूर्व-कॉन्फ़िगर स्निपेट
- समर्थित IDE के लिए डीप लिंक के माध्यम से एक-क्लिक इंस्टॉलेशन
- VS Code, Claude Desktop, Cursor, Claude Code, OpenAI Codex और अधिक के लिए कॉपी-पेस्ट कॉन्फ़िगरेशन
- आपकी पसंद के आधार पर Docker और uv विकल्प
ZenML Pro उपयोगकर्ता
MCP सेटिंग्स पेज आपको एक क्लिक से पर्सनल एक्सेस टोकन (PAT) जनरेट करने देता है। टोकन स्वचालित रूप से सभी जनरेटेड कॉन्फ़िगरेशन स्निपेट में शामिल हो जाता है।
ZenML OSS उपयोगकर्ता
- पहले Settings → Service Accounts के माध्यम से एक सेवा खाता टोकन बनाएँ
- टोकन को MCP सेटिंग्स पेज में पेस्ट करें
- अपने IDE के लिए जनरेटेड कॉन्फ़िगरेशन कॉपी करें
मैन्युअल सेटअप पसंद करते हैं? नीचे विस्तृत निर्देश देखें।
MCP ऐप्स (प्रायोगिक)
MCP ऐप्स क्या हैं? MCP ऐप्स इंटरैक्टिव HTML UI हैं जिन्हें MCP सर्वर सीधे AI क्लाइंट में सर्व कर सकते हैं। वे सैंडबॉक्स्ड iframes में रेंडर होते हैं और सर्वर टूल्स को द्विदिश रूप से कॉल कर सकते हैं। पूर्ण विवरण के लिए आधिकारिक घोषणा देखें।

इस सर्वर में दो प्रायोगिक MCP ऐप्स शामिल हैं:
| ऐप | उपकरण | विवरण |
|---|---|---|
| पाइपलाइन रन डैशबोर्ड | open_pipeline_run_dashboard | स्थिति, चरण विवरण और लॉग के साथ हाल के पाइपलाइन रन की इंटरैक्टिव तालिका |
| रन गतिविधि चार्ट | open_run_activity_chart | स्थिति विश्लेषण के साथ पिछले 30 दिनों में पाइपलाइन रन गतिविधि का बार चार्ट |

ये ऐप्स प्रूफ-ऑफ-कॉन्सेप्ट उदाहरणों के रूप में शामिल हैं। हम अधिक MCP ऐप्स के लिए प्रतिक्रिया और योगदान का स्वागत करते हैं। इस नई सुविधा के लिए अभी भी शुरुआती दिन हैं इसलिए हमें देखना होगा कि यह कैसे विकसित होती है। हम भविष्य में इसे और अधिक पूर्ण रूप से समर्थन करने की उम्मीद करते हैं।
समर्थित क्लाइंट
MCP ऐप्स के लिए स्ट्रीमेबल HTTP ट्रांसपोर्ट (stdio नहीं) की आवश्यकता होती है। निम्नलिखित क्लाइंट वर्तमान में MCP ऐप्स का समर्थन करते हैं:
- ✅ VS Code (इनसाइडर्स संस्करण)
- ✅ Goose
- ✅ ChatGPT (जल्द लॉन्च हो रहा है)
- ⚠️ Claude Desktop -- जनवरी 2026 के अंत तक, अभी तक ऐप्स रेंडर नहीं करता।
- ⚠️ Claude.ai (वेब) — जनवरी 2026 के अंत तक, अभी तक ऐप्स रेंडर नहीं करता।
नोट: हम लेखन के समय Claude Desktop या Claude.ai के साथ पूरी तरह से परीक्षण करने में असमर्थ थे। यदि आपको समस्याएँ आती हैं, तो कृपया उन्हें रिपोर्ट करें।
Docker के साथ MCP ऐप्स चलाना
MCP ऐप्स के लिए स्ट्रीमेबल HTTP ट्रांसपोर्ट और सार्वजनिक रूप से पहुँच योग्य URL (Claude.ai जैसे क्लाउड-होस्टेड क्लाइंट के लिए) की आवश्यकता होती है। सबसे सरल सेटअप Docker + Cloudflare टनल का उपयोग करता है:
1. Docker कंटेनर बनाएँ और चलाएँ:
docker build -t mcp-zenml:apps .
docker run --rm -d --name mcp-zenml-apps -p 8001:8001 \
-e ZENML_STORE_URL="https://your-zenml-server.example.com" \
-e ZENML_STORE_API_KEY="your-api-key" \
-e ZENML_ACTIVE_PROJECT_ID="your-project-id" \
mcp-zenml:apps --transport streamable-http --host 0.0.0.0 --port 8001 \
--disable-dns-rebinding-protection
2. Cloudflare टनल शुरू करें (क्लाउड क्लाइंट के लिए):
npx cloudflared tunnel --url http://localhost:8001
यह https://random-words.trycloudflare.com जैसा एक सार्वजनिक URL प्रिंट करता है।
3. अपने क्लाइंट को कनेक्ट करें:
- Claude Desktop या अन्य क्लाइंट में, URL के साथ MCP सर्वर जोड़ें:
https://random-words.trycloudflare.com/mcpउदा.:
{
"servers": {
"ZenML": {
"url": "https://USE-YOUR-OWN-URL.trycloudflare.com/mcp",
"type": "http"
}
},
"inputs": []
}
- AI से "पाइपलाइन रन डैशबोर्ड खोलें" या "रन गतिविधि चार्ट दिखाएँ" कहें
महत्वपूर्ण नोट:
ZENML_ACTIVE_PROJECT_IDआवश्यक है — इसके बिना, पाइपलाइन रन उपकरण "कोई प्रोजेक्ट वर्तमान में सक्रिय के रूप में सेट नहीं है" के साथ विफल हो जाएंगे--disable-dns-rebinding-protectionफ्लैग की आवश्यकता तब होती है जब रिवर्स प्रॉक्सी (cloudflared, ngrok) के पीछे चल रहा हो — यह सुरक्षित है जब प्रॉक्सी सुरक्षा संभालता है- टनल URL प्रत्येक पुनरारंभ पर बदलता है — अपने क्लाइंट एकीकरण को तदनुसार अपडेट करें
परीक्षण और गुणवत्ता आश्वासन
इस प्रोजेक्ट में यह सुनिश्चित करने के लिए स्वचालित परीक्षण शामिल है कि MCP सर्वर कार्यात्मक बना रहे:
- 🔄 स्वचालित स्मोक टेस्ट: GitHub Actions के माध्यम से हर 3 दिन में एक व्यापक स्मोक टेस्ट चलता है
- 🚨 मुद्दा निर्माण: विफल परीक्षण स्वचालित रूप से विस्तृत डिबगिंग जानकारी के साथ GitHub मुद्दे बनाते हैं
- ⚡ तेज़ CI: त्वरित निर्भरता स्थापना और परीक्षण के लिए कैशिंग के साथ UV का उपयोग करता है
- 🧪 मैन्युअल परीक्षण: आप
uv run scripts/test_mcp_server.py server/zenml_server.pyका उपयोग करके स्थानीय रूप से स्मोक टेस्ट चला सकते हैं
स्वचालित परीक्षण सत्यापित करते हैं:
- MCP प्रोटोकॉल कनेक्शन और हैंडशेक
- सर्वर आरंभीकरण और उपकरण खोज
- बुनियादी उपकरण कार्यक्षमता (जब ZenML सर्वर सुलभ हो)
- संसाधन और प्रॉम्प्ट गणना
diagnose_zenml_setupबाधित वातावरण में भी संरचित निदान लौटाता है
MCP इंस्पेक्टर के साथ डिबगिंग
इंटरैक्टिव डिबगिंग के लिए, MCP इंस्पेक्टर का उपयोग करें — एक वेब-आधारित उपकरण जो आपको वास्तविक समय में MCP उपकरणों का परीक्षण करने देता है:
# Using .env.local (recommended for development)
cp .env.local.example .env.local # Then edit with your credentials
source .env.local && npx @modelcontextprotocol/inspector \
-e ZENML_STORE_URL=$ZENML_STORE_URL \
-e ZENML_STORE_API_KEY=$ZENML_STORE_API_KEY \
-- uv run server/zenml_server.py
यह आपके क्रेडेंशियल्स पहले से भरे हुए एक वेब UI खोलता है — बस Connect पर क्लिक करें और किसी भी उपकरण का इंटरैक्टिव परीक्षण करने के लिए Tools टैब का उपयोग करें।
अधिक विस्तृत डिबगिंग निर्देशों के लिए CLAUDE.md देखें।
गोपनीयता और विश्लेषण
ZenML MCP सर्वर उत्पाद को बेहतर बनाने में हमारी मदद करने के लिए अनाम उपयोग विश्लेषण एकत्र करता है।
हम ट्रैक करते हैं:
- कौन से उपकरण उपयोग किए जाते हैं और कितनी बार
- त्रुटि दरें और प्रकार (केवल त्रुटि प्रकार, कोई संदेश नहीं)
- बुनियादी पर्यावरण जानकारी (OS, Python संस्करण, और क्या Docker/CI में चल रहा है)
- सत्र अवधि और उपकरण उपयोग पैटर्न
हम एकत्र नहीं करते:
- आपका ZenML सर्वर URL या API कुंजी
- पाइपलाइन नाम, मॉडल नाम, या कोई व्यावसायिक डेटा
- त्रुटि संदेश या स्टैक ट्रेस
- कोई व्यक्तिगत रूप से पहचान योग्य जानकारी
विश्लेषण अक्षम करने के लिए:
# Option 1
export ZENML_MCP_ANALYTICS_ENABLED=false
# Option 2
export ZENML_MCP_DISABLE_ANALYTICS=true
डिबगिंग/परीक्षण के लिए (भेजने के बजाय stderr पर ईवेंट लॉग करता है):
export ZENML_MCP_ANALYTICS_DEV=true
डॉकर उपयोगकर्ताओं के लिए: आप कंटेनर पुनरारंभ के दौरान एक सुसंगत अनाम आईडी बनाए रखने के लिए ZENML_MCP_ANALYTICS_ID सेट कर सकते हैं (यह एक मान्य UUID होना चाहिए)। यदि आप इसे सेट नहीं करते हैं और कंटेनर फाइलसिस्टम एनालिटिक्स आईडी फ़ाइल को बनाए नहीं रख सकता है, तो सर्वर ZENML_STORE_URL के हैश से प्राप्त एक नियतात्मक अनाम UUID पर वापस आ जाता है (URL स्वयं कभी भी ईवेंट गुण के रूप में नहीं भेजा जाता है)।
अतिरिक्त एनालिटिक्स विकल्प:
ZENML_MCP_ANALYTICS_SHUTDOWN_TIMEOUT_S— शटडाउन के दौरान एनालिटिक्स को समकालिक रूप से फ्लश करने का अधिकतम समय (सेकंड में) (डिफ़ॉल्ट: 1.0)
शटडाउन ट्रैकिंग पर ध्यान दें: सर्वोत्तम डिलीवरी विश्वसनीयता के लिए शटडाउन ईवेंट एक सीमित टाइमआउट के साथ समकालिक रूप से भेजे जाते हैं। हालाँकि, यदि किसी कंटेनर को SIGKILL (जैसे, docker kill) से मार दिया जाता है, तो शटडाउन हैंडलर सक्रिय नहीं हो सकते — यह एक डॉकर/ओएस सीमा है, कोई बग नहीं।
स्टार्टअप सत्यापन
आप एक हल्का स्टार्टअप डायग्नोस्टिक जाँच सक्षम कर सकते हैं:
# Print warnings but start normally
uv run server/zenml_server.py --startup-validation warn
# Exit non-zero if required setup is missing (useful in Docker/CI)
uv run server/zenml_server.py --startup-validation strict
आप इसे पर्यावरण चर के माध्यम से भी सेट कर सकते हैं: ZENML_MCP_STARTUP_VALIDATION=warn।
diagnose_zenml_setup उपकरण रनटाइम समस्या निवारण के लिए MCP उपकरण के रूप में भी उपलब्ध है — यह तब भी काम करता है जब ZenML SDK स्थापित नहीं है या पर्यावरण चर गायब हैं।
मैन्युअल सेटअप
पूर्वापेक्षाएँ
आपको एक तैनात ZenML सर्वर तक पहुँच की आवश्यकता होगी। यदि आपके पास एक नहीं है, तो आप ZenML Pro पर एक निःशुल्क परीक्षण के लिए साइन अप कर सकते हैं और हम आपके लिए तैनाती का प्रबंधन करेंगे।
सुझाव: एक बार जब आपके पास ZenML सर्वर हो, तो सबसे आसान सेटअप अनुभव के लिए अपने डैशबोर्ड में MCP सेटिंग्स पृष्ठ देखें।
संगतता: इस MCP सर्वर का परीक्षण ZenML >= 0.93.0 के साथ किया गया है और इसके लिए अनुशंसित है। यदि आप एक पुराना ZenML संस्करण चला रहे हैं, तो कृपया इस MCP सर्वर के पुराने रिलीज़ का उपयोग करें।
आपको संभवतः स्थानीय रूप से uv स्थापित करने की भी आवश्यकता होगी। अधिक जानकारी के लिए,
uv दस्तावेज़ीकरण देखें।
हम उनकी इंस्टॉलर स्क्रिप्ट के माध्यम से या यदि मैक का उपयोग कर रहे हैं तो brew के माध्यम से स्थापना की अनुशंसा करते हैं। (तकनीकी रूप से आपको इसकी आवश्यकता नहीं है, लेकिन यह स्थापना और सेटअप को आसान बनाता है।)
आपको इस रिपॉजिटरी को स्थानीय रूप से कहीं क्लोन करने की भी आवश्यकता होगी:
git clone https://github.com/zenml-io/mcp-zenml.git
आपकी MCP कॉन्फ़िग फ़ाइल
MCP कॉन्फ़िग फ़ाइल एक JSON फ़ाइल है जो MCP क्लाइंट को बताती है कि आपके MCP सर्वर से कैसे जुड़ना है। विभिन्न MCP क्लाइंट इसे अलग-अलग तरीके से उपयोग या निर्दिष्ट करेंगे। दो सामान्यतः उपयोग किए जाने वाले MCP क्लाइंट Claude Desktop और Cursor हैं, जिनके लिए हम नीचे स्थापना निर्देश प्रदान करते हैं।
आपको अपने ZenML MCP सर्वर को निम्नलिखित प्रारूप में निर्दिष्ट करना होगा:
{
"mcpServers": {
"zenml": {
"command": "/usr/local/bin/uv",
"args": ["run", "path/to/server/zenml_server.py"],
"env": {
"LOGLEVEL": "WARNING",
"NO_COLOR": "1",
"ZENML_LOGGING_COLORS_DISABLED": "true",
"ZENML_LOGGING_VERBOSITY": "WARN",
"ZENML_ENABLE_RICH_TRACEBACK": "false",
"PYTHONUNBUFFERED": "1",
"PYTHONIOENCODING": "UTF-8",
"ZENML_STORE_URL": "https://your-zenml-server-goes-here.com",
"ZENML_STORE_API_KEY": "your-api-key-here"
}
}
}
}
चार डमी मान हैं जिन्हें आपको बदलना होगा:
- आपके स्थानीय रूप से स्थापित
uvका पथ (ऊपर सूचीबद्ध पथ वह है जहाँ यह मैक पर होगा यदि आपने इसेbrewके माध्यम से स्थापित किया है) zenml_server.pyफ़ाइल का पथ (यह वह फ़ाइल है जो तब चलेगी जब आप MCP सर्वर से जुड़ेंगे)। यह फ़ाइल इस रिपॉजिटरी के रूट में स्थित है। आपको इस फ़ाइल का सटीक पूर्ण पथ निर्दिष्ट करना होगा।- ZenML सर्वर URL (यह आपके ZenML सर्वर का URL है। आप इसे ZenML क्लाउड UI में पा सकते हैं)। यह कुछ इस तरह दिखेगा
https://d534d987a-zenml.cloudinfra.zenml.io। - ZenML सर्वर API कुंजी (यह आपके ZenML सर्वर के लिए API कुंजी है। आप इसे ZenML क्लाउड UI में पा सकते हैं या https://docs.zenml.io/how-to/manage-zenml-server/connecting-to-zenml/connect-with-a-service-account कि कैसे एक बनाएँ। ZenML MCP सर्वर के प्रयोजनों के लिए हम एक सेवा खाते का उपयोग करने की अनुशंसा करते हैं।)
आप MCP सर्वर Python फ़ाइल को चलाने के तरीके को बदलने के लिए स्वतंत्र हैं, लेकिन uv का उपयोग करना संभवतः सबसे आसान विकल्प होगा क्योंकि यह आपके लिए पर्यावरण और निर्भरता स्थापना को संभालता है।
Claude Desktop के साथ उपयोग के लिए स्थापना
त्वरित विकल्प: Claude Desktop के लिए पूर्व-कॉन्फ़िगर किए गए स्थापना निर्देश और डीप लिंक प्राप्त करने के लिए अपने ZenML डैशबोर्ड (सेटिंग्स → MCP) में MCP सेटिंग्स पृष्ठ का उपयोग करें।
आपको Claude Desktop का नवीनतम संस्करण स्थापित करना होगा।
आप बस सेटिंग्स मेनू खोल सकते हैं और इस रिपॉजिटरी के रूट से mcp-zenml.mcpb फ़ाइल को मेनू पर खींच सकते हैं और यह आपको स्थापना और सेटअप प्रक्रिया के माध्यम से मार्गदर्शन करेगा। आपको अपना ZenML सर्वर URL और API कुंजी जोड़नी होगी।
नोट: MCP बंडल (.mcpb) पुराने डेस्कटॉप एक्सटेंशन (.dxt) प्रारूप को प्रतिस्थापित करते हैं; मौजूदा .dxt फ़ाइलें अभी भी Claude Desktop में काम करती हैं।
वैकल्पिक: ZenML उपकरण आउटपुट प्रदर्शन में सुधार
ZenML उपकरण परिणामों के साथ बेहतर अनुभव के लिए, आप Claude को JSON प्रतिक्रियाओं को अधिक पठनीय प्रारूप में प्रदर्शित करने के लिए कॉन्फ़िगर कर सकते हैं। Claude Desktop में, सेटिंग्स → प्रोफ़ाइल पर जाएँ, और "प्रतिक्रियाओं में Claude को किन व्यक्तिगत प्राथमिकताओं पर विचार करना चाहिए?" अनुभाग में, निम्नलिखित जैसा कुछ जोड़ें (या इन सटीक शब्दों का उपयोग करें!):
When using zenml tools which return JSON strings and you're asked a question, you might want to consider using markdown tables to summarize the results or make them easier to view!
यह Claude को ZenML उपकरण आउटपुट को मार्कडाउन तालिकाओं के रूप में प्रारूपित करने के लिए प्रोत्साहित करेगा, जिससे जानकारी को पढ़ना और समझना बहुत आसान हो जाएगा।
Cursor के साथ उपयोग के लिए स्थापना
त्वरित विकल्प: आपके ZenML डैशबोर्ड (सेटिंग्स → MCP) में MCP सेटिंग्स पृष्ठ आपके क्रेडेंशियल्स के साथ पूर्व-भरा हुआ सटीक
mcp.jsonसामग्री उत्पन्न कर सकता है।
आपको Cursor स्थापित करना होगा।
Cursor, Claude Desktop से थोड़ा अलग तरीके से काम करता है जिसमें आप प्रति-रिपॉजिटरी आधार पर कॉन्फ़िग फ़ाइल निर्दिष्ट करते हैं। इसका मतलब है कि यदि आप कई रिपो में ZenML MCP सर्वर का उपयोग करना चाहते हैं, तो आपको उनमें से प्रत्येक में कॉन्फ़िग फ़ाइल निर्दिष्ट करनी होगी।
इसे एकल रिपॉजिटरी के लिए सेट अप करने के लिए, आपको यह करना होगा:
- अपने रिपॉजिटरी के रूट में एक
.cursorफ़ोल्डर बनाएँ - इसके अंदर, उपरोक्त सामग्री के साथ एक
mcp.jsonफ़ाइल बनाएँ - अपनी Cursor सेटिंग्स में जाएँ और इसे 'सक्षम' करने के लिए ZenML सर्वर पर क्लिक करें।
हमारे अनुभव में, कभी-कभी यह एक लाल त्रुटि संकेतक दिखाता है, भले ही वह काम कर रहा हो। आप Cursor चैट विंडो में चैट करके इसे आज़मा सकते हैं। यह आपको बताएगा कि क्या यह ZenML उपकरणों तक पहुँचने में सक्षम है या नहीं।
डॉकर इमेज
आप सर्वर को डॉकर कंटेनर के रूप में चला सकते हैं। प्रक्रिया stdio पर संचार करती है, इसलिए यह MCP क्लाइंट कनेक्शन की प्रतीक्षा करेगी। अपने ZenML क्रेडेंशियल्स को पर्यावरण चर के माध्यम से पास करें।
प्रीबिल्ट इमेज (डॉकर हब)
नवीनतम मल्टी-आर्क इमेज खींचें:
docker pull zenmldocker/mcp-zenml:latest
संस्करणबद्ध रिलीज़ को X.Y.Z के रूप में टैग किया गया है:
docker pull zenmldocker/mcp-zenml:1.0.8
अपने ZenML क्रेडेंशियल्स के साथ चलाएँ (stdio मोड):
docker run -i --rm \
-e ZENML_STORE_URL="https://your-zenml-server.example.com" \
-e ZENML_STORE_API_KEY="your-api-key" \
zenmldocker/mcp-zenml:latest
डॉकर का उपयोग करके कैनोनिकल MCP कॉन्फ़िग
{
"mcpServers": {
"zenml": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "ZENML_STORE_URL=https://...",
"-e", "ZENML_STORE_API_KEY=ZENKEY_...",
"-e", "ZENML_ACTIVE_PROJECT_ID=...",
"-e", "LOGLEVEL=WARNING",
"-e", "NO_COLOR=1",
"-e", "ZENML_LOGGING_COLORS_DISABLED=true",
"-e", "ZENML_LOGGING_VERBOSITY=WARN",
"-e", "ZENML_ENABLE_RICH_TRACEBACK=false",
"-e", "PYTHONUNBUFFERED=1",
"-e", "PYTHONIOENCODING=UTF-8",
"zenmldocker/mcp-zenml:latest"
]
}
}
}
स्थानीय रूप से बिल्ड करें
रिपॉजिटरी रूट से:
docker build -t zenmldocker/mcp-zenml:local .
स्थानीय रूप से निर्मित इमेज चलाएँ:
docker run -i --rm \
-e ZENML_STORE_URL="https://your-zenml-server.example.com" \
-e ZENML_STORE_API_KEY="your-api-key" \
zenmldocker/mcp-zenml:local
MCP बंडल (.mcpb)
यह प्रोजेक्ट MCP बंडल (.mcpb) का उपयोग करता है — Anthropic के डेस्कटॉप एक्सटेंशन (DXT) का उत्तराधिकारी। MCP बंडल एक संपूर्ण MCP सर्वर (निर्भरताओं सहित) को उपयोगकर्ता के अनुकूल कॉन्फ़िगरेशन के साथ एकल फ़ाइल में पैकेज करते हैं।
नाम बदलने पर ध्यान दें: MCP बंडल पुराने .dxt प्रारूप को प्रतिस्थापित करते हैं। Claude Desktop मौजूदा .dxt फ़ाइलों के साथ पश्चगामी-संगत रहता है, लेकिन अब हम mcp-zenml.mcpb शिप करते हैं और आगे चलकर इसका उपयोग करने की अनुशंसा करते हैं।
रिपॉजिटरी रूट में mcp-zenml.mcpb फ़ाइल में ZenML MCP सर्वर चलाने के लिए आवश्यक सब कुछ शामिल है, जो जटिल मैन्युअल स्थापना चरणों की आवश्यकता को समाप्त करता है। यह तकनीकी सेटअप विशेषज्ञता की आवश्यकता के बिना उपयोगकर्ताओं के लिए शक्तिशाली ZenML एकीकरण को सुलभ बनाता है।
जब आप .mcpb फ़ाइल को Claude Desktop की सेटिंग्स में खींचते और छोड़ते हैं, तो यह स्वचालित रूप से संभालता है:
- रनटाइम निर्भरता स्थापना
- सुरक्षित कॉन्फ़िगरेशन प्रबंधन
- क्रॉस-प्लेटफ़ॉर्म संगतता
- उपयोगकर्ता के अनुकूल सेटअप प्रक्रिया
अधिक जानकारी के लिए, Anthropic की डेस्कटॉप एक्सटेंशन (DXT) की घोषणा और उनके दस्तावेज़ीकरण में संबंधित MCP बंडल पैकेजिंग मार्गदर्शन देखें: https://www.anthropic.com/engineering/desktop-extensions
Anthropic MCP रजिस्ट्री पर प्रकाशित
यह MCP सर्वर आधिकारिक Anthropic MCP रजिस्ट्री में प्रकाशित है और संगत होस्ट द्वारा खोजा जा सकता है। प्रत्येक टैग किए गए रिलीज़ पर, हमारा CI GitHub OIDC का उपयोग करके रजिस्ट्री के mcp-publisher CLI के माध्यम से रजिस्ट्री प्रविष्टि को अपडेट करता है, ताकि आप जहाँ भी रजिस्ट्री समर्थित हो (जैसे, Claude Desktop का एक्सटेंशन कैटलॉग) सीधे ZenML MCP सर्वर स्थापित या खोज सकें।
- हमेशा अद्यतित: रजिस्ट्री प्रविष्टि प्रत्येक रिलीज़ के साथ टैग किए गए कमिट के
manifest.jsonऔरserver.jsonसे ताज़ा की जाती है। - वैकल्पिक स्थापना पथ: आप अभी भी पैकेज्ड
.mcpbबंडल के माध्यम से स्थानीय रूप से स्थापित कर सकते हैं (ऊपर देखें) या डॉकर इमेज चला सकते हैं।
रजिस्ट्री के बारे में यहाँ अधिक जानें:
- Anthropic MCP रजिस्ट्री (सामुदायिक रिपो): https://github.com/modelcontextprotocol/registry