Edgegap
आधिकारिकअपने कोडिंग एजेंट से मल्टीप्लेयर गेम सर्वर तैनात करें। दस उपकरण जो Unity, Unreal, या Godot समर्पित सर्वर को कंटेनर इमेज से जुड़े खिलाड़ियों तक ले जाते हैं।
Edgegap MCP के साथ आप क्या कर सकते हैं?
- Dockerfile लिखें — अपने एजेंट से Unity, Unreal, Godot या किसी अन्य सर्वर बिल्ड के लिए headless फ़्लैग और मेल खाते पोर्ट के साथ Dockerfile बनवाएँ।
- बिल्ड करने से पहले सत्यापन करें — ARM इमेज या localhost से बँधे सर्वर जैसी समस्याओं के लिए मौजूदा Dockerfile, पोर्ट, संसाधनों और इमेज टैग की जाँच करें।
- डेडिकेटेड सर्वर डिप्लॉय करें — किसी इमेज को ऐप वर्शन के रूप में रजिस्टर करें, लोकेशन चुनें, खिलाड़ियों के पास डिप्लॉय करें और सर्वर का IP तथा पोर्ट प्राप्त करें।
- असफल डिप्लॉयमेंट की जाँच करें — यह पता लगाने के लिए कंटेनर लॉग, क्रैश की जानकारी और CPU/मेमोरी मेट्रिक्स पढ़ें कि सर्वर क्यों विफल हुआ या क्रैश हुआ।
- रिले सेशन सेट अप करें — होस्ट-क्लाइंट गेम के लिए रिले बनाएँ और रिले का पता तथा हर खिलाड़ी का प्राधिकरण टोकन प्राप्त करें।
होस्ट किया गया MCP सर्वर
npx add-mcp 'https://mcp.edgegap.dev/mcp'Claude Code, Codex, Cursor और अन्य में इंस्टॉल होता है
दस्तावेज़
Edgegap MCP Server
हमारे MCP सर्वर के ज़रिए AI कोडिंग एजेंट को Edgegap से कनेक्ट करें। आपका एजेंट हेडलेस सर्वर बिल्ड से लेकर खिलाड़ियों के कनेक्ट होने तक का पूरा काम कर सकता है: Dockerfile लिखना या जाँचना, इमेज को आपकी निजी Edgegap रजिस्ट्री में पुश करना, खिलाड़ियों के पास एक ऑथोरिटेटिव डेडिकेटेड सर्वर डिप्लॉय करना, और कुछ गड़बड़ होने पर लॉग पढ़ना।
👉 समर्थित सुविधाएँ
[!TIP] Unity, Unreal Engine या Godot का उपयोग कर रहे हैं? इन इंजनों के लिए हमारी Unity, Unreal Engine और Godot गाइड और प्लगइन अब भी सबसे तेज़ तरीका हैं। MCP सर्वर इनके साथ भी काम करता है और किसी भी इंजन के लिए अकेले भी।
हमारे MCP सर्वर का उपयोग करें:
- अपने गेम सर्वर को कंटेनराइज़ करने के लिए - आपका एजेंट आपके बिल्ड के लिए सर्वोत्तम तरीकों के अनुसार Dockerfile लिखता है (या आपके मौजूदा Dockerfile की समीक्षा करता है), इमेज को हमारी निजी कंटेनर रजिस्ट्री में पुश करता है और रजिस्ट्री की क्षमता वापस पाने के लिए पुराने, अप्रयुक्त इमेज टैग हटाता है।
- डेडिकेटेड सर्वर डिप्लॉय करने के लिए - ऐप वर्शन बनाएँ और अपडेट करें, उपलब्ध लोकेशन देखें, खिलाड़ियों के पास डिप्लॉय करें और क्लाइंट कनेक्शन जाँचने के लिए पोर्ट सहित सर्वर IP पाएँ।
- CI/CD पाइपलाइन बनाने के लिए - बिल्ड सिस्टम से अपने डिप्लॉयमेंट और उन्हें हटाने की प्रक्रिया जाँचें।
- गेम सर्वर की समस्या का निवारण करने के लिए - ऐप वर्शन और डिप्लॉयमेंट की स्थिति देखें, कंटेनर लॉग और CPU/मेमोरी उपयोग पढ़ें या विफल डिप्लॉयमेंट को दोबारा चलाकर देखें।
- क्लाइंट-होस्ट और पीयर-टू-पीयर गेम चलाने के लिए - NAT पंचथ्रू देने और कनेक्शन ब्लॉक होने से बचाने वाले रिले सेशन बनाएँ। निर्णय लेने से पहले Orchestration Models और Dedicated Servers or Relays? देखें।
[!WARNING] MCP के दायरे से बाहर / समर्थित नहीं: Linux सर्वर एक्ज़ीक्यूटेबल बनाना; मैचमेकर बनाना, शुरू करना या रोकना (जनरेट किया गया कॉन्फ़िगरेशन डैशबोर्ड पर अपलोड करें); सर्वर ब्राउज़र; लॉबी; मैनेज्ड क्लस्टर; निजी फ़्लीट; या बिलिंग।
[!NOTE] अगर आपको मदद चाहिए, तो Discord पर हमसे संपर्क करें। लाइव गेम के लिए सहायता हेतु हमारा टिकटिंग सिस्टम देखें।
⚖️ डेडिकेटेड सर्वर या रिले?
Edgegap आपके मल्टीप्लेयर गेम को दो तरीकों से होस्ट कर सकता है। हम डेडिकेटेड सर्वर की सलाह देते हैं, और हमारा MCP सर्वर भी यही करता है: आपका एजेंट डिफ़ॉल्ट रूप से डेडिकेटेड सर्वर का उपयोग करेगा और रिले का उपयोग केवल तभी करेगा जब आपने होस्ट-क्लाइंट सेटअप चुना हो।
| डेडिकेटेड सर्वर (अनुशंसित) | रिले | |
|---|---|---|
| Edgegap क्या चलाता है | आपका हेडलेस सर्वर बिल्ड, खिलाड़ियों के पास | केवल ट्रैफ़िक फ़ॉरवर्डर, कोई गेम कोड नहीं |
| गेम कौन चलाता है | सर्वर | एक खिलाड़ी का गेम (होस्ट) |
| चीटिंग | बहुत मुश्किल, सर्वर के पास नियंत्रण होता है | होस्ट कुछ भी बदल सकता है |
| निष्पक्षता | हर खिलाड़ी सीधे सर्वर से कनेक्ट करता है | होस्ट को कोई लेटेंसी नहीं, बाकी सभी दो हॉप से होकर जाते हैं |
| होस्ट के जाने पर | मैच जारी रहता है | मैच समाप्त हो जाता है, जब तक आपका गेम होस्ट माइग्रेशन का समर्थन न करे |
| प्रदर्शन किससे सीमित होता है | सर्वर को आवंटित CPU और मेमोरी | होस्ट का PC और घरेलू इंटरनेट अपलोड |
| आपको क्या चाहिए | कंटेनर इमेज में सर्वर बिल्ड | लिसन सर्वर (होस्ट-क्लाइंट) के रूप में बनाया गया नेटकोड |
[!NOTE] अभी सर्वर इमेज नहीं है? यह रिले चुनने का कारण नहीं है। आपका एजेंट आपके बिल्ड के लिए
edgegap_generate_dockerfileसे Dockerfile लिख सकता है। Distributed Relay में रिले के बारे में और जानें।
🚀 इंस्टॉलेशन
MCP सर्वर इंस्टॉल करना बहुत आसान है:
- MCP सर्वर को Popular Agents के लिए या Custom Integration के साथ इंस्टॉल करें।
- एक API टोकन जनरेट करें और उसे अपने एजेंट के साथ जोड़ें, ताकि वह हमारे MCP सर्वर का उपयोग कर सके।
Edgegap API के लिए अपने सीक्रेट टोकन Dashboard - User Settings / Tokens में जनरेट करें (और देखें)।
हर API अनुरोध के साथ अपने सीक्रेट टोकन को HTTP हेडर के रूप में जोड़ें (इसमें token शब्द शामिल करें):
Authorization: token xxxxxxxx-e458-4592-b607-c2c28afd8b62
[!CAUTION] गेम क्लाइंट में Edgegap API एंडपॉइंट इंटीग्रेट न करें, क्योंकि आपका API टोकन आपके खाते को असीमित रूप से एक्सेस करने की अनुमति देता है। सुरक्षित क्लाइंट-फेसिंग API एंडपॉइंट और फ़ंक्शन के लिए Integration देखें।
[!TIP] अगर आपके सीक्रेट टोकन से छेड़छाड़ हो जाए या वे लीक हो जाएँ, तो उन्हें डैशबोर्ड से हटाकर फिर से बनाएँ।
यह टोकन पूरे संगठन पर लागू होता है और इसे किसी एक ऐप तक सीमित नहीं किया जा सकता। किसी बिना निगरानी वाले एजेंट को देने से पहले DESIGN.md पढ़ें।
लोकप्रिय एजेंट
इस पेज के ऊपर दिए गए Cursor या VS Code बटन से अपने पसंदीदा एजेंटिक IDE में Edgegap MCP सर्वर इंस्टॉल करें, फिर Authorization हेडर में अपना टोकन जोड़ें।
Claude Code
claude mcp add --transport http edgegap https://mcp.edgegap.dev/mcp \
-H "Authorization: token xxxxxxxx-e458-4592-b607-c2c28afd8b62" --scope user
ChatGPT Codex
Codex टोकन को एनवायरनमेंट वेरिएबल से पढ़ता है और उसे Authorization: Bearer <token> के रूप में भेजता है, जिसे होस्टेड एंडपॉइंट स्वीकार करता है। ~/.codex/config.toml में:
[mcp_servers.edgegap]
url = "https://mcp.edgegap.dev/mcp"
bearer_token_env_var = "EDGEGAP_API_TOKEN"
फिर Codex जिस एनवायरनमेंट से शुरू होता है, उसमें EDGEGAP_API_TOKEN को अपने टोकन पर सेट करें।
Claude Desktop और claude.ai
claude.ai और Claude Desktop के कस्टम कनेक्टर Authorization हेडर नहीं भेज सकते, इसलिए होस्टेड एंडपॉइंट को उनसे आपका टोकन कभी नहीं मिलता: कनेक्टर कनेक्टेड दिखता है, लेकिन हर टूल कॉल विफल हो जाता है। इसके बजाय Local Server का उपयोग करें।
Claude Desktop में Settings → Developer → Edit Config खोलें और claude_desktop_config.json में लोकल सर्वर जोड़ें:
{
"mcpServers": {
"edgegap": {
"command": "npx",
"args": ["-y", "@edgegap/mcp"]
}
}
}
टोकन न दें; पहली बार उपयोग करने पर आपसे पूछा जाएगा। ब्राउज़र में claude.ai लोकल सर्वर नहीं चला सकता, इसलिए OAuth का समर्थन करने वाला होस्टेड एंडपॉइंट उपलब्ध होने तक वह Edgegap MCP का उपयोग नहीं कर सकता।
Cursor
इस पेज के ऊपर दिया गया Cursor बटन इसे इंस्टॉल करता है; इसे हाथ से करने के लिए ~/.cursor/mcp.json (या किसी प्रोजेक्ट में .cursor/mcp.json) में यह जोड़ें:
{
"mcpServers": {
"edgegap": {
"url": "https://mcp.edgegap.dev/mcp",
"headers": { "Authorization": "token xxxxxxxx-e458-4592-b607-c2c28afd8b62" }
}
}
}
VS Code (Copilot agent mode)
इस पेज के ऊपर दिया गया VS Code बटन इसे इंस्टॉल करता है; इसे हाथ से करने के लिए .vscode/mcp.json में यह जोड़ें (VS Code mcpServers नहीं, servers का उपयोग करता है):
{
"servers": {
"edgegap": {
"type": "http",
"url": "https://mcp.edgegap.dev/mcp",
"headers": { "Authorization": "token xxxxxxxx-e458-4592-b607-c2c28afd8b62" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json में Local Server चलाएँ, जो उन सभी क्लाइंट में काम करता है जो MCP सर्वर को कमांड के रूप में शुरू करते हैं:
{
"mcpServers": {
"edgegap": {
"command": "npx",
"args": ["-y", "@edgegap/mcp"],
"env": { "EDGEGAP_API_TOKEN": "xxxxxxxx-e458-4592-b607-c2c28afd8b62" }
}
}
}
mcp.json
अधिकांश एजेंटिक IDE JSON कॉन्फ़िगरेशन पेस्ट करके इंटीग्रेशन का भी समर्थन करते हैं:
{
"mcpServers": {
"Edgegap": {
"type": "http",
"url": "https://mcp.edgegap.dev/mcp",
"headers": {
"Authorization": "token xxxxxxxx-e458-4592-b607-c2c28afd8b62"
}
}
}
}
कस्टम इंटीग्रेशन
रिमोट Edgegap MCP सर्वर को अपने एजेंट के वर्चुअलाइज़्ड एनवायरनमेंट में इंस्टॉल करें (अपने प्रोजेक्ट में कभी नहीं!):
Node, mcp-remote npx पैकेज का उपयोग करके
{
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.edgegap.dev/mcp", "--transport", "http-only"]
}
Python, mcp-proxy uvx पैकेज का उपयोग करके
{
"command": "uvx",
"args": ["mcp-proxy", "--transport", "streamablehttp", "https://mcp.edgegap.dev/mcp"]
}
एक-क्लिक इंस्टॉल (Claude Desktop)
edgegap-mcp.mcpb डाउनलोड करके खोलें: Claude Desktop लोकल सर्वर को एक्सटेंशन के रूप में इंस्टॉल करता है और आपका API टोकन माँगता है, जिसे वह ऑपरेटिंग सिस्टम के सुरक्षित स्टोरेज में रखता है। एक्सटेंशन की सेटिंग में केवल-पढ़ने का मोड, ऐप की अनुमति-सूची, अधिकतम अवधि की सीमा और डिप्लॉयमेंट सीमा (नीचे दिए गए वेरिएबल) भी शामिल हैं। हर release के साथ उस रिलीज़ के कोड से बनाया गया बंडल जुड़ा होता है। MCPB बंडल इंस्टॉल करने वाला कोई भी अन्य ऐप इसी तरह काम करता है।
लोकल सर्वर
अपना API टोकन अपनी मशीन पर रखने के लिए, इसके बजाय सर्वर को लोकल रूप से चलाएँ। टोकन न दें; पहली बार उपयोग करने पर आपका एजेंट आपसे इसे माँगेगा और केवल उस सेशन के लिए मेमोरी में रखेगा:
{
"mcpServers": {
"Edgegap": {
"command": "npx",
"args": ["-y", "@edgegap/mcp"],
"env": { "EDGEGAP_API_TOKEN": "xxxxxxxx-e458-4592-b607-c2c28afd8b62" }
}
}
}
इसके लिए Node 18+ चाहिए। प्रोडक्शन में नवीनतम वर्शन पर निर्भर रहने के बजाय कोई वर्शन पिन करें (@edgegap/mcp@0.15.4)। आधिकारिक MCP रजिस्ट्री में dev.edgegap/mcp के रूप में पंजीकृत।
लोकल सर्वर यह भी सीमित कर सकता है कि एजेंट क्या कर सकता है। इन वेरिएबल का होस्टेड एंडपॉइंट mcp.edgegap.dev पर कोई प्रभाव नहीं पड़ता:
| वेरिएबल | डिफ़ॉल्ट | उद्देश्य |
|---|---|---|
EDGEGAP_API_TOKEN | (पूछा जाएगा) | API टोकन। वैकल्पिक: इसे छोड़ दें और पहली बार उपयोग करने पर आपसे पूछा जाएगा। आपके लिए token प्रीफ़िक्स जोड़ दिया जाता है। इसे कभी भी कमांड-लाइन आर्ग्युमेंट के रूप में न दें। |
EDGEGAP_READ_ONLY | 0 | इसे 1 पर सेट करें; तब कुछ बदलने वाले टूल (Tools में ● से चिह्नित) कभी रजिस्टर नहीं होते, इसलिए एजेंट को उन्हें कॉल करने के लिए बहकाया नहीं जा सकता। |
EDGEGAP_APP_ALLOWLIST | (खाली) | कॉमा से अलग किए गए ऐप नाम। यह सीमित करता है कि एजेंट किन ऐप में बना और डिप्लॉय कर सकता है। पढ़ने की क्रियाएँ (ऐप और वर्शन की सूची देखना) सीमित नहीं हैं, और चल रहे डिप्लॉयमेंट को छूना भी सीमित नहीं है। DESIGN.md देखें। |
EDGEGAP_MAX_DURATION_MINUTES | 60 | उस max_duration की अधिकतम सीमा जिसे एजेंट किसी वर्शन पर सेट कर सकता है। edgegap_deploy ऐसे वर्शन को भी अस्वीकार करता है जिसका max_duration इससे अधिक हो या असीमित हो, जब तक एजेंट आपसे पूछने के बाद allow_long_running: true न भेजे। |
EDGEGAP_MAX_AGENT_DEPLOYMENTS | 5 | जब edgegap-mcp टैग वाले इतने डिप्लॉयमेंट चल रहे हों, तो edgegap_deploy अनुरोध अस्वीकार करता है। 0 इस सीमा को बंद कर देता है। |
EDGEGAP_MAX_DEPLOYS_PER_RUN | 20 | एक सर्वर प्रोसेस द्वारा भेजे जा सकने वाले डिप्लॉयमेंट की संख्या, जिसमें विफल डिप्लॉयमेंट भी शामिल हैं। इसे रीसेट करने के लिए सर्वर रीस्टार्ट करें। 0 इसे बंद कर देता है। |
EDGEGAP_STOP_OWN_ONLY | 0 | इसे 1 पर सेट करें; तब edgegap_stop_deployment केवल edgegap-mcp टैग वाले डिप्लॉयमेंट रोकता है, ताकि एजेंट उन सर्वर को न रोक सके जिन्हें उसने शुरू नहीं किया। |
EDGEGAP_ENABLE_SKILLS_UPDATE | 0 | 1 पर सेट करें, ताकि edgegap_update_skills apply: true के साथ npx skills@1.7.4 update या claude plugin update चला सके। इसके बिना, यह आपके चलाने के लिए उन कमांड की सूची देता है। हाथ से कॉपी की गई स्किल को किसी भी स्थिति में बंडल से फिर लिखा जाता है। अपडेटर को केवल path, home, temp, locale, proxy और npm सेटिंग मिलती हैं; EDGEGAP_* वेरिएबल या token, secret, password या key जैसे नाम वाली कोई चीज़ कभी नहीं मिलती। |
EDGEGAP_TIMEOUT_MS | 30000 | हर अनुरोध के लिए HTTP टाइमआउट। |
EDGEGAP_SKILLS_CHECK | on | इसे off पर सेट करें; तब स्किल टूल GitHub से स्किल का नवीनतम वर्शन कभी नहीं पढ़ते। |
Windows
लोकल सर्वर Windows पर Node.js 18 या नए वर्शन के साथ चलता है, और CI Windows पर बिल्ड और stdio टेस्ट चलाता है।
- कई Windows MCP क्लाइंट
npxको सीधे शुरू नहीं कर सकते, क्योंकि यह.cmdस्क्रिप्ट है। इसेcmd /cके ज़रिए शुरू करें:"command": "cmd", "args": ["/c", "npx", "-y", "@edgegap/mcp"]। Claude Code में:claude mcp add Edgegap --env EDGEGAP_API_TOKEN=<token> -- cmd /c npx -y @edgegap/mcp। - PowerShell में, इसे हाथ से चलाने के लिए
npxके बजायnpx.cmdटाइप करें: नया Windows इंस्टॉलnpxPowerShell स्क्रिप्ट को ब्लॉक करता है ("इस सिस्टम पर स्क्रिप्ट चलाना अक्षम है")। - पहली बार शुरू करने पर पैकेज डाउनलोड होता है और इसमें कुछ समय लग सकता है; बाद में शुरू करना तेज़ होता है।
edgegap_update_skillsmacOS और Linux की तरह ही%USERPROFILE%में इंस्टॉल की गई स्किल ढूँढ़ता है।
📚 स्किल
सर्वर में Edgegap agent skills शामिल हैं: मल्टीप्लेयर गेम को ऑनलाइन लाने के लिए जाँचे गए, चरण-दर-चरण वर्कफ़्लो, जिनमें टेम्पलेट (Dockerfile, मैचमेकर कॉन्फ़िगरेशन, Unity C# और Unreal C++ ड्रॉप-इन) और ज्ञात समस्याएँ शामिल हैं। Edgegap MCP से कनेक्ट किया गया कोई भी एजेंट इन्हें बिना अलग इंस्टॉलेशन और बिना टोकन के प्राप्त करता है, और उसे गेम प्रोजेक्ट पर काम करने से पहले संबंधित स्किल लोड करने के लिए कहा जाता है।
| कौशल | किसके लिए |
|---|---|
edgegap | Unity या Unreal Engine के अलावा किसी भी इंजन के लिए, या प्लेटफ़ॉर्म से जुड़े सवालों के लिए यहाँ से शुरू करें। यह बाकी विकल्पों तक पहुँचाता है। |
edgegap-unity | Unity का शुरू से अंत तक का सेटअप: सर्वर बिल्ड, मैचमेकर, क्लाइंट, एंड-टू-एंड परीक्षण। |
edgegap-ngo | Netcode for GameObjects के साथ Unity का शुरू से अंत तक का सेटअप: सर्वर शुरू करना और खुद बंद करना, Find Match पैनल, Boss Room अडैप्टर, मैचमेकर। |
edgegap-fishnet | FishNet के साथ Unity का शुरू से अंत तक का सेटअप: हेडलेस सर्वर, Bayou/WebGL, मैचमेकर, एंड-टू-एंड परीक्षण। |
edgegap-purrnet | PurrNet के साथ Unity का शुरू से अंत तक का सेटअप: डेडिकेटेड सर्वर, कनेक्ट पैनल, मैचमेकर, एंड-टू-एंड परीक्षण। |
edgegap-fusion | Photon Fusion 2 के साथ Unity का शुरू से अंत तक का सेटअप: IL2CPP Linux सर्वर, 0.0.0.0 से बँधा सर्वर, Edgegap डिप्लॉयमेंट, BR200 किट। |
edgegap-fusion-simplefps | Edgegap डेडिकेटेड सर्वर पर Photon का Simple FPS सैंपल। |
edgegap-godot | Godot डेडिकेटेड सर्वर के साथ Godot 4: हेडलेस एक्सपोर्ट, ENet या WebSocket, मैचमेकर। |
edgegap-colyseus | Edgegap पर Colyseus सर्वर, सीधे या मैचमेकर के ज़रिए। |
edgegap-nakama | बैकएंड के रूप में Nakama, जो अपने मैचों के लिए Edgegap सर्वर शुरू करता है। |
edgegap-playfab | Edgegap सर्वर के साथ PlayFab Matchmaking। |
edgegap-threejs | Three.js और अपने Node.js सर्वर वाले अन्य ब्राउज़र गेम। |
edgegap-matchmaking | किसी भी इंजन के लिए मैचमेकिंग डिज़ाइन: इसका स्वामित्व किसके पास है, प्रोफ़ाइल, पार्टियाँ, क्षेत्र चयन, बैकफ़िल, तृतीय-पक्ष मैचमेकर। |
edgegap-manus | Manus से बने ब्राउज़र गेम: बैकएंड मैचमेकिंग, Steam साइन-इन, हस्ताक्षरित जॉइन टोकन, Node WebSocket सर्वर। |
edgegap-unreal | Unreal Engine का शुरू से अंत तक का सेटअप: सोर्स इंजन, Linux सर्वर, मैचमेकर, एंड-टू-एंड परीक्षण। |
edgegap-eos-voice | EOS Voice के साथ Edgegap पर Unreal गेम के लिए वॉइस चैट: सर्वर-साइड रूम टोकन, मैच और टीम रूम। |
edgegap-server-design | ऑथॉरिटेटिव सर्वर डिज़ाइन और डिप्लॉयमेंट का जीवनचक्र। |
edgegap-containerize | कंटेनर कॉन्ट्रैक्ट, Dockerfiles, रजिस्ट्री, ऐप संस्करण। |
edgegap-local-testing | पहले अपनी मशीन पर पैरिटी परीक्षण, फिर एक स्मोक-टेस्ट डिप्लॉयमेंट। |
edgegap-troubleshoot | पुल त्रुटियाँ, क्रैश लूप, आउट-ऑफ़-मेमोरी, कनेक्ट न कर पाने वाले क्लाइंट। |
edgegap-deployments-api | सर्वर डिप्लॉय करने वाला बैकएंड कोड: वेबहुक, सफ़ाई, Nakama, PlayFab, UGS, EOS। |
edgegap-launch | लॉन्च चेकलिस्ट, रोलआउट, कैशिंग, लागत नियंत्रण। |
इन्हें तीन तरीकों से उपलब्ध कराया जाता है, ताकि हर MCP क्लाइंट इन तक पहुँच सके:
- टूल:
edgegap_list_skillsऔरedgegap_get_skill, जो किसी कौशल काSKILL.mdलोड करता है, याfileके ज़रिए उसके संदर्भ दस्तावेज़ों या टेम्पलेट में से किसी एक को लोड करता है। - प्रॉम्प्ट:
deploy-game-server("मेरे गेम सर्वर को Edgegap पर डिप्लॉय करें") शुरुआत करने की जगह है: यह इंजन और नेटकोड ढूँढ़ता है, उससे मेल खाने वाला कौशल लोड करता है और सफ़ाई सहित सुझाए गए पूरे तरीके से आगे बढ़ता है। हर कौशल के लिए उसके नाम वाला एक प्रॉम्प्ट भी है। Claude Code में ये स्लैश कमांड के रूप में दिखते हैं, जैसे/mcp__edgegap__deploy-game-server। - संसाधन: हर कौशल का
SKILL.mdedgegap-skill://<skill>/SKILL.mdपर सूचीबद्ध है; बाकी हर फ़ाइल कोedgegap-skill://{skill}/{+path}टेम्पलेट के ज़रिए पढ़ा जाता है, जैसेedgegap-skill://edgegap-unity/references/deploy.md।
हर रिलीज़ में scripts/skills-pin.txt पर पिन किए गए कमिट के कौशल शामिल होते हैं; edgegap_context बताता है कि कौन-सा पैक लोड है। edgegap_list_skills GitHub से नवीनतम पैक संस्करण भी पढ़ता है (एक संस्करण संख्या, एक घंटे के लिए कैश की जाती है; EDGEGAP_SKILLS_CHECK=off इसे बंद करता है) और बताता है कि नया संस्करण उपलब्ध है या नहीं। edgegap_get_skill किसी कौशल के हेडर के नीचे यही सूचना जोड़ता है।
इंस्टॉल किए गए कौशलों को अद्यतन रखना। अगर आपने कौशल अपने एजेंट में भी इंस्टॉल किए हैं (Claude Code प्लगइन edgegap@edgegap, npx skills add edgegap/llm-agent-skills, या ~/.claude/skills में कॉपी किए गए फ़ोल्डर), तो edgegap_update_skills हर कौशल की तुलना GitHub पर उपलब्ध नवीनतम संस्करण से करता है। लोकल सर्वर पर यह उन इंस्टॉलेशन को खुद ढूँढ़ लेता है; apply: true के साथ यह npx skills update (केवल Edgegap कौशल) या claude plugin update चलाता है, और इस रिलीज़ में शामिल फ़ाइलों से हाथ से कॉपी किए गए कौशलों को फिर से लिखता है। आपके जोड़े हुए फ़ाइलें बनी रहती हैं और सिमलिंक तथा git चेकआउट को नहीं छेड़ा जाता। यह कौशल का टेक्स्ट कभी डाउनलोड नहीं करता। होस्टेड सर्वर आपकी डिस्क नहीं देख सकता: installed_versions में लोड किए गए संस्करण दें, और यह बताएगा कि कौन-से पुराने हैं और उन्हें कैसे अद्यतन करना है।
🧰 टूल
आपका एजेंट आपके अनुरोध के आधार पर सही टूल चुनता है। आपको उनका नाम बताने की ज़रूरत नहीं, लेकिन उपलब्ध विकल्पों की जानकारी होने से आप बेहतर अनुरोध कर सकते हैं। ● से चिह्नित टूल आपके खाते में बदलाव करते हैं, dry_run स्वीकार करते हैं, और EDGEGAP_READ_ONLY=1 होने पर छिपे रहते हैं।
| टूल | यह क्या करता है |
|---|---|
edgegap_context | बताता है कि यह सर्वर किस API से बात करता है, उसका संस्करण क्या है, वह लोकल है या होस्टेड, और कौन-से सुरक्षा नियम लागू हैं। कोई API कॉल नहीं करता; टोकन कभी नहीं दिखाता। |
पहले डिप्लॉयमेंट से पहले
| टूल | यह क्या करता है |
|---|---|
edgegap_generate_dockerfile | आपके सर्वर बिल्ड के लिए Dockerfile लिखता है: आपका बिल्ड फ़ोल्डर, सर्वर बाइनरी या स्टार्ट स्क्रिप्ट, पोर्ट और लॉन्च आर्ग्युमेंट, साथ में सही हेडलेस फ़्लैग (Unity -batchmode -nographics, Godot --headless), Unreal के लिए नॉन-रूट उपयोगकर्ता और मेल खाते पोर्ट। जिन बातों का अनुमान लगाना पड़ा, उनकी सूची देता है ताकि आपका एजेंट उनकी पुष्टि कर सके। Unity, Unreal Engine, Godot और किसी भी अन्य इंजन के साथ काम करता है। |
edgegap_validate_server_config | बिल्ड करने से पहले मौजूदा Dockerfile, पोर्ट, संसाधन और इमेज टैग की जाँच करता है। ARM या Windows इमेज (Edgegap linux/amd64 चलाता है), रूट के रूप में चल रहे Unreal सर्वर, अनुपस्थित Unity -batchmode -nographics, localhost से बँधे सर्वर, आपके नेटकोड ट्रांसपोर्ट से मेल न खाने वाले पोर्ट और latest टैग का पता लगाता है। |
edgegap_get_registry_credentials ● | आपकी निजी Edgegap कंटेनर रजिस्ट्री के लिए पुश क्रेडेंशियल देता है, साथ में सटीक docker login, बिल्ड और पुश कमांड। Edgegap ये केवल Unity/Unreal प्लगइन के क्विक-स्टार्ट टोकन के लिए देता है; सामान्य API टोकन के साथ यह आपके एजेंट को डैशबोर्ड के Container Registry पेज से लॉगिन माँगने को कहता है। |
edgegap_list_registry_tags | रजिस्टर करने से पहले पुष्टि करता है कि आपकी इमेज पुश सफल हुआ है। केवल इमेज का नाम लेता है, जैसे my-game-server: प्रोजेक्ट आपके टोकन से लिया जाता है। |
edgegap_delete_registry_tag ● | पुराने बिल्ड साफ़ करने के लिए एक टैग और उससे जुड़ी इमेज हटाता है। हर कॉल में एक सटीक टैग; latest, वाइल्डकार्ड और सूचियाँ अस्वीकार की जाती हैं। |
डेडिकेटेड सर्वर (अनुशंसित)
| टूल | यह क्या करता है |
|---|---|
edgegap_list_apps | आपके एप्लिकेशन सूचीबद्ध करता है। |
edgegap_create_app ● | एक एप्लिकेशन बनाता है। |
edgegap_update_app ● | नए डिप्लॉयमेंट के लिए किसी एप्लिकेशन को चालू या बंद करता है। |
edgegap_list_app_versions | इमेज, संसाधन, पोर्ट (TLS Upgrade सहित) और रजिस्ट्री लॉगिन सेट है या नहीं—इन विवरणों के साथ संस्करण सूचीबद्ध करता है। |
edgegap_get_app_version | किसी एक संस्करण की पूरी जानकारी पढ़ता है: इमेज, संसाधन, पोर्ट, अधिकतम अवधि, इमेज कैशिंग, रीस्टार्ट नीति और env var के नाम (मान कभी नहीं)। |
edgegap_create_app_version ● | कंटेनर इमेज को डिप्लॉय किए जा सकने वाले संस्करण के रूप में रजिस्टर करता है। WS और HTTP पोर्ट पर TLS Upgrade का समर्थन करता है, जिसकी ब्राउज़र (WebGL) क्लाइंट को wss:// के लिए ज़रूरत होती है। |
edgegap_update_app_version ● | मौजूदा संस्करण में बदलाव करता है: नया इमेज टैग, चालू/बंद स्थिति, CPU और मेमोरी (दोनों साथ), अधिकतम अवधि, रजिस्ट्री लॉगिन, इमेज कैशिंग (force_cache), शटडाउन ग्रेस अवधि, पोर्ट, env vars और वह Endpoint Storage जहाँ इसके लॉग जाते हैं। केवल दिए गए फ़ील्ड बदलते हैं, लेकिन ports और env पूरी सूची को बदल देते हैं। चल रहे डिप्लॉयमेंट पुरानी सेटिंग इस्तेमाल करते रहते हैं। |
edgegap_delete_app_version ● | परीक्षण संस्करण साफ़ करने के लिए एक संस्करण हटाता है। अगर उसका कोई डिप्लॉयमेंट चल रहा हो, तो अनुरोध अस्वीकार किया जाता है। रजिस्ट्री इमेज बनी रहती है। |
edgegap_delete_app ● | एक एप्लिकेशन और उसके संस्करण हटाता है। अगर उसका कोई डिप्लॉयमेंट चल रहा हो, या उसमें max_versions (डिफ़ॉल्ट 0) से अधिक संस्करण हों, तो अनुरोध अस्वीकार किया जाता है। |
edgegap_list_locations | उन शहरों की सूची देता है जहाँ Edgegap डिप्लॉय करता है, या किसी एक संस्करण के लिए केवल उन शहरों की सूची देता है जहाँ अभी क्षमता उपलब्ध है। |
edgegap_list_ping_beacons | उन पिंग बीकन की सूची देता है जिनसे गेम क्लाइंट हर क्षेत्र की लेटेंसी मापते हैं। |
edgegap_deploy ● | आपके खिलाड़ियों के पास ऑथॉरिटेटिव डेडिकेटेड सर्वर डिप्लॉय करता है। हमेशा edgegap-mcp टैग किया जाता है और बताता है कि Edgegap इसे कब बंद करेगा। वैकल्पिक: केवल इस डिप्लॉयमेंट के लिए CPU और मेमोरी, सर्वर तैयार होने, विफल होने या समाप्त होने पर Edgegap द्वारा कॉल किए जाने वाले वेबहुक, तेज़ शुरुआत के लिए require_cached_locations, और पहले अपने निजी फ़्लीट पर रखने के लिए private_host_ids। |
edgegap_list_fleet_hosts | आपके किसी निजी फ़्लीट के होस्ट, उनकी स्थिति और स्थान सहित, सूचीबद्ध करता है ताकि उन पर डिप्लॉय किया जा सके। |
edgegap_wait_for_deployment | सर्वर तैयार होने तक प्रतीक्षा करता है और कनेक्शन पता लौटाता है। |
edgegap_get_deployment | किसी डिप्लॉयमेंट की स्थिति पढ़ता है। |
edgegap_list_deployments | एप्लिकेशन, संस्करण, स्थिति, टैग और अन्य फ़िल्टर के आधार पर चल रहे डिप्लॉयमेंट सूचीबद्ध करता है और उन्हें अवधि के अनुसार क्रमबद्ध करता है। चालू रह गए सर्वर ढूँढ़ता है; only_agent_deployments: true एजेंट द्वारा शुरू किए गए सभी सर्वर सूचीबद्ध करता है। डिप्लॉयमेंट फ़िल्टर करें देखें। |
edgegap_get_deployment_logs | डिप्लॉयमेंट चलते समय कंटेनर लॉग और क्रैश विवरण पढ़ता है। बंद होने के बाद लॉग केवल तभी रखे जाते हैं जब Endpoint Storage सेट किया गया हो। |
edgegap_get_deployment_metrics | CPU, CPU थ्रॉटलिंग, मेमोरी और नेटवर्क उपयोग का सारांश देता है (नवीनतम, औसत, अधिकतम), ताकि संस्करण का आकार तय किया जा सके या क्रैश की जाँच हो सके। |
edgegap_stop_deployment ● | सटीक अनुरोध ID से एक डिप्लॉयमेंट रोकता है। एक साथ कई डिप्लॉयमेंट रोकने की सुविधा नहीं है। |
edgegap_tag_deployment ● | चल रहे डिप्लॉयमेंट पर टैग जोड़ता या हटाता है, जैसे किसी मैच को चिह्नित करने के लिए। edgegap-mcp टैग बना रहता है। |
edgegap_report_deployment ● | स्टूडियो के मॉडरेशन बैकएंड के लिए, किसी कारण सहित डिप्लॉयमेंट की रिपोर्ट Edgegap को भेजता है। यह चलता रहता है। |
लॉग और फ़ाइलें (Endpoint Storage)
जब तक कंटेनर लॉग आपके अपने S3-संगत बकेट में एक्सपोर्ट न किए जाएँ, वे डिप्लॉयमेंट के साथ मिट जाते हैं।
| टूल | यह क्या करता है |
|---|---|
edgegap_list_endpoint_storage | आपके Endpoint Storage बकेट और उनके पुल प्रोफ़ाइल सूचीबद्ध करता है। सीक्रेट कुंजियाँ कभी नहीं लौटाई जातीं। |
edgegap_create_endpoint_storage ● | लॉग एक्सपोर्ट के लिए बकेट (AWS S3, Cloudflare R2, DigitalOcean Spaces…) रजिस्टर करता है। एक्सपोर्ट चालू करने के लिए किसी संस्करण पर endpoint_storage सेट करें। सीक्रेट कुंजी कभी वापस नहीं दिखाई जाती। |
edgegap_create_pull_profile ● | बकेट से कोई फ़ाइल या फ़ोल्डर बूट के समय कंटेनर में कॉपी करता है (मैप, कॉन्फ़िगरेशन, बड़ी एसेट)। |
edgegap_link_pull_profile ● | किसी पुल प्रोफ़ाइल को संस्करण से जोड़ता या हटाता है। |
edgegap_delete_pull_profile ● | एक पुल प्रोफ़ाइल हटाता है। बकेट और उसकी फ़ाइलें बनी रहती हैं। |
edgegap_delete_endpoint_storage ● | एक Endpoint Storage हटाता है; अगर उससे पुल प्रोफ़ाइल जुड़ी हों, तो max_pull_profiles के अनुमति देने तक अनुरोध अस्वीकार किया जाता है। बकेट और उसके लॉग बने रहते हैं। |
रिले (केवल होस्ट-क्लाइंट गेम)
रिले गेम सर्वर नहीं होता: यह ट्रैफ़िक को आगे भेजता है, जबकि एक खिलाड़ी का गेम मैच होस्ट करता है। डेडिकेटेड सर्वर या रिले? देखें।
| टूल | यह क्या करता है |
|---|---|
edgegap_create_relay_session ● | आपके खिलाड़ियों के लिए रिले सत्र बनाता है और रिले का पता तथा हर खिलाड़ी का प्राधिकरण टोकन लौटाता है। |
edgegap_get_relay_session | रिले सत्र पढ़ता है। |
edgegap_list_relay_sessions | खुले रिले सत्र सूचीबद्ध करता है, ताकि चालू रह गए सत्र ढूँढ़े जा सकें। प्राधिकरण टोकन नहीं देता। |
edgegap_authorize_relay_user ● | बाद में जुड़ने वाले खिलाड़ी को जोड़ता है। |
edgegap_revoke_relay_user ● | रिले सत्र से एक खिलाड़ी हटाता है। |
edgegap_delete_relay_session ● | रिले सत्र बंद करता है। |
[!WARNING] डिप्लॉयमेंट और रिले सत्र चलते रहने तक बिलिंग होती है। काम पूरा होने पर अपने एजेंट से परीक्षण डिप्लॉयमेंट रोकने और परीक्षण रिले सत्र हटाने को कहें।
उदाहरण प्रॉम्प्ट
- "मेरे Unity सर्वर बिल्ड के लिए Dockerfile लिखें, फिर उसे पुश करके मेरे पास एक सर्वर डिप्लॉय करें।"
- "Edgegap के लिए मेरा Dockerfile जाँचें और कोई समस्या हो तो ठीक करें।"
- "मेरा डिप्लॉयमेंट विफल हो गया। लॉग पढ़कर बताएँ कि क्यों।"
- "मेरे पिछले मैच में कितना CPU और मेमोरी इस्तेमाल हुआ? उसी के अनुसार मेरे संस्करण का आकार तय करें।"
- "मेरा गेम होस्ट-क्लाइंट नेटवर्किंग इस्तेमाल करता है। दो खिलाड़ियों के लिए Edgegap रिले सेट अप करें।"
🛡️ सुरक्षा नियम
आपका API टोकन आपके संगठन में कुछ भी कर सकता है, इसलिए सर्वर एजेंट द्वारा इसके इस्तेमाल पर अपनी सीमाएँ लागू करता है। ये लोकल सर्वर और होस्टेड एंडपॉइंट, दोनों पर लागू होती हैं।
| सुरक्षा उपाय | यह क्या करता है |
|---|---|
| ड्राई रन | कुछ भी बदलने वाला हर टूल dry_run: true लेता है: यह टोकन, रजिस्ट्री टोकन और env मानों को छिपाकर सटीक मेथड, होस्ट, पाथ और बॉडी लौटाता है, और कुछ भी नहीं भेजता। स्थानीय जाँचें फिर भी चलती हैं। |
| कंटेनरों में कोई टोकन नहीं | यदि आपका API टोकन किसी env var के नाम या मान, टैग या webhook URL में दिखाई देता है, तो deploy या version अस्वीकार कर दिया जाता है और कुछ भी नहीं भेजा जाता। Env मान कभी वापस नहीं दिखाए जाते। |
| एजेंट टैग | एजेंट अपने टैग देने पर भी, हर deployment को edgegap-mcp टैग मिलता है। edgegap_list_deployments को only_agent_deployments: true के साथ इस्तेमाल करने पर वे सभी मिल जाते हैं। |
| ऑटो-स्टॉप | हर deploy बताता है कि Edgegap उसे कब रोक देगा: version का max_duration, जो एजेंट द्वारा बनाए गए versions के लिए अधिकतम EDGEGAP_MAX_DURATION_MINUTES (डिफ़ॉल्ट 60) तक सीमित है। Edgegap में प्रति-deployment समय सीमा नहीं होती, इसलिए ऐसे version को deploy करना अस्वीकार कर दिया जाता है जिसका max_duration इस सीमा से अधिक हो या असीमित हो (कहीं और बनाया गया version डिफ़ॉल्ट रूप से 1440 मिनट का होता है), जब तक एजेंट allow_long_running: true न दे; एजेंट को ऐसा केवल आपसे पूछने के बाद करने के लिए कहा जाता है। |
| प्रति रन deploy की संख्या | स्थानीय सर्वर प्रति प्रक्रिया अधिकतम EDGEGAP_MAX_DEPLOYS_PER_RUN (डिफ़ॉल्ट 20) deploy भेजता है, जिसमें विफल deploy भी शामिल हैं, क्योंकि अस्वीकार किया गया deploy भी deployment बना सकता है। जब API deploy अस्वीकार करने के बावजूद deployment बना देता है, तो त्रुटि उसका नाम बताती है, ताकि एजेंट उसे रोक सके। |
| बदलते हुए image टैग नहीं | edgegap_create_app_version latest (किसी भी अक्षर-रूप में), खाली टैग या Docker द्वारा अस्वीकार किए जाने वाले टैग को अस्वीकार करता है और कुछ भी नहीं भेजता: Edgegap images को टैग के आधार पर कैश करता है, इसलिए दोबारा push किया गया टैग पुराना build deploy कर सकता है। latest पर मौजूदा version deploy करना भी अस्वीकार किया जाता है, और latest के लिए registry push commands माँगना भी। |
| Image संदर्भ की जाँच | ऐसा docker_image जिसमें registry host, टैग या digest भी हो (जैसे registry.edgegap.com/proj/server:v2), अस्वीकार कर दिया जाता है, और त्रुटि सही docker_repository / docker_image / docker_tag विभाजन बताती है। edgegap_validate_server_config भी इन्हीं चीज़ों को चिह्नित करता है। |
| Deployment सीमा | जब edgegap-mcp टैग वाले EDGEGAP_MAX_AGENT_DEPLOYMENTS (डिफ़ॉल्ट 5) deployments पहले से चल रहे हों, तो edgegap_deploy अस्वीकार कर दिया जाता है, ताकि बार-बार चलने वाला एजेंट बिलिंग वाले सर्वर जमा न कर सके। अस्वीकृति में उन्हें सूचीबद्ध करने और रोकने का तरीका बताया जाता है। |
| छिपे हुए गुप्त env vars | जिन env vars के नाम secrets जैसे दिखते हैं (TOKEN, SECRET, PASSWORD, API_KEY, CREDENTIAL, AUTH…), उन्हें is_hidden के साथ भेजा जाता है, ताकि डैशबोर्ड में उनके मान सादे टेक्स्ट में न दिखें। |
| सख़्त रोक | edgegap_stop_deployment किसी deployment को उसके सटीक request ID से रोकता है। खाली ID, वाइल्डकार्ड और सूचियाँ अस्वीकार की जाती हैं। एक साथ कई deployments रोकने की सुविधा नहीं है। EDGEGAP_STOP_OWN_ONLY=1 के साथ, यह केवल edgegap-mcp टैग वाले deployments रोकता है। |
| सावधानी से हटाना | edgegap_delete_app_version और edgegap_delete_app में एक सटीक नाम देना होता है, और उस नाम का कोई deployment चल रहा हो तो इन्हें अस्वीकार कर दिया जाता है। versions वाले application को तभी हटाया जाता है जब max_versions उन सभी को शामिल करता हो। |
| Webhook और bucket URL | Deploy webhook और Endpoint Storage endpoint, बिना credentials वाले https URL होने चाहिए, और उनमें आपका API टोकन होने पर अस्वीकार कर दिए जाते हैं। |
| हर परिणाम में होस्ट | हर परिणाम API होस्ट से शुरू होता है, जैसे [api.edgegap.com], या जब EDGEGAP_BASE_URL किसी दूसरी जगह की ओर संकेत करता हो, तो [custom · host]। api.edgegap.com का नाम बताने वाला base URL ठीक https://api.edgegap.com होना चाहिए, वरना सर्वर शुरू होने से इनकार कर देता है। |
| गोपनीय जानकारी हटाना | एजेंट तक पहुँचने से पहले हर त्रुटि से टोकन हटा दिया जाता है। |
सर्वर हर API कॉल पर अपनी पहचान User-Agent: edgegap-mcp/<version> (<MCP client name>) के रूप में बताता है।
उपयोग विश्लेषिकी। स्थानीय सर्वर और self-hosted Docker image, API कॉल के अलावा कुछ भी नहीं भेजते। mcp.edgegap.dev पर होस्ट किया गया endpoint PostHog MCP Analytics (@posthog/mcp) का उपयोग करता है और Edgegap के PostHog को उपयोग संबंधी इवेंट भेजता है: कौन-सा MCP client जुड़ा, कौन-सा tool, prompt या skill resource इस्तेमाल हुआ, दिए गए arguments के नाम (मान नहीं), कॉल सफल हुई या नहीं, उसका error code, विफलता का चरण और Edgegap API status, इसमें लगा समय, यह dry run था या नहीं, कॉल के बारे में कुछ तथ्य (deployment के लिए प्रतीक्षा कैसे समाप्त हुई, validation का परिणाम, कौन-सा skill लोड हुआ), golden-path का कौन-सा चरण पहुँचा गया, साथ ही सर्वर version और Cloudflare का country code। विफल कॉल पर यह error message भी भेजता है, जिसमें से आपका टोकन, आपके दिए गए arguments के मान और credential, IP address या ID जैसे दिखने वाले किसी भी अंश को हटाकर 300 अक्षरों तक सीमित किया जाता है। Deployment ID केवल keyed hash के रूप में भेजे जाते हैं। केवल नामित metadata properties को भेजने की अनुमति है। यह आपका टोकन, tool arguments के मान (IP addresses, env vars, app या image के नाम) या परिणाम कभी नहीं भेजता, और GeoIP बंद है। यह tools में कोई parameters नहीं जोड़ता। एक ही टोकन के इवेंट उसके keyed, अपरिवर्तनीय hash के अंतर्गत समूहित किए जाते हैं। पूरी सूची docs/analytics.md में है। इससे बाहर रहने के लिए X-Edgegap-Telemetry: off (या DNT: 1) header भेजें, या स्थानीय सर्वर का उपयोग करें।
🚨 समस्या निवारण
आम error codes देखें और जानें कि अपना integration कैसे अनलॉक करें।
401 Unauthorized
संभवतः आपका MCP integration Authorization header सही ढंग से शामिल नहीं कर रहा है।
Tool Call Failed
आपके client में Edgegap token नहीं है। ऐसा claude.ai और Claude Desktop custom connectors के साथ होता है, जो Authorization header नहीं भेज सकते। विकल्प के लिए Claude Desktop और claude.ai देखें।
[!WARNING] यह एक ज्ञात सीमा है, जिसे निकट भविष्य में दूर किया जाएगा। अपडेट के लिए जुड़े रहें!
403 Forbidden
संभवतः आपका MCP integration template token या हटाए गए token का उपयोग कर रहा है। कृपया जाँचें कि आपके integration में इस्तेमाल किया गया token value, dashboard में दिखाए गए token से बिल्कुल मेल खाता है।
424 Image Could Not Be Pulled
Edgegap आपका container image pull नहीं कर सका। Repository, image name और tag की जाँच करें, और यह भी कि tag push किया गया है (अपने एजेंट से registry tags की सूची माँगें)। Edgegap registry के images के लिए image name में आपका project शामिल होना चाहिए, जैसे my-project/my-game-server।
Registry Credentials Unavailable
Edgegap registry credentials केवल उस quick-start token को देता है जिसका उपयोग Unity और Unreal plugins करते हैं, इसलिए सामान्य API token के साथ आपका एजेंट उन्हें प्राप्त नहीं कर सकता और आपसे माँगता है। Dashboard में Container Registry के अंतर्गत Project, Username और Token कॉपी करें, या किसी दूसरी ऐसी registry पर push करें जिससे Edgegap pull कर सके (Docker Hub, GitHub, AWS ECR, GCP, GitLab)। External Registries देखें।
"status": "empty" या "not_configured"
यह कोई त्रुटि नहीं है। खाली सूची (अभी कोई application नहीं, कोई deployment नहीं चल रहा, image कभी push नहीं किया गया) या ऐसी सुविधा जिसे इस organization ने सेट अप नहीं किया है (relays, ऐसी registry जिसे यह token पढ़ नहीं सकता), सामान्य परिणाम के रूप में status और next_step के साथ लौटती है। आपके एजेंट को दोबारा कोशिश करने के बजाय अगला कदम उठाना चाहिए।
अभी तक कोई Token नहीं
Skills (edgegap_list_skills, edgegap_get_skill), edgegap_context, edgegap_generate_dockerfile और edgegap_validate_server_config बिना token के काम करते हैं, इसलिए एजेंट पहले server build तैयार कर सकता है। app.edgegap.com पर खाता बनाएँ और User Settings → Tokens में token बनाएँ। edgegap_context को check_token: true के साथ इस्तेमाल करने पर पता चलता है कि session का token मौजूद है और स्वीकार किया गया है या नहीं, और उसके आखिरी चार अक्षर दिखते हैं, ताकि आप उसे उस पेज पर ढूँढ़ सकें।
स्थानीय रूप से शुरू होता है, लेकिन Edgegap पर नहीं
अपने एजेंट से server configuration की जाँच करने या नई Dockerfile बनाने को कहें। सबसे आम कारण हैं: docker build --platform linux/amd64 के बिना Apple Silicon पर बनाया गया image, version द्वारा बताए गए port से अलग port पर सुनने वाला server, या TCP के रूप में कॉन्फ़िगर किया गया UDP transport।
अन्य API त्रुटियाँ
अलग-अलग API endpoints के संभावित error responses के लिए कृपया हमारा API Reference देखें।
[!NOTE] यदि आपको सहायता चाहिए, तो कृपया Discord पर हमसे संपर्क करें। लाइव गेम्स के समर्थन के लिए हमारा ticketing system देखें।
🛠️ Self-Hosting
mcp.edgegap.dev पर होस्ट किया गया endpoint Cloudflare Worker के रूप में चलता है (worker/INSTALL.md देखें)। अपने infrastructure पर वही stateless HTTP server चलाने के लिए Docker image का उपयोग करें:
docker build -t edgegap-mcp .
docker run --rm -p 8080:8080 edgegap-mcp
Clients अपने Authorization header के साथ http://<host>:8080/mcp से जुड़ते हैं, ठीक वैसे ही जैसे वे hosted endpoint से जुड़ते हैं। Image में कोई credential नहीं होता, और /health बिना credential के जवाब देता है। PORT, HOST, EDGEGAP_READ_ONLY, EDGEGAP_APP_ALLOWLIST, EDGEGAP_MAX_DURATION_MINUTES, EDGEGAP_MAX_AGENT_DEPLOYMENTS और EDGEGAP_STOP_OWN_ONLY लागू होते हैं; हर एक को -e NAME=value के साथ दें। Container को कभी API token न दें: हर client हर request पर अपना token भेजता है। इसे private network से बाहर उपलब्ध कराने से पहले worker/DECISION.md पढ़ें।
linux/amd64 और linux/arm64 के लिए पहले से बने images ghcr.io/edgegap/llm-mcp-server (और मौजूदा सेटअप के लिए पुराने नाम ghcr.io/edgegap/edgegap-mcp) पर प्रकाशित किए जाते हैं। हर push पर इन्हें main के लिए main और sha-<commit> टैग दिए जाते हैं, साथ ही v* tags पर version भी दिया जाता है:
docker run --rm -p 8080:8080 ghcr.io/edgegap/llm-mcp-server:main
विकास
किसी बदलाव को पास करने वाली जाँचों के लिए CONTRIBUTING.md, हर version में हुए बदलावों के लिए CHANGELOG.md, और किसी vulnerability की रिपोर्ट करने के लिए SECURITY.md देखें।
npm ci
npm run build
npm test # mock-API tests; none reach Edgegap
npm run typecheck:worker
Bundled skills को llm-agent-skills के नवीनतम commit पर अपडेट करने के बाद सामान्य तरीके से release करें:
npm run sync-skills -- --ref main
npm run check-skills # exit 1 if src/skills.generated.ts differs from the pin
| परीक्षण | इसमें क्या शामिल है |
|---|---|
test/unit.test.mjs | टैग, image, secret-name, URL और redaction नियमों के लिए unit tests |
test/package.mjs | Packaging: एक bin, runtime dependencies, step में versions |
test/skills.mjs | MCP के ज़रिए skills: tools, prompts, resources, path safety, bundle pin से मेल खाता है |
test/smoke.mjs | Handshake, tool registration, read-only mode |
test/guards.mjs | स्थानीय validation और allowlist enforcement |
test/elicit.mjs | Token prompt: स्वीकार करना, acknowledgement से इनकार करना, अस्वीकार करना, समर्थन न होना |
test/newtools.mjs | स्थानीय mock API के विरुद्ध validator, Dockerfile generator, registry, deployments, relay और matchmaker tools |
test/http.mjs | Self-hosted HTTP server: token के बिना discovery, प्रति-request tokens, बाहरी credentials |
test/spec.mjs | सर्वर द्वारा भेजा गया हर endpoint और request-body field spec/ में है (write tools की जाँच dry run से की जाती है) |
test/snapshot.mjs | Tool names, descriptions, schemas और instructions, test/tools.snapshot.json से मेल खाते हैं; जानबूझकर बदलाव के बाद npm run snapshot:update |
test/live-check.mjs | npm test में शामिल नहीं। गैर-उत्पादन organization के token के साथ वास्तविक API पर चलता है |
डिज़ाइन संबंधी निर्णय, सुरक्षा मॉडल और जानबूझकर दायरे से बाहर रखी गई चीज़ें DESIGN.md में हैं।