Windsurf MCP कॉन्फ़िग: Devin Desktop में मार्केटप्लेस और सर्वर सेटअप
Windsurf जून 2026 में Devin Desktop बन गया, और इसका MCP सेटअप दो हिस्सों में बँट गया। यह लेख बताता है कि हर कॉन्फ़िग फ़ाइल कहाँ रहती है, किस एजेंट के पास मार्केटप्लेस है, stdio और रिमोट सर्वर हाथ से कैसे जोड़ें, और ऐसा सर्वर कैसे ठीक करें जो दिखाई ही न दे, साथ में PicassoIA को एक उदाहरण के रूप में लेकर।
आप Windsurf MCP कॉन्फ़िग का ट्यूटोरियल खोजते हैं, उसे लाइन-दर-लाइन फ़ॉलो करते हैं, और जिस मार्केटप्लेस आइकन की बात वह करता है, वह आपकी स्क्रीन पर कहीं नहीं दिखता। इसमें आपकी कोई गलती नहीं है। Windsurf का नाम जून 2026 में Devin Desktop कर दिया गया, पुराने डॉक्स अब docs.devin.ai पर रीडायरेक्ट होते हैं, और नए टैब का डिफ़ॉल्ट एजेंट Cascade से बदलकर Devin Local हो गया। दोनों एजेंट MCP सर्वर अलग-अलग तरीके से सेट करते हैं, और उनमें से सिर्फ़ एक के पास मार्केटप्लेस है।
यह लेख साफ़ करता है कि आप कौन-सा सेटअप इस्तेमाल कर रहे हैं, हर कॉन्फ़िग फ़ाइल कहाँ रहती है, मार्केटप्लेस से या हाथ से सर्वर कैसे जोड़ें, और जब कोई सर्वर चुप रहे तो क्या जाँचें। यह यह भी दिखाता है कि PicassoIA के इमेज और वीडियो मॉडल MCP के ज़रिए कैसे जोड़ें, ताकि आपका एडिटर कोडिंग के दौरान एसेट बना सके। नीचे की हर कॉन्फ़िग Devin के आधिकारिक डॉक्स से है, जब तक मैं अलग से न बताऊँ। और जहाँ वे पेज आपस में मेल नहीं खाते, वहाँ मैं इसकी ओर इशारा करता हूँ।
Windsurf में क्या बदला
Windsurf अब Devin Desktop है
Cognition ने जून 2026 में एडिटर का नाम बदला। सर्च नतीजे और पुराने ट्यूटोरियल अब भी Windsurf कहते हैं, लेकिन changelog, प्रोडक्ट पेज और डॉक्स अब Devin नाम के तहत हैं। Cascade नाम legacy एजेंट के रूप में बचा है, जबकि Devin Local डिफ़ॉल्ट है।
इसी बँटवारे से कई ट्यूटोरियल गलत लगते हैं। आधिकारिक Cascade MCP पेज एक चेतावनी से शुरू होता है: उसके निर्देश सिर्फ़ legacy Cascade एजेंट पर लागू होते हैं, और Devin Local MCP सर्वर Devin CLI की कॉन्फ़िग फ़ाइलों से सेट करता है।
दो एजेंट, दो सेटअप
फ़ीचर
Legacy Cascade
Devin Local
MCP marketplace
कोई नहीं
हाँ, एक-क्लिक इंस्टॉल के साथ
सर्वर जोड़ना
Actions मेन्यू से mcp_config.json एडिट करें
मार्केटप्लेस, devin mcp add, या कॉन्फ़िग फ़ाइलें
टूल कॉल से पहले अनुमति
डिफ़ॉल्ट रूप से नहीं
डिफ़ॉल्ट रूप से पूछता है
टूल की सीमा
कुल 100 टूल
जिन पेजों को मैंने देखा, उनमें बताई नहीं गई
रिमोट सर्वर के फ़ील्ड
serverUrl या url, साथ में headers
url, साथ में transport और headers
💡 त्वरित जाँच: नए टैब डिफ़ॉल्ट रूप से Devin Local के साथ खुलते हैं। जब तक आपने जानबूझकर एजेंट न बदला हो, मान लें कि Devin Local वाला कॉलम आपके एडिटर पर लागू होता है।
कॉन्फ़िग फ़ाइल कहाँ रहती है
कुछ भी एडिट करने से पहले जानें कि आपका एजेंट कौन-सी फ़ाइल पढ़ता है। गलत फ़ाइल में सही एडिट करने से सबसे उलझाने वाली विफलता होती है: कुछ नहीं होता, और कोई शिकायत भी नहीं आती।
Legacy Cascade के पाथ
मौजूदा Cascade पेज macOS और Linux पर ~/.config/devin/mcp_config.json देता है (या जब वह वेरिएबल सेट हो, तो $XDG_CONFIG_HOME/devin/ के अंदर वही फ़ाइल), और Windows पर %APPDATA%\devin\mcp_config.json। एडिटर से इसे खोलने के लिए Cascade पैनल के ऊपर दाईं ओर ... (Actions) मेन्यू पर क्लिक करें, फिर MCPs सेक्शन में Open MCP config file चुनें।
नाम बदलने से पहले के ट्यूटोरियल कहीं और इशारा करते हैं: ~/.codeium/windsurf/mcp_config.json, या Windows पर %USERPROFILE%\.codeium\windsurf\mcp_config.json। तीसरे पक्ष के लेखों के अनुसार पुरानी फ़ाइल की एंट्री अब भी लोड होती है, लेकिन आधिकारिक पेज इसकी पुष्टि नहीं करते। पुराने पाथ को बैकअप विकल्प मानें, मुख्य योजना नहीं।
Devin Local की कॉन्फ़िग परतें
Devin Local Devin CLI की कॉन्फ़िग फ़ाइलें पढ़ता है, जो तीन परतों में आती हैं:
स्कोप
फ़ाइल
नोट्स
User
~/.config/devin/mcp_config.json या %APPDATA%\devin\mcp_config.json
हर प्रोजेक्ट पर लागू होती है
Project
.devin/mcp_config.json
रेपो में रहती है, इसलिए साझा की जा सकती है
Local override
.devin/mcp_config.local.json
gitignored है, सिर्फ़ आपकी निजी
एक पेच है: Devin Local पेज config.json फ़ाइलें उन्हीं तीन scopes के साथ सूचीबद्ध करता है, जबकि CLI पेज कहता है कि पुराने वर्ज़न (v3000.3 से पहले) mcpServers को मुख्य कॉन्फ़िग फ़ाइलों के अंदर रखते थे, और नए वर्ज़न अलग mcp_config.json इस्तेमाल करते हैं। डॉक्स इस पर एकमत नहीं हैं कि कौन-सा सही है। फ़ाइल एडिट करने से पहले devin mcp list चलाकर देखें कि आपके इंस्टॉल ने वास्तव में क्या लोड किया है।
MCP मार्केटप्लेस का इस्तेमाल
आधिकारिक Cascade पेज साफ़ कहता है: Cascade के पास MCP Marketplace या एक-क्लिक इंस्टॉल नहीं है, और ये सुविधाएँ सिर्फ़ Devin Local एजेंट के लिए हैं। अगर कोई ट्यूटोरियल कहता है कि Cascade पैनल में MCPs आइकन पर क्लिक करके Install दबाएँ, तो वह पुराने एडिटर का वर्णन कर रहा है।
इसे कहाँ खोजें
Devin Local पर रिलीज़ नोट्स साइडबार के Customize पेज की ओर इशारा करते हैं, जहाँ Plugins टैब में Browse marketplace होता है। मेन्यू के लेबल रिलीज़ के साथ बदलते रहते हैं, इसलिए अगर ये न दिखें, तो Customize से शुरू करके वहीं से खोजें।
कई लिस्टिंग एक-क्लिक OAuth इंटीग्रेशन हैं। रिलीज़ नोट्स Dropbox, ClickHouse Cloud, Typeform, Coda, GitBook, Railway, Retool, Smartsheet और Make जैसी सेवाओं का ज़िक्र करते हैं। कोई इंटीग्रेशन इंस्टॉल करने पर एक authorization URL मिलता है, आप उसे ब्राउज़र में मंज़ूर करते हैं, और सर्वर बिना किसी टोकन को फ़ाइल में चिपकाए जुड़ जाता है। अगर बाद में सेव किए गए credentials की मियाद खत्म हो जाए, तो सर्वर Needs auth स्थिति और एक Authenticate बटन दिखाता है।
कब इसे छोड़ें
मार्केटप्लेस सबसे तेज़ रास्ता है, लेकिन हमेशा सही रास्ता नहीं। कॉन्फ़िग को हाथ से एडिट करें जब:
आपको args में पैकेज का वर्ज़न पिन करना हो, ताकि सबसे नया न लिया जाए।
सर्वर इंटरनल हो और कभी किसी पब्लिक लिस्टिंग में न आए।
आप चाहते हैं कि सेटअप रेपो में कमिट हो, ताकि टीम के साथी चेकआउट पर उसे पा जाएँ।
आपको एनवायरनमेंट वेरिएबल और लॉन्च आर्गुमेंट पर पूरा नियंत्रण चाहिए।
OAuth इंस्टॉल सुविधा के बदले नियंत्रण छोड़ देते हैं: आपकी डिस्क पर कोई सीक्रेट नहीं रहता, लेकिन लॉन्च आर्गुमेंट पर आपका कोई वश नहीं होता। हाथ से लिखी एंट्री दोनों देती है, पर टोकन खुद रोटेट करने की कीमत पर।
हाथ से सर्वर जोड़ना
Stdio सर्वर का उदाहरण
Stdio सर्वर एक लोकल प्रोसेस है, जिसे एडिटर शुरू करता है और standard input और output के ज़रिए उससे बात करता है। यह आधिकारिक GitHub उदाहरण है, जिसमें टोकन एक एनवायरनमेंट वेरिएबल में रखा गया है:
command और args वही हैं जो आप टर्मिनल में टाइप करेंगे। -y फ़्लैग npx को बिना पूछे पैकेज इंस्टॉल करने देता है। env ब्लॉक प्रोसेस को पास होता है, और आपके शेल की बाकी किसी चीज़ का उस तक पहुँचना तय नहीं है।
रिमोट सर्वर का उदाहरण
रिमोट सर्वर को कमांड की जगह URL चाहिए। Legacy Cascade serverUrl या url स्वीकार करता है:
जब transport"http" हो या छोड़ दिया जाए, तो CLI पहले Streamable HTTP आज़माता है, और अगर सर्वर 404 देता है तो SSE पर लौट आता है। Cascade कुल तीन transports दर्ज करता है: stdio, Streamable HTTP और SSE, और तीनों में OAuth सपोर्ट है।
दोनों फ़ॉर्मेट के लिए फ़ील्ड का त्वरित संदर्भ यहाँ है:
फ़ील्ड
किसके द्वारा उपयोग
उद्देश्य
command, args
Stdio
शुरू करने वाला प्रोग्राम और उसके आर्गुमेंट
env
Stdio
प्रोसेस को पास किए गए वेरिएबल
serverUrl या url
Remote
जहाँ सर्वर सुनता है
transport
Remote, CLI फ़ॉर्मेट
"http" ही रहने दें ताकि पहले Streamable HTTP आज़माया जाए
headers
Remote
अतिरिक्त रिक्वेस्ट हेडर, जैसे Bearer टोकन
oauthClientId, oauthClientSecret, oauthResource
Remote, CLI फ़ॉर्मेट
OAuth की ज़रूरत वाले सर्वर के लिए सेटिंग्स
disabled
Stdio और remote, CLI फ़ॉर्मेट
एंट्री को हटाए बिना उसे बंद करता है
disabledTools
Cascade
एजेंट से अलग-अलग टूल छिपाता है
CLI कमांड और सीक्रेट
आप JSON को पूरी तरह छोड़ सकते हैं। Devin CLI इन कमांड से सर्वर संभालता है:
कमांड
यह क्या करता है
devin mcp add <name> -- <command> [args...]
एक stdio सर्वर जोड़ता है
devin mcp add <name> <URL>
एक HTTP सर्वर जोड़ता है
devin mcp list और devin mcp get
दिखाते हैं कि क्या लोड है और एक सर्वर की जाँच करते हैं
devin mcp login <name> और logout
OAuth साइन-इन शुरू या साफ़ करते हैं
devin mcp enable और disable
किसी सर्वर को चालू या बंद करते हैं
devin mcp remove <name>
एंट्री हटाता है
कॉन्फ़िग फ़ाइलें दो इंटरपोलेशन पैटर्न सपोर्ट करती हैं: ${env:VAR_NAME} एक एनवायरनमेंट वेरिएबल डालता है, और ${file:/path/to/file} किसी फ़ाइल की सामग्री डालता है, जिसके लिए ~ पाथ मान्य हैं।
💡 टिप: निजी टोकन .devin/mcp_config.local.json में रखें, जो gitignored है, और साझा .devin/mcp_config.json को सीक्रेट से मुक्त रखें। एक बार कमिट हुआ टोकन git हिस्ट्री में बना रहता है।
सीमाएँ, अनुमतियाँ और allowlists
100 टूल की सीमा
Cascade हर जुड़े सर्वर को मिलाकर कुल 100 टूल रख सकता है। बड़े सर्वर यह सीमा जल्दी भर देते हैं, और इसे पार करने पर कुछ टूल बस उपलब्ध नहीं होते। disabledTools ऐरे से वे चीज़ें हटाएँ जिनकी आपको ज़रूरत नहीं:
छोटा टूलसेट एजेंट को सही टूल चुनने में भी मदद करता है, इसलिए जिन टूल को आप कभी कॉल नहीं करते, उन्हें बंद करना सीमा के नीचे रहकर भी फ़ायदेमंद है।
Devin Local में अनुमति के प्रॉम्प्ट
यहाँ Devin Local, Cascade से अलग बर्ताव करता है। इसका डिफ़ॉल्ट कॉन्फ़िगरेशन किसी भी MCP टूल को कॉल करने से पहले अनुमति माँगता है। आप किसी एक टूल या पूरे सर्वर को अनुमति दे सकते हैं, या तो सेशन के लिए या स्थायी रूप से। Enterprise एडमिन चुनिंदा सर्वर या टूल को डिफ़ॉल्ट रूप से अनुमति दे सकते हैं, ताकि भरोसेमंद इंटीग्रेशन लोगों के काम में बार-बार बाधा न डालें।
टीम allowlists
Teams और Enterprise प्लान वाले एडमिन एक कस्टम MCP रजिस्ट्री और allowlist सेट कर सकते हैं। दो नियम मायने रखते हैं। एक बार कोई भी सर्वर allowlist में आ जाए, तो पूरी टीम के लिए हर ऐसा सर्वर ब्लॉक हो जाता है जो allowlist में नहीं है। और patterns regular expressions हैं, जो पूरे स्ट्रिंग से मिलाए जाते हैं, इसलिए ढीला pattern आपकी उम्मीद के मुताबिक़ मेल नहीं खाएगा। Enterprise यूज़र को सेटिंग्स में MCP को खुद चालू करना भी होता है।
सुरक्षित रोलआउट कुछ ऐसा दिखता है: वे सर्वर सूचीबद्ध करें जो आपकी टीम पहले से इस्तेमाल करती है, हर सर्वर के लिए एक anchored pattern लिखें, छोटे टेस्ट ग्रुप के लिए allowlist चालू करें, फिर उस ग्रुप के किसी व्यक्ति से ऐसा सर्वर जोड़ने को कहें जो आपने सूची में नहीं रखा, और पुष्टि करें कि वह ब्लॉक होता है। उसके बाद ही इसे सबके लिए बढ़ाएँ।
चुप रहने वाले सर्वर को ठीक करना
बुनियादी जाँचें
इस सूची को क्रम से जाँचें:
JSON वैलिडेट करें। एक extra कॉमा या छूटा हुआ quote पूरी फ़ाइल को अपठनीय बना देता है।
कमांड टर्मिनल में चलाएँ। अगर npx -y @modelcontextprotocol/server-github वहाँ विफल होता है, तो एडिटर में भी विफल होगा।
Node.js जाँचें। तीसरे पक्ष के सेटअप लेख npx सर्वर के लिए Node.js 18 या नए वर्ज़न की सूची देते हैं।
devin mcp list चलाएँ। यह दिखाता है कि वास्तव में क्या लोड हुआ, जो अंदाज़ा लगाने से बेहतर है।
एडिटर को रीस्टार्ट करें। आधिकारिक पेज नहीं बताता कि रीस्टार्ट ज़रूरी है या नहीं, जबकि तीसरे पक्ष के लेख इसकी सलाह देते हैं, इसलिए रीस्टार्ट करना एक छोटा-सा कदम है जो बाद की परेशानी से बचा लेता है।
एनवायरनमेंट देखें। जो सर्वर आपके टर्मिनल में ठीक चलता है, वह ऐसे वेरिएबल पर निर्भर हो सकता है जिसे एडिटर ने कभी देखा ही नहीं। उसे env में सेट करें, या ${env:VAR} इस्तेमाल करें और एडिटर को ऐसे शेल से लॉन्च करें जिसमें वह वेरिएबल हो।
गलत फ़ाइल की संभावना खारिज करें
अगर सर्वर कभी दिखाई न दे, तो जाँचें कि आपने वही फ़ाइल एडिट की है जिसे आपका एजेंट पढ़ता है। नाम बदलने से पहले का ट्यूटोरियल आपको ~/.codeium/windsurf/mcp_config.json पर भेजता है, जबकि Devin Local CLI की परतें पढ़ता है। एक टेस्ट वाली एंट्री जोड़ें, फिर असली कॉन्फ़िग बनाने से पहले पक्का करें कि वह devin mcp list में दिखती है।
अगर आप पुराना Windsurf सेटअप नई जगह ले जा रहे हैं, तो उसका mcpServers ब्लॉक अपनी user-level mcp_config.json में कॉपी करें, devin mcp list चलाएँ, और तभी पुरानी फ़ाइल हटाएँ। इस क्रम में करने से टेस्ट के दौरान कोई काम करने वाला सर्वर कभी नहीं खोता।
जब टीम की allowlist चालू होती है, तो डॉक्स चार जाँचें बताते हैं: पुष्टि करें कि पैटर्न उपयोगकर्ता के कॉन्फ़िगरेशन से बिल्कुल मेल खाता है, regex escaping की जाँच करें, लॉग देखें (अमान्य पैटर्न चेतावनियों के साथ लॉग होते हैं), और पैटर्न को किसी regex टेस्टर में आज़माएँ।
MCP के ज़रिए PicassoIA का इस्तेमाल
कॉन्फ़िग ठीक हो जाने के बाद MCP सर्वर तभी काम का है जब वह आपके प्रोजेक्ट के लिए कुछ करे। एक अच्छा पहला विकल्प इमेज जनरेशन है, क्योंकि ब्लॉग हीरो इमेज, ऐप स्क्रीनशॉट और README बैनर बिल्ड के बीच में ही ज़रूरी हो जाते हैं। PicassoIA अपने MCP कनेक्टर और developer API के ज़रिए चार मॉडल देता है:
अपना MCP कनेक्शन पेज खोलें। यह picassoia.com/en/mcp/accounts पर है और इसके लिए लॉगिन चाहिए। एक कनेक्शन बनाएँ और वहाँ दिखाया गया सर्वर URL कॉपी करें। यह URL सार्वजनिक साइट पर प्रकाशित नहीं है, इसलिए इसका अंदाज़ा न लगाएँ।
CLI से जोड़ें।devin mcp add picassoia <URL from step 1> चलाएँ। HTTP सर्वर के लिए यह दस्तावेज़ित कमांड फ़ॉर्म है।
पूछे जाने पर साइन इन करें। अगर सर्वर OAuth इस्तेमाल करता है, तो devin mcp login picassoia चलाएँ।
पुष्टि करें कि लोड हुआ।devin mcp list को picassoia दिखाना चाहिए।
एसेट माँगें। एजेंट को बताएँ कि आपको क्या चाहिए, जैसे किसी पोस्ट के लिए 16:9 हीरो फ़ोटो। वह PicassoIA Image से जॉब शुरू करेगा, फिर स्टेटस succeeded होने तक पोल करेगा और आपको URL देगा।
कनेक्टर के टूल और सीमाएँ
PicassoIA कनेक्टर नौ टूल देता है: generate_image, edit_image, generate_video_picassoia, generate_video_seedance, get_generation, list_generations, cancel_generation, list_models और get_account। यह 100 टूल के बजट का छोटा सा हिस्सा है।
जॉब एसिंक्रोनस होते हैं। जनरेट कॉल एक prediction id लौटाता है, और एजेंट जॉब के सफल या विफल होने तक get_generation को पोल करता है। विफलता अंतिम होती है, इसलिए नए जनरेशन के साथ दोबारा कोशिश करें। प्लेटफ़ॉर्म प्रति अकाउंट 5 एक साथ predictions की अनुमति देता है, जो API टोकन और MCP कनेक्शन के बीच साझा होते हैं, और प्रॉम्प्ट 4,000 अक्षरों तक सीमित हैं।
एडिटर की जगह स्क्रिप्ट पसंद हैं? Developer API https://api.picassoia.com/v1 पर है और pia_sk_ से शुरू होने वाला Bearer टोकन लेता है, जो आपके अकाउंट के API सेक्शन से बनता है। Predictions POST /v1/models/{owner}/{name}/predictions से बनते हैं और GET /v1/predictions/{id} से वापस पढ़े जाते हैं। प्राइसिंग पेज और API डॉक्स प्लान एक्सेस को अलग-अलग शब्दों में बताते हैं, इसलिए टीम रोलआउट से पहले जाँच लें कि आपके अकाउंट को किस प्लान की ज़रूरत है।
💡 टिप: एजेंट के चलाने से पहले प्रॉम्प्ट का ड्राफ़्ट बनाने में मदद चाहिए? PicassoIA के लार्ज लैंग्वेज मॉडल कलेक्शन में Claude Sonnet 5 और GPT 5.6 Sol शामिल हैं।
अपनी इमेज के साथ आज़माएँ
आपकी कॉन्फ़िग उतनी ही अच्छी है जितना उसका पहला आउटपुट, इसलिए कुछ बनाकर देखें। सर्वर जोड़ें, आज जिस प्रोजेक्ट पर काम कर रहे हैं उसके लिए एक हीरो इमेज माँगें, और देखें कि वह कैसी लगती है। अपने प्रॉम्प्ट में लाइटिंग, लेंस और फ़्रेमिंग बदलें, फिर दोबारा चलाकर तुलना करें। कुछ दौर काफ़ी हैं यह ढूँढने के लिए कि कौन-सी स्टाइल आपके ब्लॉग या ऐप पर फ़िट बैठती है।
कनेक्शन टेस्ट के लिए तीन पहले प्रॉम्प्ट अच्छे रहते हैं:
एक हीरो फ़ोटो।PicassoIA Image से गोल्डन आवर में एक डेस्क की 16:9 फ़ोटो माँगें, जिसमें प्रॉम्प्ट में एक खास लेंस और लाइटिंग का नाम हो।
एक छोटी क्लिप। हीरो फ़ोटो को PicassoIA Video से मोशन में बदलें, फिर लंबी रेंडर से पहले नतीजा जाँचें।
Picasso IA खोलें, लाइनअप से एक मॉडल चुनें, और अपनी पहली इमेज जनरेट करें। टेक्स्ट से इमेज, वीडियो और भाषा तक हर मॉडल picassoia.com/en/all-models पर सूचीबद्ध है।