VS Code mcp.json लोकेशन: MCP सर्वर कॉन्फ़िग और रजिस्ट्री, चरण-दर-चरण

Windows, macOS और Linux पर VS Code mcp.json की सही लोकेशन ढूँढें, workspace और user फ़ाइल में से चुनें, सही सर्वर एंट्री लिखें, टोकन को Git से दूर रखें, और @mcp gallery से MCP रजिस्ट्री के सर्वर जोड़ें।

VS Code mcp.json लोकेशन: MCP सर्वर कॉन्फ़िग और रजिस्ट्री, चरण-दर-चरण
Cristian Da Conceicao
Picasso IA के संस्थापक

आप VS Code में एक MCP server जोड़ते हैं, window reload करते हैं, Copilot Chat खोलते हैं, और नए tools कहीं नहीं मिलते। ज़्यादातर मामलों में server ठीक होता है और गड़बड़ फ़ाइल में होती है: वह गलत फ़ोल्डर में रखी है, गलत top-level property इस्तेमाल करती है, या VS Code वह कॉपी पढ़ रहा है जो आपने अभी एडिट नहीं की। यह लेख हर सेटअप के लिए VS Code mcp.json लोकेशन तय करता है, वह JSON शेप दिखाता है जिसकी editor अपेक्षा करता है, और यह भी बताता है कि MCP रजिस्ट्री कैसे फ़िट होती है, ताकि आप इधर-उधर के READMEs से कमांड कॉपी किए बिना servers जोड़ सकें।

Model Context Protocol (MCP) एक ओपन स्टैंडर्ड है जो AI assistant को बाहरी टूल्स कॉल करने देता है: फ़ोल्डर पढ़ना, डेटाबेस क्वेरी करना, pull request खोलना। VS Code MCP client के रूप में काम करता है, और आप जो भी server enable करते हैं, वह agent mode में टूल्स के सेट के रूप में दिखता है। पूरा सेटअप एक छोटी-सी JSON फ़ाइल में रहता है, और यही वजह है कि गलत path या गलत property name इतनी चुपचाप विफल होता है।

mcp.json फ़ाइल कहाँ रहती है

VS Code MCP server की परिभाषाएँ दो मुख्य जगहों से पढ़ता है, और एक पोर्टेबल फ़ॉर्मेट भी है जिसके बारे में आगे बताया गया है। इन्हें एक टीम की शेल्फ़ और एक निजी शेल्फ़ की तरह समझें।

Workspace फ़ाइल: .vscode/mcp.json

Workspace फ़ाइल project फ़ोल्डर के अंदर .vscode/mcp.json पर रहती है। अगर .vscode फ़ोल्डर मौजूद नहीं है, तो उसे बनाएँ, फ़ाइल वहाँ डालें, और VS Code उसे उठा लेगा। चूँकि यह repository के साथ चलती है, इसलिए project को clone करने वाले हर व्यक्ति को एक जैसी server सूची मिलती है।

आप इसे Command Palette (Windows और Linux पर Ctrl+Shift+P, macOS पर Cmd+Shift+P) से भी खोल सकते हैं, MCP: Open Workspace Folder Configuration के साथ, या MCP: Add Server से entry बनाकर workspace विकल्प चुन सकते हैं।

Operating system के अनुसार user फ़ाइल

User फ़ाइल हर उस window पर लागू होती है जो आप खोलते हैं। उस तक पहुँचने का सबसे तेज़ तरीका Command Palette कमांड MCP: Open User Configuration है, जो आपकी active profile की कॉपी खोलता है। सामान्य इंस्टॉल पर फ़ाइल VS Code के user data फ़ोल्डर में रहती है:

Operating systemडिफ़ॉल्ट user mcp.json path
Windows%APPDATA%\Code\User\mcp.json
macOS~/Library/Application Support/Code/User/mcp.json
Linux~/.config/Code/User/mcp.json

💡 टिप: VS Code Insiders का अपना data फ़ोल्डर होता है, जिसका नाम आमतौर पर Code - Insiders होता है, Code की जगह। अगर कोई edit कुछ नहीं बदलता, तो जाँच लें कि Insiders चलाते हुए आप stable वाली कॉपी तो एडिट नहीं कर रहे। शक हो तो याद से टाइप किए गए किसी भी path के बजाय Command Palette कमांड पर भरोसा करें।

एक साफ़-सुथरी ओक की मेज़ ऊपर से, जिस पर खुला लैपटॉप है और नोटबुक में हाथ से बना फ़ोल्डर ट्री है

कौन-सी जगह चुनें

चुनाव इस पर निर्भर है कि server की ज़रूरत किसे है और क्या उसके साथ आपका निजी token जुड़ा है।

स्थितिबेहतर जगह
ऐसे servers जिनकी पूरी टीम को ज़रूरत है, जैसे project डेटाबेस या docs searchWorkspace फ़ाइल, Git में commit की हुई
निजी tools जो आप हर project में चाहते हैंUser फ़ाइल
ऐसा server जिसे आपका अपना token चाहिएUser फ़ाइल, या workspace फ़ाइल जो inputs से token माँगे
ऐसा server जो repository के layout से जुड़ा हैWorkspace फ़ाइल, जिसमें ${workspaceFolder} इस्तेमाल हो

दोनों फ़ाइलों में एक ही server नाम परिभाषित करने से बचें। दो कॉपी होने पर पता नहीं चलता कि असल में कौन-सा चल रहा है, और "server टूटा हुआ है" वाली bug report एक दोपहर के अनुमान में बदल जाती है।

चमकदार coworking space में एक मेज़ साझा करते और एक लैपटॉप स्क्रीन की ओर इशारा करते दो developers

फ़ाइल का फ़ॉर्मेट सही तरीके से लिखें

फ़ाइल में अधिकतम तीन top-level sections होते हैं: servers (ज़रूरी, server नामों से settings का map), inputs (वैकल्पिक, उन values के लिए prompts जिन्हें आप store नहीं करना चाहते), और sandbox (वैकल्पिक, macOS और Linux पर फ़ाइल और network नियम)। बाकी सब इन्हीं तीन से जुड़ा रहता है।

एक न्यूनतम stdio server

stdio server एक program है जिसे VS Code आपकी मशीन पर शुरू करता है और standard input और output के ज़रिए उससे बात करता है। ज़्यादातर community servers इसी तरह आते हैं, आमतौर पर npx या uvx के ज़रिए।

{
  "servers": {
    "filesystem": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "${workspaceFolder}"]
    }
  }
}

${workspaceFolder} variable खुले project तक expand होता है, इसलिए वही फ़ाइल हर साथी की मशीन पर काम करती है। Working directory के लिए cwd, environment variables के लिए env, और फ़ाइल से variables लोड करने के लिए envFile जोड़ सकते हैं।

एक remote HTTP server

Remote server कहीं और चलता है और VS Code उसके URL से connect होता है। कोई local process नहीं, कोई npx नहीं, और Node version की कोई समस्या नहीं।

{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}

मौजूदा remote servers के लिए "type": "http" और उन servers के लिए जो अब भी पुराने server-sent events transport का उपयोग करते हैं, "type": "sse" इस्तेमाल करें। Remote entries में authentication के लिए headers भी हो सकता है, और जब server browser sign-in सपोर्ट करता हो तो एक oauth object भी।

फ़ील्डलागू होता हैउद्देश्य
typeदोनोंstdio, http, या sse
commandstdioचलने वाली executable, जैसे npx, node, या python
argsstdioCommand arguments का array
cwdstdioProcess की working directory
env और envFilestdioEnvironment variables सीधे या फ़ाइल से
devstdioServer authors के लिए watch और debug settings
urlRemoteServer का पता
headersRemoteHTTP headers, आमतौर पर Authorization token के लिए
oauthRemoteजो servers इसे सपोर्ट करते हैं उनके लिए sign-in कॉन्फ़िगरेशन

लैपटॉप स्क्रीन का क्लोज़-अप, जिसमें गहरे रंग का code editor और रंगीन syntax की धुंधली, न पढ़ी जाने वाली पंक्तियाँ हैं

servers बनाम mcpServers की गलती

यही वह सबसे आम कारण है कि चिपकाया गया config कुछ नहीं करता।

आपका server कभी क्यों नहीं दिखता

ज़्यादातर READMEs ऐसा snippet दिखाते हैं जो Claude Desktop, Claude Code या Cursor के लिए लिखा गया होता है। वे clients mcpServers नाम की top-level property इस्तेमाल करते हैं। VS Code का अपना mcp.json servers अपेक्षित करता है। गलत शेप को .vscode/mcp.json में डालें तो फ़ाइल चुपचाप विफल हो सकती है: editor उस property को flag कर सकता है, पर चेतावनी आसानी से छूट जाती है, और कोई टूल नहीं दिखता।

{
  "mcpServers": {
    "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "."] }
  }
}

वह block किसी दूसरे client का है। VS Code के लिए top-level property का नाम servers करें और "type": "stdio" जोड़ें, ताकि entry पहले दिखाए गए फ़ॉर्मेट से मेल खाए।

VS Code एक पोर्टेबल फ़ॉर्मेट भी document करता है: project root में एक .mcp.json फ़ाइल, या user के लिए ~/.copilot/mcp-config.json। उन पोर्टेबल फ़ाइलों में mcpServers सच में इस्तेमाल होता है। नियम सीधा है: VS Code की mcp.json के भीतर servers, और पोर्टेबल फ़ाइलों के भीतर mcpServers।

Client के अनुसार property names

क्लाइंट या फ़ाइललोकेशनटॉप-लेवल प्रॉपर्टी
VS Code वर्कस्पेस.vscode/mcp.jsonservers
VS Code यूज़रआपके यूज़र प्रोफ़ाइल में mcp.jsonservers
VS Code पोर्टेबलप्रोजेक्ट रूट में .mcp.jsonmcpServers
Claude Code प्रोजेक्ट.mcp.jsonmcpServers
Cursor प्रोजेक्ट.cursor/mcp.jsonmcpServers
Claude Desktopclaude_desktop_config.jsonmcpServers

जब भी tools गायब हों, तो यह छोटी सूची देखें:

  • Property name जाँचें सबसे पहले। servers की जगह mcp.json, और पोर्टेबल फ़ाइलों के लिए mcpServers।
  • type जाँचें। Local program को stdio चाहिए, URL को http या sse।
  • वह फ़ाइल जाँचें जो आपने खोली। MCP: List Servers चलाएँ और पक्का करें कि आपका server वहाँ दिखता है।
  • बड़े edit के बाद window reload करें, अगर server सूची पुरानी लगे।

प्रिंटेड शीट पर लाल मार्कर से कोड की एक पंक्ति को घेरता हाथ, लैपटॉप के बगल में

Secrets को फ़ाइल से बाहर रखें

Workspace mcp.json आमतौर पर Git में जाती है। उसमें जो भी लिखा जाता है, token समेत, वह भी वहाँ पहुँच जाता है।

Inputs से tokens माँगें

inputs section उन values को परिभाषित करता है जो VS Code store करने के बजाय माँगता है। किसी भी server entry में ${input:id} से उसका reference दें।

{
  "inputs": [
    {
      "type": "promptString",
      "id": "api-token",
      "description": "API token for the image service",
      "password": true
    }
  ],
  "servers": {
    "image-service": {
      "type": "http",
      "url": "https://mcp.example.com/mcp",
      "headers": { "Authorization": "Bearer ${input:api-token}" }
    }
  }
}

ऊपर दिया URL एक placeholder है। असली बात पैटर्न है: promptString के साथ password: true एक masked field दिखाता है, VS Code server शुरू होते समय value माँगता है, और token को फ़ाइल में रखना नहीं पड़ता। दो और input types हैं: pickString तय विकल्पों की सूची के लिए, और command उस value के लिए जो कोई command चलाकर बनती है।

💡 टिप: यही पैटर्न किसी भी REST service पर लागू होता है जो Bearer token इस्तेमाल करती है, जिसमें Picasso IA developer API भी शामिल है, api.picassoia.com/v1 पर, जिसके tokens pia_sk_ से शुरू होते हैं। वह token किसी input या environment variable में रखें, कभी भी commit की गई फ़ाइल में नहीं।

envFile और workspace trust

stdio servers के लिए envFile ${workspaceFolder}/.env जैसी फ़ाइल से variables लोड करता है। उस फ़ाइल को commit करने से पहले ही .gitignore में जोड़ें, बाद में नहीं।

Trust दो परतों में काम करता है। Workspace के भीतर परिभाषित servers Workspace Trust विरासत में लेते हैं, इसलिए untrusted फ़ोल्डर उन्हें शुरू नहीं करता। Workspace के बाहर परिभाषित servers पहली बार चलने पर अपना trust prompt दिखाते हैं। chat.mcp.autostart setting config बदलने पर restart को नियंत्रित करती है, जिसकी values never, onlyNew और newAndOutdated (डिफ़ॉल्ट) हैं।

खुले लैपटॉप के सामने ओक की मेज़ पर पीतल के ताले वाला स्टील का लॉकबॉक्स

रजिस्ट्री में servers खोजना

हर entry हाथ से लिखना जल्दी थका देता है। VS Code इससे बचने के दो तरीके देता है।

Extensions में @mcp से ब्राउज़ करें

Extensions view खोलें (Ctrl+Shift+X) और search box में @mcp टाइप करें। जो सूची दिखती है वह MCP servers की in-editor gallery है। कोई एक चुनें, तय करें कि उसे user profile में इंस्टॉल करना है या workspace में, और VS Code entry को सही mcp.json में जोड़ देता है। बाद में फ़ाइल खोलकर देखें कि क्या लिखा गया। जिन servers को आप बाद में हाथ से जोड़ेंगे, उनका सही syntax देखने का यह अच्छा तरीका है।

आधिकारिक रजिस्ट्री क्या जोड़ती है

आधिकारिक MCP Registry वह public directory है जहाँ server authors अपने servers publish करते हैं। हर entry में package का नाम या remote URL होता है, जो आप वरना खुद mcp.json में चिपकाते। जब कोई server Extensions gallery में न हो, तब इसका उपयोग करें, और कुछ भी चलाने से पहले package name को registry entry से मिलाएँ। किसी npx argument में छोटी-सी typo भी कोई अलग package इंस्टॉल कर सकती है।

दूसरे apps से servers अपने-आप पहचानें

VS Code उन servers को भी import कर सकता है जो आपने पहले से दूसरे tools में configure किए हैं। Settings खोलें, chat.mcp खोजें, और वह setting देखें जो दूसरे applications से auto-detection नियंत्रित करती है। अगर आप साफ़ शुरुआत चाहते हैं, तो उसे बंद कर दें। अगर आप Claude Desktop से आए हैं, तो उसे चालू रखने से दोबारा टाइप करने की ज़रूरत नहीं पड़ती।

हार्डवेयर वर्कशॉप में लकड़ी की ऊँची दराज़ों की दीवार से एक छोटी दराज़ निकालता ग्राहक

ऐसा server ठीक करें जो शुरू नहीं होता

जब कोई server error दिखाए, तो जवाब लगभग हमेशा उसी के अपने log में होता है।

Output log पढ़ें

MCP: List Servers चलाएँ, server चुनें और उसका output खोलें। आप mcp.json खोलकर server के नाम के ऊपर भी देख सकते हैं, जहाँ VS Code शुरू करने, रोकने, restart करने और output दिखाने के inline actions दिखाता है। Log में वह सटीक command छपती है जो VS Code ने चलाई, और जो भी process ने standard error में लिखा। पहली error पढ़ें, आखिरी नहीं।

खुले server rack के भीतर करीने से लगी केबलों पर टॉर्च की रोशनी डालता नेटवर्क तकनीशियन

आम विफलता के पैटर्न

लक्षणसंभावित कारणसमाधान
कोई टूल नहीं दिखतागलत top-level propertymcp.json में servers इस्तेमाल करें
npx या uvx नहीं मिलाVS Code आपके shell PATH के बिना शुरू हुआcommand में पूरा path दें, या VS Code को terminal से शुरू करें
Remote server 401 या 403 लौटाता हैToken गलत या गायबinputs value और headers entry जाँचें
Edit का कोई असर नहींServer अब भी पुराने config के साथ चल रहा हैInline actions से server restart करें
सिर्फ़ एक project में काम करता हैEntry workspace फ़ाइल में हैउसे user फ़ाइल में ले जाएँ

Dev mode और sandbox

अगर आप servers बनाते हैं, तो stdio entry पर dev object मदद करता है। watch एक glob pattern लेता है और मेल खाने वाली फ़ाइलें बदलने पर server restart करता है, और debug debugger जोड़ता है (stdio servers के लिए Node.js और Python सपोर्टेड हैं)। macOS और Linux पर sandbox object सीमित करता है कि server क्या छू सकता है: filesystem.allowWrite, filesystem.denyRead, filesystem.denyWrite, network.allowedDomains और network.deniedDomains। किसी एक server पर इसे लागू करने के लिए sandboxEnabled सेट करें। शुरुआत सख़्त रखें और उतना ही खोलें जितना server साबित करे कि उसे ज़रूरत है।

इलेक्ट्रॉनिक्स बेंच पर मैग्नीफ़ायर लैंप के नीचे सर्किट बोर्ड की ओर झुका हार्डवेयर इंजीनियर

Claude Sonnet 5 से अपना config ड्राफ़्ट करें

अगर कोई language model JSON में मदद करने वाला है, तो उसे code के लिए बना मॉडल होना चाहिए। Picasso IA पर Claude Sonnet 5 code लिखता और debug करता है, screenshots पढ़ता है, और आपको चुनने देता है कि वह कितनी गहराई से सोचे। mcp.json के लिए काम करने वाला workflow यह है।

  1. Model page खोलें। Picasso IA पर Claude Sonnet 5 पर जाएँ।
  2. System Prompt एक बार भरें। कुछ इस तरह: You write VS Code mcp.json files. Use the servers property, never mcpServers. Always set type. Output JSON only.
  3. Prompt में setup बताएँ। वे servers नाम दें जो आप चाहते हैं, operating system, और हर एक stdio है या remote।
  4. effort सेट करें। एक-लाइन fix के लिए low पर छोड़ें। जब फ़ाइल कई servers और inputs को जोड़ती हो, तब medium या high इस्तेमाल करें। low setting thinking बंद कर देती है, इसलिए यह सबसे तेज़ और सस्ता है।
  5. Max Tokens को डिफ़ॉल्ट 8192 पर रखें। Config फ़ाइल को इससे कहीं कम चाहिए।
  6. अगर error है तो screenshot जोड़ें। वैकल्पिक Image field एक screenshot लेता है, और Max Image Resolution डिफ़ॉल्ट रूप से 0.5 megapixels पर है ताकि यह सस्ता रहे।
  7. चलाएँ, फिर जाँचें। नतीजा mcp.json में चिपकाएँ, हर package name और URL को registry entry से मिलाएँ, और पहली बार शुरू होते समय output log देखें।

एक प्रॉम्प्ट जो उपयोगी पहला ड्राफ़्ट दे:

Create a VS Code mcp.json for Windows with two servers: a stdio filesystem
server limited to the workspace folder, and a remote HTTP server at
https://mcp.example.com/mcp that needs a Bearer token. Ask for the token
with an input so it is never stored in the file.

💡 टिप: मॉडल ऐसे package names बना सकते हैं जो सही लगें पर असल में मौजूद न हों। किसी भी generated args array को तब तक ड्राफ़्ट मानें जब तक उसे registry से मिला न लें।

प्लेटफ़ॉर्म पर दूसरे chat और coding मॉडल भी यही काम करते हैं, इसलिए कुछ आज़माएँ और वह रखें जो आपके system prompt को सबसे अच्छी तरह माने।

मॉडलआज़माने की वजह
GPT 5.6 Solजटिल coding कार्यों के लिए बना
Gemini 3.5 Flashछोटे config बदलावों के लिए तेज़ जवाब
Kimi K2.6Agent और code का काम
Claude Fable 5कई फ़ाइलों में फैले कठिन coding कार्य

Picasso IA से अपने visuals बनाएँ

एक काम करता MCP setup ऐसे documentation का हक़दार है जिसे लोग सच में पढ़ें। एक साफ़ hero image वाला README, एक diagram जो दिखाए कि आपके servers कैसे जुड़ते हैं, या एक छोटा tutorial thumbnail, setup page को पूरा महसूस कराता है। Picasso IA यह सब बना सकता है।

धूप वाले स्टूडियो में लंबी मेज़ पर बड़ी प्रिंटेड तस्वीरों की समीक्षा करते दो क्रिएटिव पेशेवर

तेज़ पहले ड्राफ़्ट के लिए Picasso IA Image से शुरुआत करें, जब आपकी विज़ुअल ज़रूरत में पढ़ने लायक टेक्स्ट हो तो GPT Image 2 आज़माएँ, और पहले से मौजूद किसी इमेज को एडजस्ट करने के लिए Picasso IA Image Editor Pro का इस्तेमाल करें। फोटोरियलिस्टिक दृश्यों के लिए Seedream 4.5 एक टेस्ट रन के लायक है। प्लैटफ़ॉर्म में टेक्स्ट-टू-वीडियो और दूसरे जेनरेटर भी शामिल हैं, और आप सभी मॉडल पेज पर हर विकल्प देख सकते हैं।

एक प्रॉम्प्ट लिखें, कुछ variations बनाएँ, अपने page पर फ़िट होने वाली चुनें, और उसे अपने docs में डालें। आपके project के लिए क्या काम करता है, यह जानने का सबसे अच्छा तरीका आज़माना है। तो Picasso IA खोलें, वह दृश्य टाइप करें जो आप देखना चाहते हैं, और आज ही अपनी पहली इमेज बनाएँ।

यह लेख शेयर करें

अपनी भाषा चुनें

संबंधित लेख