VS Code mcp.json लोकेशन: MCP सर्वर कॉन्फ़िग और रजिस्ट्री, चरण-दर-चरण
Windows, macOS और Linux पर VS Code mcp.json की सही लोकेशन ढूँढें, workspace और user फ़ाइल में से चुनें, सही सर्वर एंट्री लिखें, टोकन को Git से दूर रखें, और @mcp gallery से MCP रजिस्ट्री के सर्वर जोड़ें।
आप 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 search
Workspace फ़ाइल, Git में commit की हुई
निजी tools जो आप हर project में चाहते हैं
User फ़ाइल
ऐसा server जिसे आपका अपना token चाहिए
User फ़ाइल, या workspace फ़ाइल जो inputs से token माँगे
ऐसा server जो repository के layout से जुड़ा है
Workspace फ़ाइल, जिसमें ${workspaceFolder} इस्तेमाल हो
दोनों फ़ाइलों में एक ही server नाम परिभाषित करने से बचें। दो कॉपी होने पर पता नहीं चलता कि असल में कौन-सा चल रहा है, और "server टूटा हुआ है" वाली bug report एक दोपहर के अनुमान में बदल जाती है।
फ़ाइल का फ़ॉर्मेट सही तरीके से लिखें
फ़ाइल में अधिकतम तीन 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 के ज़रिए।
${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 की कोई समस्या नहीं।
मौजूदा 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
command
stdio
चलने वाली executable, जैसे npx, node, या python
args
stdio
Command arguments का array
cwd
stdio
Process की working directory
env और envFile
stdio
Environment variables सीधे या फ़ाइल से
dev
stdio
Server authors के लिए watch और debug settings
url
Remote
Server का पता
headers
Remote
HTTP headers, आमतौर पर Authorization token के लिए
oauth
Remote
जो servers इसे सपोर्ट करते हैं उनके लिए sign-in कॉन्फ़िगरेशन
servers बनाम mcpServers की गलती
यही वह सबसे आम कारण है कि चिपकाया गया config कुछ नहीं करता।
आपका server कभी क्यों नहीं दिखता
ज़्यादातर READMEs ऐसा snippet दिखाते हैं जो Claude Desktop, Claude Code या Cursor के लिए लिखा गया होता है। वे clients mcpServers नाम की top-level property इस्तेमाल करते हैं। VS Code का अपना mcp.jsonservers अपेक्षित करता है। गलत शेप को .vscode/mcp.json में डालें तो फ़ाइल चुपचाप विफल हो सकती है: editor उस property को flag कर सकता है, पर चेतावनी आसानी से छूट जाती है, और कोई टूल नहीं दिखता।
वह 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.json
servers
VS Code यूज़र
आपके यूज़र प्रोफ़ाइल में mcp.json
servers
VS Code पोर्टेबल
प्रोजेक्ट रूट में .mcp.json
mcpServers
Claude Code प्रोजेक्ट
.mcp.json
mcpServers
Cursor प्रोजेक्ट
.cursor/mcp.json
mcpServers
Claude Desktop
claude_desktop_config.json
mcpServers
जब भी 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 दें।
ऊपर दिया 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 पढ़ें, आखिरी नहीं।
आम विफलता के पैटर्न
लक्षण
संभावित कारण
समाधान
कोई टूल नहीं दिखता
गलत top-level property
mcp.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 यह है।
System Prompt एक बार भरें। कुछ इस तरह: You write VS Code mcp.json files. Use the servers property, never mcpServers. Always set type. Output JSON only.
Prompt में setup बताएँ। वे servers नाम दें जो आप चाहते हैं, operating system, और हर एक stdio है या remote।
effort सेट करें। एक-लाइन fix के लिए low पर छोड़ें। जब फ़ाइल कई servers और inputs को जोड़ती हो, तब medium या high इस्तेमाल करें। low setting thinking बंद कर देती है, इसलिए यह सबसे तेज़ और सस्ता है।
Max Tokens को डिफ़ॉल्ट 8192 पर रखें। Config फ़ाइल को इससे कहीं कम चाहिए।
अगर error है तो screenshot जोड़ें। वैकल्पिक Image field एक screenshot लेता है, और Max Image Resolution डिफ़ॉल्ट रूप से 0.5 megapixels पर है ताकि यह सस्ता रहे।
चलाएँ, फिर जाँचें। नतीजा 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 को सबसे अच्छी तरह माने।
एक काम करता 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 खोलें, वह दृश्य टाइप करें जो आप देखना चाहते हैं, और आज ही अपनी पहली इमेज बनाएँ।