डीपसीक पर ओपनकोड में एमसीपी: बाहरी टूल कैसे कनेक्ट करें

Written by

in

एमसीपी (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) एक खुला प्रोटोकॉल है जो बताता है कि बाहरी टूल और डेटा स्रोतों को भाषा मॉडल से कैसे जोड़ा जाए: एक फ़ाइल सिस्टम, दस्तावेज़ीकरण, कार्य ट्रैकर, बग ट्रैकर या आपकी अपनी सेवा। प्रत्येक टूल को एजेंट में एम्बेड करने के बजाय, आप एक अलग एमसीपी सर्वर स्थापित करते हैं, और एजेंट मानक योजना के अनुसार इसके साथ संचार करता है।

ओपनकोड बॉक्स से बाहर एमसीपी का समर्थन करता है: दोनों स्थानीय सर्वर, जो एक चाइल्ड प्रोसेस द्वारा लॉन्च किए जाते हैं, और रिमोट वाले, HTTP के माध्यम से पहुंच योग्य होते हैं। एक महत्वपूर्ण बिंदु यह है कि संपूर्ण MCP परत OpenCode की ओर से ही क्रियान्वित की जाती है, न कि मॉडल प्रदाता की ओर से। इसलिए, डीपसीक को अनुरोध में सामान्य कार्यों के रूप में एमसीपी उपकरण प्राप्त होते हैं, और उसे प्रोटोकॉल के बारे में कुछ भी जानने की आवश्यकता नहीं होती है।

इस पोस्ट में, मैं देखूंगा कि स्थानीय और दूरस्थ सर्वर कैसे जोड़ें, अधिकृत कैसे हों, टोकन में कैसे न डूबें और डीपसीक मॉडल के साथ काम करते समय क्या विचार करें।

आपको क्या चाहिए

काम करने के लिए आपको तीन चीजों की आवश्यकता है:

  • ओपनकोड स्थापित। यदि एजेंट अभी तक कॉन्फ़िगर नहीं किया गया है, तो मैंने एक अलग नोट में डीपसीक को स्थापित करने और कनेक्ट करने की प्रक्रिया पर चर्चा की।
  • Node.js और npx। स्थानीय MCP सर्वर के लिए आवश्यक है, जिन्हें npm पैकेज के रूप में वितरित किया जाता है।
  • एक्सेस कुंजियाँ। केवल उन दूरस्थ सर्वरों के लिए जिन्हें प्राधिकरण की आवश्यकता होती है। Context7 जैसे सार्वजनिक सर्वर बिना चाबी के, लेकिन कम सीमा के साथ काम करते हैं।

यह कैसे काम करता है

सर्वर को mcp ब्लॉक में OpenCode कॉन्फ़िगरेशन में वर्णित किया गया है। प्रत्येक सर्वर का एक विशिष्ट नाम होता है जिसके द्वारा अनुरोध में इसका उल्लेख किया जा सकता है। सर्वर उपकरण इस नाम उपसर्ग के साथ पंजीकृत होते हैं, इसलिए विभिन्न सर्वरों के बीच कोई विरोध नहीं होता है।

कनेक्ट करने के बाद, MCP टूल बिल्ट-इन टूल के साथ मॉडल के लिए उपलब्ध हो जाते हैं: फ़ाइलें पढ़ना, कोड संपादित करना और कमांड चलाना। डीपसीक के दृष्टिकोण से, ये सामान्य कार्य हैं जिन्हें एक एजेंट कॉल कर सकता है – यही कारण है कि बंडल मॉडल एपीआई पक्ष पर किसी भी एमसीपी समर्थन के बिना काम करता है।

स्थानीय सर्वर

तंत्र से परिचित होने का सबसे आसान तरीका परीक्षण सर्वर @modelcontextprotocol/server-everything है। आइए इसे प्रोजेक्ट रूट में opencode.json फ़ाइल में जोड़ें:

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

कमांड फ़ील्ड सर्वर स्टार्टअप कमांड और एक सरणी के रूप में इसके तर्क हैं। ओपनकोड को पुनः आरंभ करने के बाद, उपकरण सत्र में दिखाई देंगे और स्पष्ट रूप से मांगे जा सकते हैं:

используй инструмент mcp_everything, чтобы сложить 3 и 4

स्थानीय सर्वर में कई और उपयोगी फ़ील्ड हैं। पर्यावरण प्रक्रिया पर्यावरण चर सेट करता है, cwd – कार्यशील निर्देशिका, टाइमआउट – मिलीसेकंड में टाइमआउट का अनुरोध करता है, और सक्षम आपको कॉन्फ़िगरेशन से हटाए बिना सर्वर को अस्थायी रूप से अक्षम करने की अनुमति देता है।

दूरस्थ सर्वर

रिमोट सर्वर अधिक सुविधाजनक होते हैं: आपको स्थानीय रूप से कुछ भी चलाने की आवश्यकता नहीं होती है, और उन्हें यूआरएल के माध्यम से एक्सेस किया जा सकता है। एक अच्छा उदाहरण Context7 है, जो अद्यतन लाइब्रेरी दस्तावेज़ीकरण की तलाश करता है। यह बिना चाबी के जुड़ता है:

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

यदि आपके पास निःशुल्क Context7 खाता है, तो सीमाएँ बढ़ाना महत्वपूर्ण है। हेडर हेडर ब्लॉक के माध्यम से प्रेषित होते हैं, और कुंजी को पर्यावरण चर में रखना सुविधाजनक होता है:

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

{env:NAME} निर्माण कॉन्फ़िगरेशन लोड करते समय पर्यावरण चर के मान को प्रतिस्थापित करता है, इसलिए कुंजी रिपॉजिटरी में समाप्त नहीं होती है। एजेंट शुरू करने से पहले, वेरिएबल को टर्मिनल में निर्यात किया जाना चाहिए।

एक अन्य उपयोगी सार्वजनिक सर्वर ग्रेप बाय वर्सेल है, GitHub पर कोड उदाहरण खोजें:

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

OAuth के माध्यम से प्राधिकरण

कुछ दूरस्थ सर्वरों को OAuth की आवश्यकता होती है। ओपनकोड स्वयं इस परिदृश्य से गुजर सकता है: यह 401 प्रतिक्रिया को नोटिस करता है, प्राधिकरण को ट्रिगर करता है और टोकन बचाता है। संतरी के लिए, बस सर्वर निर्दिष्ट करें:

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

इसके बाद, प्राधिकरण मैन्युअल रूप से शुरू किया जा सकता है – ब्राउज़र खुल जाएगा:

opencode mcp auth sentry

सर्विस कमांड रोजमर्रा के काम में भी उपयोगी होते हैं। ओपनकोड एमसीपी सूची सर्वर और प्राधिकरण स्थिति दिखाती है, ओपनकोड एमसीपी लॉगआउट संग्रहीत टोकन हटाता है, और ओपनकोड एमसीपी डिबग एक विशिष्ट सर्वर के लिए नेटवर्क कनेक्टिविटी और OAuth खोज की जांच करता है। टोकन स्थानीय रूप से फ़ाइल ~/.local/share/opencode/mcp-auth.json में संग्रहीत किए जाते हैं।

यदि सर्वर OAuth का उपयोग नहीं करता है, लेकिन एक नियमित API कुंजी का उपयोग करता है, तो स्वचालित प्राधिकरण अक्षम किया जाना चाहिए, अन्यथा OpenCode OAuth को पास करने का प्रयास करेगा जहां इसकी आवश्यकता नहीं है:

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

उपकरण प्रबंधन

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

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

my-mcp* टेम्प्लेट उन सभी टूल को अक्षम कर देता है जिनका नाम इस उपसर्ग से शुरू होता है। यदि कई सर्वर हैं, तो उन्हें विश्व स्तर पर अक्षम करना और किसी विशिष्ट एजेंट के लिए स्थानीय रूप से सक्षम करना अधिक समझ में आता है:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "my-mcp": {
      "type": "local",
      "command": ["npx", "-y", "my-mcp-command"],
      "enabled": true
    }
  },
  "tools": {
    "my-mcp*": false
  },
  "agent": {
    "my-agent": {
      "tools": {
        "my-mcp*": true
      }
    }
  }
}

डीपसीक विशेषताएं

डीपसीक के साथ कनेक्शन काम करता है क्योंकि मॉडल कॉलिंग फ़ंक्शन का समर्थन करते हैं, और उनके लिए एमसीपी उपकरण सामान्य फ़ंक्शन की तरह दिखते हैं। डीपसीक स्वयं एमसीपी सर्वर को कनेक्ट नहीं करता है और ऐसा नहीं करना चाहिए: कनेक्शन को ओपनकोड द्वारा नियंत्रित किया जाता है।

आपको किस बात पर ध्यान देना चाहिए:

  • एक मॉडल का चयन करना। नियमित और छोटे संपादनों के लिए, डीपसीक-फ्लैश पर्याप्त है। उन कार्यों के लिए जहां आपको अपने दिमाग में बहुत सारे संदर्भ रखने और सावधानीपूर्वक एक टूल चुनने की आवश्यकता है, डीपसीक-v4-प्रो देना बेहतर है।
  • संदर्भ आकार। GitHub MCP जैसे भारी सर्वर बहुत सारे टोकन जोड़ते हैं और, एक बड़े प्रोजेक्ट के साथ, आसानी से सीमा तक पहुंच जाते हैं। उन्हें केवल किसी विशिष्ट कार्य की अवधि के लिए चालू करें।
  • लागत टूलींग स्कीमा प्रत्येक अनुरोध के साथ भेजे जाते हैं, इसलिए जितने अधिक सर्वर शामिल होंगे, प्रत्येक पुनरावृत्ति उतनी ही महंगी होगी। आप प्रदाता को सीधे भुगतान करते हैं, इसलिए अतिरिक्त सर्वर आपके बिल पर ध्यान देने योग्य हैं।
  • एजेंट के लिए संकेत। मॉडल की सरलता पर भरोसा न करना, बल्कि सीधे अनुरोध में सर्वर का नाम देना या AGENTS.md में एक नियम लिखना सुरक्षित है।

AGENTS.md के लिए एक नियम का उदाहरण, ताकि एजेंट स्वयं आवश्यक स्रोत तक पहुंच सके:

Когда нужно посмотреть документацию библиотеки, используй инструменты context7.

व्यावहारिक नुस्खा

रोजमर्रा के काम के लिए, दो सर्वर आमतौर पर पर्याप्त होते हैं: दस्तावेज़ीकरण के लिए कॉन्टेक्स्ट7 और किसी विशिष्ट कार्य के लिए एक संकीर्ण सर्वर – उदाहरण के लिए, त्रुटियों का विश्लेषण करने के लिए सेंट्री या कोड उदाहरणों की खोज के लिए ग्रेप। बाकी को बंद रखना और आवश्यकतानुसार चालू करना बेहतर है।

मेरी प्रक्रिया इस प्रकार है: मैं सर्वर को opencode.json में जोड़ता हूं, OpenCode को पुनरारंभ करता हूं, opencode mcp सूची के माध्यम से सूची की जांच करता हूं, फिर एक परीक्षण प्रश्न पूछता हूं जिसमें स्पष्ट रूप से सर्वर का उल्लेख होता है। यदि टूल को कॉल नहीं किया जाता है, तो मैं ओपनकोड एमसीपी डीबग और टाइमआउट की ओर देखता हूं – धीमे सर्वर के पास आवंटित 30 सेकंड में प्रतिक्रिया देने का समय नहीं हो सकता है।

किस बात पर ध्यान दें

कुछ व्यावहारिक बिंदु. एमसीपी सर्वर विश्वसनीय कोड हैं: स्थानीय सर्वर आपके अधिकारों के साथ आपकी मशीन पर चलता है, और आप दूरस्थ सर्वर पर अनुरोध डेटा भेजते हैं। इसलिए, इंटरनेट से यादृच्छिक सर्वर स्थापित करना किसी भी तृतीय-पक्ष सीएलआई के समान सावधानी के साथ किया जाना चाहिए।

चाबियाँ और टोकन को पर्यावरण चर में रखें और रिपॉजिटरी के लिए प्रतिबद्ध न हों। ओपनकोड OAuth टोकन को स्थानीय रूप से संग्रहीत करता है, लेकिन एक साझा मशीन पर यह भी विचार करने योग्य है: ओपनकोड एमसीपी लॉगआउट जब एक्सेस की आवश्यकता नहीं रह जाती है तो उन्हें हटा देता है।

और एक और बात: सब कुछ एक ही बार में चालू न करें। एमसीपी संदर्भ में उपकरण जोड़ता है, और संदर्भ पैसा और प्रतिक्रिया की गुणवत्ता है। दो या तीन वास्तव में आवश्यक सर्वर दस कनेक्टेड सर्वरों की तुलना में बहुत बेहतर काम करते हैं।

लिंक

https://opencode.ai/docs/mcp-servers/
https://opencode.ai/docs/config/
https://modelcontextprotocol.io/
https://github.com/upstash/context7
https://mcp.sentry.dev
https://mcp.grep.app
https://github.com/anomalyco/opencode

स्रोत

https://opencode.ai/docs/mcp-servers/
https://modelcontextprotocol.io/
https://api-docs.deepseek.com/
https://api-docs.deepseek.com/quick_start/agent_integrations/opencode

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

DemensDeum
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.