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

MCP सर्वर

लोकल और रिमोट MCP टूल्स जोड़ें।

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

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


सावधानियां

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

MCP सर्वर आपके कॉन्टेक्स्ट में जोड़ते हैं, इसलिए आपको सावधान रहना चाहिए कि आप कौन से इनेबल करते हैं।

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


इनेबल करें

आप अपनी OpenCode कॉन्फ़िग में 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
    }
  }
}

आपकी लोकल कॉन्फ़िग वैल्यूज रिमोट डिफ़ॉल्ट्स को ओवरराइड करती हैं। अधिक जानकारी के लिए कॉन्फ़िग प्रीसीडेंस देखें।


लोकल

MCP ऑब्जेक्ट के भीतर type को "local" सेट करके लोकल MCP सर्वर जोड़ें।

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

कमांड वह है जिससे लोकल 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 सर्वर कॉन्फ़िगर करने के लिए सभी ऑप्शंस यहां हैं।

ऑप्शनटाइपआवश्यकविवरण
typeStringहाँMCP सर्वर कनेक्शन का प्रकार, "local" होना चाहिए।
commandArrayहाँMCP सर्वर चलाने के लिए कमांड और आर्ग्युमेंट्स।
environmentObjectसर्वर चलाते समय सेट करने के लिए एनवायरनमेंट वेरिएबल्स।
enabledBooleanस्टार्टअप पर MCP सर्वर को इनेबल या डिसेबल करें।
timeoutNumberMCP सर्वर से टूल्स फ़ेच करने के लिए टाइमआउट ms में। डिफ़ॉल्ट 5000 (5 सेकंड)।

रिमोट

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 ऑप्शन के साथ आप हेडर्स की लिस्ट पास कर सकते हैं।


ऑप्शंस

ऑप्शनटाइपआवश्यकविवरण
typeStringहाँMCP सर्वर कनेक्शन का प्रकार, "remote" होना चाहिए।
urlStringहाँरिमोट MCP सर्वर का URL।
enabledBooleanस्टार्टअप पर MCP सर्वर को इनेबल या डिसेबल करें।
headersObjectरिक्वेस्ट के साथ भेजने के लिए हेडर्स।
oauthObjectOAuth ऑथेंटिकेशन कॉन्फ़िगरेशन। नीचे OAuth सेक्शन देखें।
timeoutNumberMCP सर्वर से टूल्स फ़ेच करने के लिए टाइमआउट ms में। डिफ़ॉल्ट 5000 (5 सेकंड)।

OAuth

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

  • 401 रिस्पॉन्स का पता लगाता है और OAuth फ़्लो शुरू करता है
  • यदि सर्वर द्वारा सपोर्टेड हो तो Dynamic Client Registration (RFC 7591) का उपयोग करता है
  • भविष्य की रिक्वेस्ट्स के लिए टोकन को सुरक्षित रूप से स्टोर करता है

ऑटोमैटिक

अधिकांश 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 सर्वर प्रोवाइडर से क्लाइंट क्रेडेंशियल्स हैं, तो आप उन्हें कॉन्फ़िगर कर सकते हैं:

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"
      }
    }
  }
}

ऑथेंटिकेटिंग

आप मैन्युअली ऑथेंटिकेशन ट्रिगर कर सकते हैं या क्रेडेंशियल्स मैनेज कर सकते हैं।

किसी विशिष्ट MCP सर्वर के साथ ऑथेंटिकेट करें:

opencode mcp auth my-oauth-server

सभी MCP सर्वर और उनकी ऑथ स्टेटस लिस्ट करें:

opencode mcp list

स्टोर्ड क्रेडेंशियल्स हटाएं:

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 ऑप्शंस

ऑप्शनटाइपविवरण
oauthObject | falseOAuth कॉन्फ़िग ऑब्जेक्ट, या OAuth ऑटो-डिटेक्शन डिसेबल करने के लिए false
clientIdStringOAuth क्लाइंट ID। यदि प्रदान नहीं किया गया, तो डायनामिक क्लाइंट रजिस्ट्रेशन का प्रयास किया जाएगा।
clientSecretStringOAuth क्लाइंट सीक्रेट, यदि ऑथराइज़ेशन सर्वर द्वारा आवश्यक हो।
scopeStringऑथराइज़ेशन के दौरान रिक्वेस्ट करने के लिए OAuth स्कोप्स।

डीबगिंग

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

# सभी OAuth-सक्षम सर्वर के लिए ऑथ स्टेटस देखें
opencode mcp auth list
 
# किसी विशिष्ट सर्वर के लिए कनेक्शन और OAuth फ़्लो डीबग करें
opencode mcp debug my-oauth-server

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


मैनेज करें

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


ग्लोबल

इसका मतलब है कि आप उन्हें ग्लोबली इनेबल या डिसेबल कर सकते हैं।

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
  }
}

हम सभी मैचिंग MCPs को डिसेबल करने के लिए 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
  }
}

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


प्रति एजेंट

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

  • इसे ग्लोबली टूल के रूप में डिसेबल करें।
  • अपनी एजेंट कॉन्फ़िग में, 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 ग्लोबिंग पैटर्न का उपयोग करता है:

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

MCP सर्वर टूल्स सर्वर नाम को प्रीफ़िक्स के रूप में रजिस्टर किए जाते हैं, इसलिए किसी सर्वर के सभी टूल्स को डिसेबल करने के लिए बस उपयोग करें:

"mymcpservername_*": false

उदाहरण

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


Sentry

अपने Sentry प्रोजेक्ट्स और इश्यूज़ के साथ इंटरैक्ट करने के लिए Sentry MCP सर्वर (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 अकाउंट से कनेक्ट करने के लिए एक ब्राउज़र विंडो खोलेगा।

ऑथेंटिकेट होने के बाद, आप इश्यूज़, प्रोजेक्ट्स और एरर डेटा क्वेरी करने के लिए अपने प्रॉम्प्ट्स में Sentry टूल्स का उपयोग कर सकते हैं।

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

Context7

डॉक्स सर्च करने के लिए Context7 MCP सर्वर (opens in a new tab) जोड़ें।

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

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

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.