Docker MCP Toolkit: गेटवे, कैटलॉग और Claude सेटअप, कदम-दर-कदम
Docker MCP Toolkit का व्यावहारिक सेटअप, पहले टॉगल से लेकर पहली टूल कॉल तक। गेटवे चालू करें, प्रोफ़ाइल बनाएँ, Catalog से साइन किए हुए सर्वर चुनें, Claude Desktop और Claude Code जोड़ें, फिर हर कंटेनर को टेस्ट करें, डीबग करें और सुरक्षित करें।
ज़्यादातर MCP सेटअप इसी तरह शुरू होते हैं। आप Claude Desktop में एक JSON ब्लॉक चिपकाते हैं, Claude Code में थोड़ा अलग वाला चिपकाते हैं, npx के ज़रिए तीसरा सर्वर लॉन्च करते हैं और एक पर्सनल एक्सेस टोकन को कॉन्फ़िग फ़ाइल में सादे टेक्स्ट में छोड़ देते हैं। जब तक सब चलता है, तब तक ठीक है। जब नहीं चलता, तो तीन फ़ाइलों में खोजना पड़ता है कि कोई टूल क्यों गायब हो गया। Docker MCP Toolkit इस झंझट की जगह एक प्रबंधित लेयर देता है: ऐसे सर्वर जो कंटेनर में चलते हैं, उन्हें उपलब्ध कराने वाला कैटलॉग, और एक एकल गेटवे जिससे Claude बात करता है। यह लेख तीनों को सेट करता है, Claude Desktop और Claude Code को जोड़ता है, और दिखाता है कि भरोसा करने से पहले हर टूल सचमुच काम कर रहा है, यह कैसे साबित करें।
Toolkit असल में क्या करता है
Toolkit Docker Desktop के अंदर रहता है। यह MCP सर्वर को अलग-थलग कंटेनर में चलाता है, उन्हें नामित प्रोफ़ाइल में समूहित करता है, और हर प्रोफ़ाइल को MCP Gateway के ज़रिए AI क्लाइंट के सामने रखता है। Claude खुद किसी सर्वर को लॉन्च नहीं करता। वह एक एंडपॉइंट से बात करता है, और गेटवे हर अनुरोध को सही कंटेनर तक पहुँचाता है।
इसका व्यावहारिक फ़ायदा अलगाव है। आपका एडिटर, आपका चैट ऐप और आपका टर्मिनल एजेंट, सब एक ही गेटवे की ओर इशारा करते हैं, जबकि सर्वर, उनके credentials और रिसोर्स सीमाएँ Docker के पास रहती हैं, हर क्लाइंट कॉन्फ़िग में कॉपी नहीं होतीं।
गेटवे को सरल शब्दों में
गेटवे को एक फ़्रंट डेस्क समझें। Claude से आने वाला हर अनुरोध वहीं पहुँचता है। गेटवे तय करता है कि कौन-सा सर्वर जवाब दे, ज़रूरत पड़ने पर उसका कंटेनर शुरू करता है, और नतीजा वापस लौटाता है। चेन छोटी है: Claude, फिर गेटवे, फिर कंटेनर वाला सर्वर।
गेटवे MIT लाइसेंस के तहत ओपन-सोर्स है और Docker CLI प्लगइन के रूप में इंस्टॉल होता है, इसलिए Toolkit चालू होते ही docker mcp --help काम करने लगता है। यह डिफ़ॉल्ट रूप से stdio पर चलता है, जो एक क्लाइंट के लिए ठीक है। जब कई क्लाइंट एक ही गेटवे चाहें, तो इसे HTTP streaming पर चलाएँ:
docker mcp gateway run --port 8080 --transport streaming
कंटेनर लेयर ही इसे साफ़-सुथरा बनाती है। Toolkit से पहले हर सर्वर को आपकी मशीन पर अपना रनटाइम चाहिए था: एक के लिए Node, अगले के लिए Python, तीसरे के लिए एक पिन किया हुआ वर्ज़न। कंटेनर वाला सर्वर अपना रनटाइम साथ लेकर चलता है, इसलिए आपके लैपटॉप को बस Docker चाहिए। किसी सर्वर को अपडेट करना या हटाना सफ़ाई का झंझट नहीं रहता, क्योंकि वह होस्ट पर कभी इंस्टॉल ही नहीं हुआ था।
Catalog, Profiles और Clients
ये तीन शब्द पूरे सिस्टम को थामे रहते हैं, और इस लेख का हर कमांड इनमें से किसी एक को छूता है।
हिस्सा
यह क्या है
इसे कहाँ छूते हैं
Catalog
कंटेनर इमेज के रूप में पैक किए गए MCP सर्वरों का चुना हुआ संग्रह
Catalog टैब, docker mcp catalog ls
Profile
एक प्रोजेक्ट या वर्कफ़्लो के लिए सर्वरों और उनकी सेटिंग्स का नामित समूह
Profiles टैब, docker mcp profile list
Client
वह AI ऐप जो जुड़ता है, जैसे Claude Desktop या Claude Code
Clients टैब, docker mcp client ls
💡 टिप: एक प्रोफ़ाइल कई क्लाइंट को सेवा दे सकती है। इसे एक बार कॉन्फ़िगर करें, और जुड़ा हर ऐप वही टूल देखता है।
इंस्टॉल करने से पहले
आपको बहुत कम चाहिए, पर हर चीज़ मायने रखती है।
Docker Desktop और Beta टॉगल
Toolkit के लिए Docker Desktop 4.62 या उसके बाद वाला वर्ज़न चाहिए, और यह एक बीटा स्विच के पीछे है:
Docker Desktop खोलें और Settings पर जाएँ।
Beta features चुनें।
Docker MCP Toolkit चालू करें।
Apply चुनें।
अब Docker Desktop मेनू में MCP Toolkit एंट्री दिखती है। अगर आपने Toolkit का पिछला वर्ज़न इस्तेमाल किया था, तो आपकी मौजूदा कॉन्फ़िगरेशन default नाम की प्रोफ़ाइल में माइग्रेट हो जाती है, इसलिए कुछ दोबारा बनाने की ज़रूरत नहीं।
कौन-से Claude क्लाइंट काम करते हैं
यहाँ दो Claude क्लाइंट मायने रखते हैं। Claude Desktop Clients टैब से एक बटन में जुड़ता है। Claude Code टर्मिनल से एक कमांड में जुड़ता है। Docker के डॉक्स Cursor, Zed और Visual Studio Code भी सूचीबद्ध करते हैं, जो तब काम आता है जब आपकी टीम अलग-अलग एडिटर इस्तेमाल करती है, क्योंकि ये सभी एक ही प्रोफ़ाइल पढ़ सकते हैं।
💡 टिप: अगर आप टर्मिनल वाला रास्ता अपनाने वाले हैं, तो शुरू करने से पहले Claude Code इंस्टॉल कर लें। इस walkthrough में आगे का कनेक्शन चेक उसके claude mcp list कमांड पर निर्भर है।
अपनी पहली प्रोफ़ाइल बनाएँ
प्रोफ़ाइल एक वर्कस्पेस है। एक रिसर्च प्रोफ़ाइल में सर्च सर्वर और नोट्स सर्वर हो सकता है, जबकि एक रिलीज़ प्रोफ़ाइल में GitHub और एक मॉनिटरिंग सर्वर होगा। इन्हें अलग रखने से Claude को सिर्फ़ वही टूल दिखते हैं जो मौजूदा काम के लिए ज़रूरी हैं।
तीन प्रोफ़ाइल लेआउट इस विचार को दिखाते हैं:
रिसर्च: बैकग्राउंड मटीरियल के लिए एक नोट्स सर्वर और लुकअप के लिए एक सर्च-स्टाइल सर्वर।
रिलीज़: पुल रिक्वेस्ट के लिए GitHub, और शिप करने से पहले जिन डैशबोर्ड को आप जाँचते हैं उनके लिए Grafana जैसा एक मॉनिटरिंग सर्वर।
सपोर्ट: Stripe जैसे पेमेंट सर्वर तक केवल-पढ़ने की पहुँच, जिसमें राइट टूल्स बंद हों।
Docker Desktop में इसे बनाएँ
MCP Toolkit खोलें और Profiles टैब चुनें।
Create profile चुनें।
एक नाम लिखें, जैसे Frontend development।
अभी सर्वर और क्लाइंट जोड़ें, या दोनों छोड़कर बाद में करें।
placeholder की जगह अपने कैटलॉग के किसी सर्वर का reference लिखें। रखरखाव के लिए तीन और सबकमांड हैं:
docker mcp profile server add और remove सर्वर की सूची बदलते हैं।
docker mcp profile config <id> --set (या --get, --del) किसी प्रोफ़ाइल की सेटिंग बदलता है।
docker mcp profile tools <id> --enable (या --disable) नियंत्रित करता है कि Claude कौन-से टूल कॉल कर सकता है।
कैटलॉग से सर्वर चुनें
Docker MCP Catalog में सैकड़ों सर्वर हैं। Docker के अपने पेज एक जगह संख्या 200 से ज़्यादा और दूसरी जगह 300 से ज़्यादा बताते हैं, जिससे लगता है कि यह बढ़ता रहता है। इसे Catalog टैब से ब्राउज़ करें, Add to चुनें और अपनी प्रोफ़ाइल चुनें। Configuration Required वाले सर्वरों को काम करने से पहले एक credential या सेटिंग चाहिए।
Verified, Docker-built और Remote
कैटलॉग में तीन तरह के सर्वर मिलते हैं:
वेरिफ़ाइड पार्टनर सर्वर New Relic, Stripe और Grafana जैसी कंपनियों के, जो प्रोवेनेंस और SBOM मेटाडेटा के साथ प्रकाशित हैं।
Docker-built सर्वर, जिन्हें Docker ने बनाया और साइन किया है, जो स्थानीय रूप से चलते हैं और Docker Hub पर mcp नेमस्पेस में रहते हैं।
रिमोट सर्वर जो क्लाउड में होस्ट होते हैं, जैसे GitHub और Notion।
💡 टिप: जिन टीमों को ज़्यादा सख़्त नियंत्रण चाहिए, वे एक कस्टम कैटलॉग बनाकर docker mcp catalog pull <oci-reference> से इम्पोर्ट कर सकती हैं, ताकि लोग सिर्फ़ मंज़ूरी-प्राप्त सर्वर देखें।
पहले कौन-से सर्वर जोड़ें
छोटे से शुरू करें। हर सर्वर जोड़ने पर Claude के सामने टूल का विवरण बढ़ता है, और कसी हुई प्रोफ़ाइल उसके चुनाव को और सटीक रखती है। चार आसान शुरुआती विकल्प:
लक्ष्य
आज़माने वाला सर्वर
प्रकार
Pull requests की समीक्षा
GitHub
रिमोट सर्वर
टीम के नोट्स खोजें
Notion
रिमोट सर्वर
डैशबोर्ड जाँचें
Grafana
वेरिफ़ाइड पार्टनर
Payments देखें
Stripe
वेरिफ़ाइड पार्टनर
Secrets और OAuth
GitHub जैसे Remote servers OAuth इस्तेमाल करते हैं। Docker एक ब्राउज़र विंडो खोलता है, आप एक्सेस को मंज़ूरी देते हैं, और credential JSON में चिपकाने के बजाय Docker द्वारा प्रबंधित रहता है। जिन सर्वरों को स्थिर secrets चाहिए, उनके विकल्प देखने के लिए docker mcp secret --help चलाएँ, और authorization कमांड के लिए docker mcp oauth --help। Docker के डॉक्स में यह भी लिखा है कि संवेदनशील जानकारी वाले requests ब्लॉक कर दिए जाते हैं।
💡 टिप: किसी चैट विंडो या साझा कॉन्फ़िग में असली टोकन कभी न चिपकाएँ। अगर कोई सर्वर इसे माँगे, तो उसे Toolkit के ज़रिए स्टोर करें।
Claude Desktop और Claude Code जोड़ें
दो क्लिक में Claude Desktop
Docker Desktop में MCP Toolkit खोलें और Clients टैब चुनें।
Claude Desktop ढूँढें और Connect चुनें।
Claude Desktop दोबारा शुरू करें।
रीस्टार्ट के बाद Search and tools मेनू खोलें। MCP_DOCKER नाम की एंट्री दिखनी चाहिए और चालू होनी चाहिए। आपकी प्रोफ़ाइल का हर सर्वर अब उसी एक एंट्री के पीछे है।
टर्मिनल से Claude Code
Claude Code एक ही कमांड से जुड़ता है:
docker mcp client connect claude-code --global
claude mcp list
दूसरे कमांड से MCP_DOCKER: docker mcp gateway run - ✓ Connected जैसी एक लाइन छपनी चाहिए। किसी क्लाइंट को सब कुछ की जगह एक प्रोफ़ाइल से बाँधने के लिए connect कमांड --profile स्वीकार करता है, जैसे docker mcp client connect vscode --profile my_profile। सामान्य रूप docker mcp client connect [client-name] --profile [id] है।
--global फ़्लैग कनेक्शन को मौजूदा प्रोजेक्ट के बजाय सिस्टम-वाइड लागू करता है, जो निजी मशीन के लिए ठीक है। जब एक ही repository का अपना टूल सेट होना चाहिए, तो इसे छोड़ दें।
मैनुअल JSON फ़ॉलबैक
कुछ क्लाइंट अपनी JSON फ़ाइल पढ़ते हैं और उनमें connect बटन नहीं होता। गेटवे को stdio सर्वर के रूप में जोड़ें:
अपने क्लाइंट द्वारा दस्तावेज़ित टॉप-लेवल property नाम से मिलाएँ, क्योंकि कुछ क्लाइंट वह mcpServers माँगते हैं, जहाँ यह स्निपेट servers लिखता है। एक एंट्री उन अलग-अलग सर्वर ब्लॉकों की जगह लेती है जो पहले थे।
क्योंकि गेटवे आपके टूल एक जगह रखता है, क्लाइंट बदलने पर इनमें से कुछ भी दोबारा नहीं बनाना पड़ता। Claude Desktop से Claude Code पर जाएँ, और वही प्रोफ़ाइल आपके साथ चलती है।
टेस्ट करें, डीबग करें और सुरक्षित करें
कनेक्शन जाँचें
एक ऐसा प्रॉम्प्ट चलाएँ जो असली टूल कॉल करवाए। Docker का अपना उदाहरण अच्छा काम करता है: "Use the GitHub MCP server to show me my open pull requests." अगर Claude आपके अकाउंट के डेटा के साथ जवाब देता है, तो पूरी चेन काम कर रही है। निचले स्तर का नज़रिया देखने के लिए docker mcp tools ls गेटवे के अभी उपलब्ध हर टूल की सूची देता है, और docker mcp client ls दिखाता है कि कौन-से क्लाइंट जुड़े हैं।
तीन चरणों में टेस्ट करें। पहले, Claude से पूछें कि उसे कौन-से टूल दिख रहे हैं; इससे पता चलता है कि प्रोफ़ाइल लोड हुई। दूसरे, कोई read-only टूल कॉल करें, जैसे pull requests की सूची; इससे पता चलता है कि credentials काम करते हैं। तीसरे, और सिर्फ़ तभी, कोई ऐसा action आज़माएँ जो कुछ बदलता है, और यह किसी throwaway repository या टेस्ट वर्कस्पेस में करें, ताकि टाइपो से कोई नुकसान न हो।
धीमी पहली शुरुआत ठीक करें
गेटवे को शुरू होने में लगभग 15 से 25 सेकंड लगते हैं। ज़्यादातर "यह टूटा हुआ है" वाले पल असल में "अभी जाग रहा है" होते हैं। कुछ बदलने से पहले आधा मिनट रुकें, फिर यह टेबल देखें।
लक्षण
संभावित कारण
समाधान
Claude Desktop में MCP_DOCKER गायब
ऐप रीस्टार्ट नहीं हुआ
Claude Desktop बंद करके दोबारा खोलें
बूट के ठीक बाद कनेक्ट नहीं
गेटवे अभी शुरू हो रहा है
रुकें, फिर claude mcp list दोबारा चलाएँ
सर्वर Configuration Required दिखाता है
credential या OAuth मंज़ूरी गायब
Catalog टैब में सेटअप पूरा करें
एक सर्वर के टूल गायब
प्रोफ़ाइल में टूल बंद हैं
docker mcp profile tools से उन्हें दोबारा चालू करें
सीमाएँ, Allowlists और Dynamic Tools
Docker डिफ़ॉल्ट रूप से guardrails लगाता है। हर सर्वर कंटेनर 1 CPU और 2 GB memory तक सीमित रहता है, filesystem एक्सेस तब तक बंद रहता है जब तक आप उसे न दें, और mcp namespace की इमेज डिजिटल रूप से साइन की हुई होती हैं। प्रोफ़ाइल के अंदर, एक tool allowlist यह सीमित करती है कि Claude कौन-सा टूल बिल्कुल कॉल कर सकता है।
एक फ़ीचर पर जानबूझकर फ़ैसला लेना चाहिए। Dynamic MCP Claude को कैटलॉग खोजने और बातचीत के बीच में सर्वर जोड़ने देता है, उन मैनेजमेंट टूल्स के ज़रिए जो गेटवे दिखाता है: mcp-find, mcp-add, mcp-config-set, mcp-remove, mcp-exec, और एक प्रायोगिक code-mode। यह Toolkit के साथ अपने-आप चालू होता है। अगर आपको तय टूल सेट चाहिए, तो इसे बंद करें:
docker mcp feature disable dynamic-tools
बाद में इसे docker mcp feature enable dynamic-tools से फिर चालू करें।
PicassoIA पर Sonnet 5 कैसे इस्तेमाल करें
सेटअप के काम में बहुत सारा पढ़ने वाला टेक्स्ट बनता है: error आउटपुट, प्रोफ़ाइल कमांड, टीममेट के लिए नोट्स। Claude Sonnet 5 PicassoIA पर लार्ज लैंग्वेज मॉडल कलेक्शन में है और ठीक यही संभालता है। यह सादा अनुरोध या stack trace पढ़ता है, screenshot स्वीकार करता है, और ऐसे कमांड या फ़िक्स लौटाता है जिन्हें आप Docker के डॉक्स से मिलाकर जाँच सकते हैं।
अपनी समस्या Prompt में पेस्ट करें: सही एरर टेक्स्ट, या claude mcp list का आउटपुट।
एक effort लेवल चुनें। low डिफ़ॉल्ट है और एक्सटेंडेड थिंकिंग को छोड़ देता है, इसलिए जवाब जल्दी आते हैं। कई फ़ाइलों में फैली उलझी हुई समस्या के लिए इसे high या max पर बढ़ाएँ।
अगर समस्या विज़ुअल है, तो Image में Docker Desktop स्क्रीन का स्क्रीनशॉट जोड़ें।
एक बार System Prompt जोड़ें, जैसे "आप एक DevOps असिस्टेंट हैं। सटीक docker mcp कमांड और संदर्भ का एक वाक्य लिखकर जवाब दें।"
लंबे जवाबों के लिए Max Tokens को 8192 पर रहने दें, और इसे चलाएँ।
सेटिंग
यह क्या करती है
सुझाया गया मान
Effort
जवाब से पहले कितनी थिंकिंग होगी, यह तय करती है
लुकअप के लिए low, डीबगिंग के लिए high
Image
अनुरोध में स्क्रीनशॉट भेजता है
काटी हुई Docker Desktop विंडो
System Prompt
सेशन के लिए भूमिका और टोन तय करता है
एक छोटा DevOps असिस्टेंट ब्रीफ़
Max Tokens
जवाब की लंबाई की सीमा तय करता है
8192
💡 टिप: Sonnet 5 आपकी मशीन नहीं देख सकता। उसके कमांड को ड्राफ़्ट मानें और चलाने से पहले हर एक को Docker के दस्तावेज़ से मिलाएँ।
प्लेटफ़ॉर्म के दूसरे मॉडल अलग तरह के काम के ढंग के लिए फ़िट बैठते हैं। Claude Fable 5 कठिन coding कामों के लिए है, GPT 5.6 Sol जटिल कोड सँभालता है, Gemini 3.1 Pro लंबे multimodal सवालों को संभालता है, और Kimi K2.6 agent काम के लिए बना है।
अपनी इमेज के साथ आज़माएँ
जब Claude एक गेटवे के ज़रिए आपके सर्वरों तक पहुँच जाए, तो अगला कदम उन वर्कफ़्लो को देखने के लिए कुछ देना है। GitHub सर्वर release notes का ड्राफ़्ट बना सकता है, Notion सर्वर brief रख सकता है, और एक इमेज मॉडल उसी सेशन में header फ़ोटो बना सकता है।
Picasso IA खोलें, एक मॉडल चुनें, और एक दृश्य का वर्णन ऐसे करें जैसे किसी फ़ोटोग्राफ़र को ब्रीफ़ कर रहे हों: सब्जेक्ट, एंगल, रोशनी, लेंस। कुछ variations जनरेट करें, जो आपके लेख से मेल खाए उसे रखें, और उसे डालें। पहली इमेज में एक मिनट लगता है, और दूसरी में उससे कम लगता है।