GitHub MCP Server: सेटअप, टोकन उपयोग और रेट लिमिट, बिना किसी झटके के
GitHub MCP server को VS Code, Claude Desktop या Cursor से OAuth या सीमित अनुमति वाले टोकन के साथ जोड़ें, टूल परिभाषाओं को टूलसेट और केवल-पढ़ने वाले मोड से घटाएँ, और GitHub की 5,000 प्रति घंटा और 80 प्रति मिनट की सीमाओं को संभालें, ताकि 403 या 429 त्रुटियाँ अचानक न आएँ।
GitHub MCP server को अपने एडिटर से जोड़ते ही AI एजेंट आपकी ओर से issues पढ़ सकता है, pull requests की समीक्षा कर सकता है और branches खोल सकता है। लेकिन यह हर बातचीत में टूल डेफ़िनिशन की लंबी सूची भी लोड करता है, और जो भी टोकन आप इसे देते हैं, उसका रिक्वेस्ट बजट भी खर्च करता है। तीन बातें तय करती हैं कि सेटअप आसान लगेगा या भारी: आप इसे कैसे जोड़ते हैं, सर्वर कितने कॉन्टेक्स्ट टोकन खाता है, और आपको पहले कौन-सी रेट लिमिट छूती है।
नीचे दिया हर आँकड़ा GitHub के अपने डॉक्युमेंटेशन या 2026 में प्रकाशित कम्युनिटी मापों से लिया गया है, और हर एक पर उसका स्रोत लिखा है। टोकन गिनती सर्वर के वर्ज़न के साथ बदलती है, इसलिए इन्हें वादे नहीं, बल्कि रेंज मानें। MCP टूलिंग के बारे में आप जो भी संख्या पढ़ें, उस पर बजट बनाने से पहले देख लें कि उसे किस वर्ज़न पर मापा गया था।
💡 संक्षेप में: रिमोट सर्वर इस्तेमाल करें, उसे सीमित टोकन दें, सिर्फ़ वही toolsets चालू रखें जिनकी आपको ज़रूरत है, और जब GitHub 403 या 429 लौटाए तो कम से कम एक मिनट रुकें।
रिमोट या लोकल सर्वर?
दोनों विकल्पों में वही GitHub टूल मिलते हैं। बदलता है यह कि प्रोसेस कौन चलाता है और आप साइन इन कैसे करते हैं। गलत चुनाव का मतलब है पाँच लैपटॉप पर Docker संभालना, या किसी फ़ीचर के लिए GitHub का इंतज़ार करना जिसकी आपको कल ज़रूरत थी।
रिमोट सर्वर की मूल बातें
GitHub रिमोट सर्वर को https://api.githubcopilot.com/mcp/ पर होस्ट करता है। आपका क्लाइंट इसी URL की ओर इशारा करता है और आप ब्राउज़र के ज़रिए OAuth से साइन इन करते हैं, या Authorization हेडर में personal access token भेजते हैं। कुछ इंस्टॉल नहीं करना पड़ता और कुछ अपडेट नहीं करना पड़ता, क्योंकि नए टूल GitHub के शेड्यूल पर आते हैं, आपके शेड्यूल पर नहीं।
इसी होस्ट पर https://api.githubcopilot.com/mcp/insiders पर एक insiders वैरिएंट भी है, जिसमें शुरुआती फ़ीचर मिलते हैं। इसे अपने रोज़ के सेटअप तक पहुँचाने से पहले किसी टेस्ट मशीन पर आज़माएँ।
लोकल Docker विकल्प
लोकल सर्वर इमेज ghcr.io/github/github-mcp-server के रूप में आता है। आपका क्लाइंट इसे docker run -i --rm से चलाता है और stdio के ज़रिए इससे बात करता है। वर्ज़न आप चुनते हैं, हर environment variable आप नियंत्रित करते हैं, और GITHUB_HOST के साथ इसे GitHub Enterprise Server की ओर भी मोड़ सकते हैं। कीमत यह है कि हर मशीन पर Docker चाहिए और एक config फ़ाइल में टोकन पड़ा रहता है।
रिमोट सर्वर
लोकल Docker सर्वर
इंस्टॉल
कोई नहीं
Docker इमेज
साइन इन
OAuth, या हेडर में टोकन
GITHUB_PERSONAL_ACCESS_TOKEN में टोकन, या callback port के साथ OAuth
अपडेट
GitHub संभालता है
आप इमेज पुल करते हैं
GitHub Enterprise Server
समर्थित नहीं
GITHUB_HOST के ज़रिए समर्थित
किसके लिए सबसे अच्छा
ज़्यादातर व्यक्तिगत डेवलपर
पिन किए गए वर्ज़न और Enterprise Server
पाँच मिनट में सेटअप
नीचे दिया हर स्निपेट प्रोजेक्ट के README से लिया गया है। कोई एक चिपकाएँ, क्लाइंट को रीस्टार्ट करें और स्मोक टेस्ट के तौर पर एजेंट से अपनी खुली pull requests की सूची माँगें। अगर सूची आ जाए, तो कनेक्शन काम कर रहा है, और इसके आगे का सब कुछ ट्यूनिंग है।
OAuth के साथ VS Code
यह सबसे छोटा रास्ता है। कोई टोकन बनाना नहीं पड़ता और कोई सीक्रेट स्टोर नहीं करना पड़ता।
your_token_here की जगह असली टोकन लगाएँ और यह फ़ाइल version control से बाहर रखें। Cursor भी VS Code वाले उदाहरणों से मिलती-जुलती संरचना स्वीकार करता है।
💡 अगर टोकन और OAuth दोनों कॉन्फ़िगर हैं, तो टोकन जीतता है। प्रोजेक्ट डॉक्स के अनुसार GITHUB_PERSONAL_ACCESS_TOKEN को OAuth पर प्राथमिकता मिलती है।
Personal Access Token के Scopes
टोकन इस सेटअप का वह हिस्सा है जो आपको सचमुच नुकसान पहुँचा सकता है। जो एजेंट कोई व्यापक टोकन रखता है, वह उस टोकन की इजाज़त वाली हर चीज़ कर सकता है, जिसमें वे गलतियाँ भी शामिल हैं जो आप हाथ से कभी नहीं करेंगे।
सबसे छोटे scopes चुनें
README तीन scopes की सिफ़ारिश करता है:
Scope
क्या अनुमति देता है
repo
Repository ऑपरेशन
read:packages
Docker इमेज एक्सेस
read:org
Organization team एक्सेस
repo से शुरू करें और बाकी तभी जोड़ें जब कोई टूल permission error देने लगे। अगर आप सिर्फ़ कुछ गिने-चुने repositories में काम करते हैं, तो उन्हीं तक सीमित fine-grained टोकन और भी कसा हुआ रहेगा। हर प्रोजेक्ट के लिए अलग टोकन रखें, ताकि एक को रद्द करने से बाकी न टूटें।
टोकन को Git से बाहर रखें
तीन आदतें ज़्यादातर लीक को रोक देती हैं:
टोकन को environment variable या प्रॉम्प्ट इनपुट में रखें, कभी कमिट की गई config फ़ाइल में नहीं।
किसी भी लोकल config की अनुमतियाँ chmod 600 ~/.your-app/config.json से सीमित करें।
टोकन को शेड्यूल पर रोटेट करें, और जैसे ही कोई diff में दिखे, उसे तुरंत रद्द करें।
टूल डेफ़िनिशन की असली कीमत
MCP क्लाइंट हर जुड़े सर्वर की डेफ़िनिशन मॉडल के कॉन्टेक्स्ट में लोड करता है, ताकि मॉडल जान सके कि वह किन चीज़ों को कॉल कर सकता है। यह पेलोड हर request पर आपकी कॉन्टेक्स्ट विंडो में गिना जाता है, चाहे एजेंट कोई टूल इस्तेमाल करे या नहीं। कम्युनिटी अनुमान के अनुसार नाम, विवरण और पैरामीटर schema जोड़ने पर एक अकेली डेफ़िनिशन लगभग 300 से 600 टोकन की होती है।
GitHub के सर्वर में बहुत सारे टूल हैं, इसीलिए कॉन्टेक्स्ट फूलने की हर चर्चा में यह नाम आता है।
आँकड़े क्या कहते हैं
ये 2026 में dev.to पर प्रकाशित कम्युनिटी माप हैं, GitHub के आँकड़े नहीं:
माप
टोकन
टूल
स्रोत
पूरी टूल सतह
लगभग 55,000
93
Piotr Hajdas
पूरी टूल सतह, कम गिनती
लगभग 42,000
उल्लेख नहीं
The Daily Agent
सिर्फ़ डिफ़ॉल्ट toolsets
लगभग 4,200
26
Ken Imoto
200,000 टोकन की विंडो पर 55,000 वाला आँकड़ा एक चौथाई से ज़्यादा जगह है, जो आपके कुछ लिखने से पहले ही खप जाती है। डिफ़ॉल्ट toolsets लगभग 2% आते हैं। संख्याएँ इसलिए अलग हैं क्योंकि लोगों ने अलग सर्वर वर्ज़न और toolset कॉन्फ़िगरेशन पर माप किया।
आपका क्लाइंट भी मायने रखता है। 2026 के एक लेख के अनुसार Claude Code डिफ़ॉल्ट रूप से MCP टूल schemas को एक tool-search चरण के पीछे टाल देता है, और एक माप में इससे 46.9% की कमी दर्ज हुई। Cursor, Windsurf और Gemini CLI definitions पहले से लोड करते हैं, इसलिए उन्हें पूरी कीमत चुकानी पड़ती है।
toolsets से काटें
Toolsets टूल के पूरे समूहों को चालू या बंद करते हैं। कोई सेटिंग न हो तो सर्वर context, issues, pull_requests, repos और users चालू करता है। सूची के बाकी toolsets actions, code_quality, code_security, copilot, dependabot, discussions, gists, git, governance, labels, notifications, orgs, projects, secret_protection, security_advisories और stargazers हैं। विशेष मान all और default वही करते हैं जो उनके नाम कहते हैं।
लोकल सर्वर के लिए GITHUB_TOOLSETS सेट करें:
docker run -e GITHUB_PERSONAL_ACCESS_TOKEN=<token> \
-e GITHUB_TOOLSETS="repos,issues,pull_requests" \
ghcr.io/github/github-mcp-server
रिमोट सर्वर के लिए X-MCP-Toolsets हेडर में वही comma-separated सूची भेजें:
परिणाम को ठीक करने के लिए दो और नियंत्रण हैं। GITHUB_TOOLS (या X-MCP-Tools हेडर) आपके toolsets के ऊपर अलग-अलग टूल जोड़ता है, जैसे gists के सभी टूल चालू किए बिना get_gist। X-MCP-Exclude-Tools टूल हटाता है, और डॉक्स बताते हैं कि excluded टूल toolsets और अलग-अलग टूल, दोनों पर भारी पड़ते हैं।
💡 all से बचें। लगभग 4,200 टोकन की डेफ़िनिशन से बढ़कर लगभग 55,000 पर जाने का मतलब है ऐसे टूल के लिए भुगतान करना जिन्हें आप शायद कभी कॉल नहीं करेंगे, और उनकी कीमत हर request पर चुकाते हैं।
Read-Only और Lockdown मोड
दो स्विच आपके toolsets को छुए बिना नुकसान का दायरा घटाते हैं:
मोड
लोकल सर्वर
रिमोट सर्वर
असर
Read-only
--read-only या GITHUB_READ_ONLY
X-MCP-Readonly: true, या पथ /mcp/x/all/readonly
हर write टूल बंद करता है, भले ही आपने उन्हें माँगा हो
Lockdown
--lockdown-mode या GITHUB_LOCKDOWN_MODE
X-MCP-Lockdown हेडर
सिर्फ़ push access वाले उपयोगकर्ताओं की public-repository सामग्री दिखाता है
Read-only एक सख्त फ़िल्टर की तरह काम करता है जो आपकी बाकी कॉन्फ़िगरेशन पर भारी पड़ता है, और बंद किए गए टूल का मतलब है लोड होने के लिए कम डेफ़िनिशन। Lockdown तब मायने रखता है जब एजेंट ऐसे issues या comments पढ़ता है जो अजनबियों ने लिखे हों, क्योंकि बिना push access वाले लोगों का टेक्स्ट ही वह जगह है जहाँ शत्रुतापूर्ण निर्देश छिपते हैं। HTTP मोड में, एक बार ऑपरेटर सर्वर पर lockdown चालू कर दे, तो X-MCP-Lockdown हेडर उसे एक request के लिए भी बंद नहीं कर सकता।
वे रेट लिमिट जो आपको सचमुच छुएँगी
सर्वर GitHub API को आपकी पहचान के तहत कॉल करता है, इसलिए मायने वे सीमाएँ रखती हैं जो GitHub अपने REST API के लिए डॉक्यूमेंट करता है। दो परतें लागू होती हैं: प्रति घंटे की primary limit और प्रति मिनट की secondary limits।
प्रति घंटे की Primary Limits
कॉलर
सीमा
प्रमाणीकरण के बिना
प्रति घंटे 60 रिक्वेस्ट
प्रमाणित यूज़र (टोकन, OAuth ऐप या GitHub App)
प्रति घंटे 5,000
Enterprise Cloud संगठनों के स्वामित्व या अनुमोदित ऐप्स
प्रति घंटे 15,000
Enterprise के बाहर GitHub App इंस्टॉलेशन
5,000, 12,500 तक बढ़ती है
GITHUB_TOKEN Actions के भीतर
प्रति repository प्रति घंटे 1,000 (Enterprise Cloud पर 15,000)
5,000 प्रति घंटे पर आपको औसतन लगभग 83 calls प्रति मिनट मिलती हैं। ऐसा एजेंट जो किसी repository के issues की सूची लाता है, हर issue खोलता है और फिर हर comment पढ़ता है, वह कुछ ही मिनटों में सैकड़ों calls खर्च कर सकता है, इसलिए बड़े triage सेशन में प्रति घंटे का बजट एक असली बाध्यता है।
प्रति मिनट की Secondary Limits
Secondary limits बर्स्ट रोकने के लिए होती हैं, और एजेंट बर्स्ट पैदा करते हैं। GitHub इन्हें इस तरह डॉक्यूमेंट करता है:
एक साथ अधिकतम 100 रिक्वेस्ट।
REST एंडपॉइंट्स के लिए प्रति मिनट 900 points।
90 सेकंड का CPU टाइम असली समय के प्रति 60 सेकंड पर।
प्रति मिनट 80 कंटेंट जनरेट करने वाली रिक्वेस्ट और प्रति घंटे 500।
प्रति घंटे 2,000 OAuth access token रिक्वेस्ट।
समानांतर (parallel) टूल calls एक साथ चलने की सीमा के सामने जमा होती जाती हैं। ऐसा एजेंट जो लूप में दर्जनों issues पर comment करता है, प्रति घंटे के बजट तक पहुँचने से बहुत पहले प्रति मिनट 80 की कंटेंट-जनरेशन सीमा तक पहुँच जाता है।
403 और 429 एरर ठीक करना
जब कोई सीमा टूटती है, तो GitHub 403 या 429 लौटाता है। कुछ भी बदलने से पहले response headers पढ़ें:
हेडर
अर्थ
x-ratelimit-limit
प्रति घंटे अधिकतम रिक्वेस्ट
x-ratelimit-remaining
मौजूदा विंडो में बची हुई रिक्वेस्ट
x-ratelimit-used
मौजूदा विंडो में की गई रिक्वेस्ट
x-ratelimit-reset
विंडो कब रीसेट होती है, UTC epoch सेकंड में
x-ratelimit-resource
रिक्वेस्ट किस resource में गिनी गई
काम करने वाला Backoff
अगर response में retry-after header है, तो उतने सेकंड इंतज़ार करें।
वरना x-ratelimit-reset में दिए समय तक इंतज़ार करें।
बिना headers वाली secondary limits के लिए कम से कम एक मिनट रुकें, फिर हर नई विफलता पर देरी को घातांकीय रूप से (exponentially) बढ़ाएँ।
यह नियम अपने एजेंट के निर्देशों में भी रखें: जब GitHub 403 या 429 लौटाए, तो दोबारा कोशिश करने के बजाय रुककर रिपोर्ट करे। जो एजेंट तुरंत दोबारा कोशिश करता है, वह उस सीमा पर और requests जलाता है जो अभी रीसेट ही नहीं हुई।
3 आम गलतियाँ
हर toolset चालू कर देना। कॉन्टेक्स्ट टूल डेफ़िनिशन से भर जाता है और एजेंट धीमा हो जाता है और टूल चुनने में भी कम सटीक रहता है।
लूप में लिखना। बल्क comments, labels या issues 80 प्रति मिनट की content सीमा को जल्दी छू लेते हैं। काम को बैच करें और बैचों के बीच रुकें।
एक ही व्यापक टोकन हर जगह इस्तेमाल करना। लीक होने या गड़बड़ करने पर सब एक साथ टूट जाता है। हर प्रोजेक्ट को अपना सीमित टोकन दें।
PicassoIA मॉडल को काम पर लगाएँ
GitHub MCP server कच्चा माल लौटाता है: issues की सूची, diffs, comment threads। कोई लार्ज लैंग्वेज मॉडल उसे फ़ैसलों में बदलता है। PicassoIA पर Claude Sonnet 5 मल्टी-स्टेप कोडिंग और टूल-यूज़ कार्यों को संभालता है, स्क्रीनशॉट पढ़ता है, और आपको यह तय करने देता है कि वह कितनी गहराई से सोचे। इसलिए यह आपके GitHub एजेंट के लौटाए नतीजों पर दूसरी नज़र के रूप में अच्छा काम करता है।
आपके एजेंट ने जो issue list या diff लौटाया है, उसे Prompt फ़ील्ड में चिपकाएँ। पहले टोकन और निजी डेटा हटा दें।
एक बार System Prompt सेट करें, जैसे: "आप pull requests की समीक्षा करते हैं और जोखिम भरे बदलावों को तीन बुलेट में बताते हैं।" इसे पूरे प्रोजेक्ट के लिए दोबारा इस्तेमाल करें।
Effort स्तर चुनें। low डिफ़ॉल्ट और सबसे तेज़ है, जबकि high या max उस बग के लिए ठीक है जो कई फ़ाइलों को छूता है।
Max Tokens को 8,192 पर रहने दें, जब तक जवाब कट न रहा हो।
जब सिर्फ़ टेक्स्ट काफ़ी न हो, तो एरर का स्क्रीनशॉट Image फ़ील्ड में जोड़ें।
PicassoIA अपना developer API और MCP कनेक्टर भी देता है, और वही सीमा-तर्क यहाँ भी लागू होता है। API https://api.picassoia.com/v1 पर उपलब्ध है, ऐसी Bearer credentials स्वीकार करता है जो pia_sk_ से शुरू होती हैं, और jobs एसिंक्रोनस तरीके से चलाता है: एक prediction बनाएँ, उसकी स्थिति जाँचें, फिर नतीजा लाएँ। API और MCP के ज़रिए चार मॉडल उपलब्ध हैं: PicassoIA Image, PicassoIA Image Editor Pro, PicassoIA Video और Seedance 2.5 Lite। एक अकाउंट एक साथ 5 predictions चला सकता है, और यह सीमा सभी credentials और MCP कनेक्शनों में साझा रहती है। GitHub की 100 एक साथ चलने वाली रिक्वेस्ट वाली सीमा से यही सबक़ मिलता है: एक साथ चलने की सीमा ही वह पहली दीवार है जिससे समानांतर एजेंट सबसे पहले टकराता है।
Picasso IA पर आज़माएँ
आपका README, release notes और issue templates ऊपर एक असली इमेज के साथ बेहतर लगते हैं। PicassoIA Image से एक फोटोरियलिस्टिक हेडर बनाएँ, फिर PicassoIA Image Editor Pro से फ़्रेमिंग ठीक करें या कोई बारीकी सुधारें।
आज आज़माने लायक तीन प्रॉम्प्ट:
सूर्योदय के समय एक साफ़-सुथरी डेवलपर डेस्क, जिस पर लैपटॉप, नोटबुक और मग हों, 35mm फ़िल्म पर शूट की गई।
नरम ऊपरी रोशनी और साफ़ केबल वाला संकरा सर्वर रूम गलियारा, वाइड एंगल।
लकड़ी की मेज़ के चारों ओर एक शांत टीम रिव्यू सेशन, प्राकृतिक खिड़की की रोशनी में।
एक चुनें, कुछ वैरिएशन बनाएँ और देखें कि कौन-सा आपके अगले repository पेज को अलग दिखाता है। Picasso IA के साथ अपनी इमेज बनाना शुरू करें और तब तक प्रयोग करें जब तक नतीजा आपके प्रोजेक्ट जैसा न लगे।