हिन्दी
दस्तावेज़
MCP सर्वर

MCP सर्वर

स्थानीय और रिमोट MCP टूल जोड़ें।

आप Model Context Protocol, या MCP का उपयोग करके OpenCode में बाहरी टूल जोड़ सकते हैं। OpenCode स्थानीय और रिमोट दोनों सर्वर का समर्थन करता है।

एक बार जोड़े जाने के बाद, MCP टूल स्वचालित रूप से बिल्ट-इन टूल के साथ LLM के लिए उपलब्ध होते हैं।


चेतावनियाँ

जब आप किसी MCP सर्वर का उपयोग करते हैं, तो यह संदर्भ में जुड़ जाता है। यदि आपके पास बहुत सारे टूल हैं तो यह जल्दी बढ़ सकता है। इसलिए हम अनुशंसा करते हैं कि आप किन MCP सर्वर का उपयोग करते हैं, इसमें सावधानी बरतें।

Tip: MCP सर्वर आपके संदर्भ में जुड़ते हैं, इसलिए आपको किन्हें सक्षम करते हैं इसमें सावधानी बरतनी चाहिए।

कुछ MCP सर्वर, जैसे GitHub MCP सर्वर, बहुत सारे टोकन जोड़ देते हैं और आसानी से संदर्भ सीमा से अधिक हो सकते हैं।


सक्षम करें

आप अपने OpenCode Config (opens in a new tab) में mcp के अंतर्गत MCP सर्वर परिभाषित कर सकते हैं। प्रत्येक MCP को एक अद्वितीय नाम के साथ जोड़ें। LLM को प्रॉम्प्ट करते समय आप उस MCP को नाम से संदर्भित कर सकते हैं।

opencode.jsonc
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "name-of-mcp-server": {
      // ...
      "enabled": true,
    },
    "name-of-other-mcp-server": {
      // ...
    },
  },
}

आप enabled को false पर सेट करके किसी सर्वर को अक्षम भी कर सकते हैं। यह तब उपयोगी होता है जब आप किसी सर्वर को अपने कॉन्फ़िग से हटाए बिना अस्थायी रूप से अक्षम करना चाहते हैं।


रिमोट डिफ़ॉल्ट को ओवरराइड करना

संगठन अपने .well-known/opencode एंडपॉइंट के माध्यम से डिफ़ॉल्ट MCP सर्वर प्रदान कर सकते हैं। ये सर्वर डिफ़ॉल्ट रूप से अक्षम हो सकते हैं, जिससे उपयोगकर्ता उन्हें चुन सकते हैं जिनकी उन्हें आवश्यकता है।

अपने संगठन के रिमोट कॉन्फ़िग से किसी विशिष्ट सर्वर को सक्षम करने के लिए, इसे enabled: true के साथ अपने लोकल कॉन्फ़िग में जोड़ें:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "jira": {
      "type": "remote",
      "url": "https://jira.example.com/mcp",
      "enabled": true
    }
  }
}

आपके लोकल कॉन्फ़िग मान रिमोट डिफ़ॉल्ट को ओवरराइड करते हैं। अधिक विवरण के लिए config precedence देखें।


Local

MCP ऑब्जेक्ट के भीतर type को "local" पर सेट करके स्थानीय MCP सर्वर जोड़ें।

opencode.jsonc
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "my-local-mcp-server": {
      "type": "local",
      // Or ["bun", "x", "my-mcp-command"]
      "command": ["npx", "-y", "my-mcp-command"],
      "enabled": true,
      "environment": {
        "MY_ENV_VAR": "my_env_var_value",
      },
    },
  },
}

command वह है जिससे स्थानीय MCP सर्वर शुरू होता है। आप एनवायरनमेंट वेरिएबल की एक सूची भी पास कर सकते हैं।

उदाहरण के लिए, यहाँ बताया गया है कि आप परीक्षण @modelcontextprotocol/server-everything (opens in a new tab) MCP सर्वर कैसे जोड़ सकते हैं।

opencode.jsonc
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mcp_everything": {
      "type": "local",
      "command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
    },
  },
}

और इसका उपयोग करने के लिए मैं अपने प्रॉम्प्ट में use the mcp_everything tool जोड़ सकता हूँ।

use the mcp_everything tool to add the number 3 and 4

विकल्प

स्थानीय MCP सर्वर कॉन्फ़िगर करने के लिए यहाँ सभी विकल्प दिए गए हैं।

OptionTypeRequiredDescription
typeStringYMCP सर्वर कनेक्शन का प्रकार, "local" होना चाहिए।
commandArrayYMCP सर्वर चलाने के लिए command और arguments।
environmentObjectसर्वर चलाते समय सेट करने के लिए एनवायरनमेंट वेरिएबल।
enabledBooleanस्टार्टअप पर MCP सर्वर सक्षम या अक्षम करें।
timeoutNumberMCP सर्वर से टूल फ़ेच करने के लिए ms में timeout। डिफ़ॉल्ट रूप से 5000 (5 सेकंड)।

Remote

type को "remote" पर सेट करके रिमोट MCP सर्वर जोड़ें।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "my-remote-mcp": {
      "type": "remote",
      "url": "https://my-mcp-server.com",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer MY_API_KEY"
      }
    }
  }
}

url रिमोट MCP सर्वर का URL है और headers विकल्प के साथ आप headers की एक सूची पास कर सकते हैं।


विकल्प

OptionTypeRequiredDescription
typeStringYMCP सर्वर कनेक्शन का प्रकार, "remote" होना चाहिए।
urlStringYरिमोट MCP सर्वर का URL।
enabledBooleanस्टार्टअप पर MCP सर्वर सक्षम या अक्षम करें।
headersObjectअनुरोध के साथ भेजने के लिए headers।
oauthObjectOAuth प्रमाणीकरण कॉन्फ़िगरेशन। नीचे OAuth सेक्शन देखें।
timeoutNumberMCP सर्वर से टूल फ़ेच करने के लिए ms में timeout। डिफ़ॉल्ट रूप से 5000 (5 सेकंड)।

OAuth

OpenCode रिमोट MCP सर्वर के लिए OAuth प्रमाणीकरण को स्वचालित रूप से संभालता है। जब किसी सर्वर को प्रमाणीकरण की आवश्यकता होती है, तो OpenCode:

  1. 401 प्रतिक्रिया डिटेक्ट करता है और OAuth फ़्लो शुरू करता है
  2. यदि सर्वर द्वारा समर्थित हो तो Dynamic Client Registration (RFC 7591) का उपयोग करता है
  3. भविष्य के अनुरोधों के लिए टोकन सुरक्षित रूप से संग्रहीत करता है

स्वचालित

अधिकांश OAuth-सक्षम MCP सर्वर के लिए, किसी विशेष कॉन्फ़िगरेशन की आवश्यकता नहीं होती। बस रिमोट सर्वर कॉन्फ़िगर करें:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "my-oauth-server": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp"
    }
  }
}

यदि सर्वर को प्रमाणीकरण की आवश्यकता है, तो जब आप पहली बार इसका उपयोग करने का प्रयास करते हैं तो OpenCode आपको प्रमाणित करने के लिए प्रॉम्प्ट करेगा। यदि नहीं, तो आप opencode mcp auth <server-name> के साथ फ़्लो को मैन्युअल रूप से ट्रिगर कर सकते हैं।


पूर्व-पंजीकृत

यदि आपके पास MCP सर्वर प्रदाता से client credentials हैं, तो आप उन्हें कॉन्फ़िगर कर सकते हैं:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "my-oauth-server": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp",
      "oauth": {
        "clientId": "{env:MY_MCP_CLIENT_ID}",
        "clientSecret": "{env:MY_MCP_CLIENT_SECRET}",
        "scope": "tools:read tools:execute"
      }
    }
  }
}

प्रमाणीकरण

आप प्रमाणीकरण को मैन्युअल रूप से ट्रिगर कर सकते हैं या credentials प्रबंधित कर सकते हैं।

किसी विशिष्ट MCP सर्वर के साथ प्रमाणित करें:

opencode mcp auth my-oauth-server

सभी MCP सर्वर और उनकी auth स्थिति की सूची बनाएँ:

opencode mcp list

संग्रहीत credentials हटाएँ:

opencode mcp logout my-oauth-server

mcp auth कमांड प्राधिकरण के लिए आपका ब्राउज़र खोलेगा। प्राधिकरण देने के बाद, OpenCode टोकन को ~/.local/share/opencode/mcp-auth.json में सुरक्षित रूप से संग्रहीत करेगा।


OAuth अक्षम करना

यदि आप किसी सर्वर के लिए स्वचालित OAuth अक्षम करना चाहते हैं (जैसे, उन सर्वर के लिए जो इसके बजाय API कुंजी का उपयोग करते हैं), तो oauth को false पर सेट करें:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "my-api-key-server": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp",
      "oauth": false,
      "headers": {
        "Authorization": "Bearer {env:MY_API_KEY}"
      }
    }
  }
}

OAuth विकल्प

OptionTypeDescription
oauthObject | falseOAuth कॉन्फ़िग ऑब्जेक्ट, या OAuth ऑटो-डिटेक्शन अक्षम करने के लिए false
clientIdStringOAuth client ID। यदि प्रदान नहीं किया गया, तो dynamic client registration का प्रयास किया जाएगा।
clientSecretStringOAuth client secret, यदि प्राधिकरण सर्वर द्वारा आवश्यक हो।
scopeStringप्राधिकरण के दौरान अनुरोध करने के लिए OAuth scopes।

डीबगिंग

यदि कोई रिमोट MCP सर्वर प्रमाणित होने में विफल हो रहा है, तो आप इससे समस्याओं का निदान कर सकते हैं:

# View auth status for all OAuth-capable servers
opencode mcp auth list
 
# Debug connection and OAuth flow for a specific server
opencode mcp debug my-oauth-server

mcp debug कमांड वर्तमान auth स्थिति दिखाता है, HTTP कनेक्टिविटी का परीक्षण करता है, और OAuth discovery फ़्लो का प्रयास करता है।


प्रबंधित करें

आपके MCP बिल्ट-इन टूल के साथ OpenCode में टूल के रूप में उपलब्ध हैं। इसलिए आप उन्हें किसी अन्य टूल की तरह OpenCode कॉन्फ़िग के माध्यम से प्रबंधित कर सकते हैं।


Global

इसका अर्थ है कि आप उन्हें ग्लोबल रूप से सक्षम या अक्षम कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "my-mcp-foo": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-foo"]
    },
    "my-mcp-bar": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-bar"]
    }
  },
  "tools": {
    "my-mcp-foo": false
  }
}

हम सभी मिलान करने वाले MCP को अक्षम करने के लिए एक glob पैटर्न का भी उपयोग कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "my-mcp-foo": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-foo"]
    },
    "my-mcp-bar": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-bar"]
    }
  },
  "tools": {
    "my-mcp*": false
  }
}

यहाँ हम सभी MCP को अक्षम करने के लिए glob पैटर्न my-mcp* का उपयोग कर रहे हैं।


प्रति एजेंट

यदि आपके पास बड़ी संख्या में MCP सर्वर हैं तो आप उन्हें केवल प्रति एजेंट सक्षम करना और ग्लोबल रूप से अक्षम करना चाह सकते हैं। ऐसा करने के लिए:

  1. इसे ग्लोबल रूप से एक टूल के रूप में अक्षम करें।
  2. अपने agent config में, MCP सर्वर को एक टूल के रूप में सक्षम करें।
opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "my-mcp": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command"],
      "enabled": true
    }
  },
  "tools": {
    "my-mcp*": false
  },
  "agent": {
    "my-agent": {
      "tools": {
        "my-mcp*": true
      }
    }
  }
}

Glob पैटर्न

glob पैटर्न सरल regex globbing पैटर्न का उपयोग करता है:

  • * किसी भी कैरेक्टर के शून्य या अधिक से मेल खाता है (जैसे, "my-mcp*" my-mcp_search , my-mcp_list , आदि से मेल खाता है)
  • ? बिल्कुल एक कैरेक्टर से मेल खाता है
  • अन्य सभी कैरेक्टर शाब्दिक रूप से मेल खाते हैं

Note: MCP सर्वर टूल सर्वर नाम को prefix के रूप में पंजीकृत किए जाते हैं, इसलिए किसी सर्वर के सभी टूल अक्षम करने के लिए बस इसका उपयोग करें:

"mymcpservername_*": false

उदाहरण

नीचे कुछ सामान्य MCP सर्वर के उदाहरण दिए गए हैं। यदि आप अन्य सर्वर का डॉक्यूमेंटेशन करना चाहते हैं तो आप एक PR सबमिट कर सकते हैं।


Sentry

अपने Sentry प्रोजेक्ट और issues के साथ इंटरैक्ट करने के लिए Sentry MCP server (opens in a new tab) जोड़ें।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sentry": {
      "type": "remote",
      "url": "https://mcp.sentry.dev/mcp",
      "oauth": {}
    }
  }
}

कॉन्फ़िगरेशन जोड़ने के बाद, Sentry के साथ प्रमाणित करें:

opencode mcp auth sentry

यह OAuth फ़्लो पूरा करने और OpenCode को आपके Sentry अकाउंट से जोड़ने के लिए एक ब्राउज़र विंडो खोलेगा।

एक बार प्रमाणित होने के बाद, आप issues, projects और error डेटा क्वेरी करने के लिए अपने प्रॉम्प्ट में Sentry टूल का उपयोग कर सकते हैं।

Show me the latest unresolved issues in my project. use sentry

Context7

डॉक्स के माध्यम से खोजने के लिए Context7 MCP server (opens in a new tab) जोड़ें।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "context7": {
      "type": "remote",
      "url": "https://mcp.context7.com/mcp"
    }
  }
}

यदि आपने एक मुफ़्त अकाउंट के लिए साइन अप किया है, तो आप अपनी API कुंजी का उपयोग कर सकते हैं और उच्च rate-limits प्राप्त कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "context7": {
      "type": "remote",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
      }
    }
  }
}

यहाँ हम मान रहे हैं कि आपने CONTEXT7_API_KEY एनवायरनमेंट वेरिएबल सेट किया है।

Context7 MCP सर्वर का उपयोग करने के लिए अपने प्रॉम्प्ट में use context7 जोड़ें।

Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7

वैकल्पिक रूप से, आप अपनी AGENTS.md में इस तरह कुछ जोड़ सकते हैं।

AGENTS.md
When you need to search docs, use `context7` tools.

Grep by Vercel

GitHub पर कोड स्निपेट के माध्यम से खोजने के लिए Grep by Vercel (opens in a new tab) MCP सर्वर जोड़ें।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "gh_grep": {
      "type": "remote",
      "url": "https://mcp.grep.app"
    }
  }
}

चूँकि हमने अपने MCP सर्वर का नाम gh_grep रखा है, आप एजेंट से इसका उपयोग करवाने के लिए अपने प्रॉम्प्ट में use the gh_grep tool जोड़ सकते हैं।

What's the right way to set a custom domain in an SST Astro component? use the gh_grep tool

वैकल्पिक रूप से, आप अपनी AGENTS.md में इस तरह कुछ जोड़ सकते हैं।

AGENTS.md
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.