Octopus Deploy Official MCP Server

आधिकारिक

Octopus MCP Server आपके AI सहायक को शक्तिशाली उपकरण प्रदान करता है जो इसे आपके Octopus इंस्टेंस के भीतर समस्याओं का निरीक्षण, क्वेरी और निदान करने की अनुमति देता है, इसे आपके अंतिम DevOps साथी में बदल देता है।

Octopus Deploy Official MCP के साथ आप क्या कर सकते हैं?

  • URL से डिप्लॉयमेंट का निरीक्षण करें — किसी डिप्लॉयमेंट की जांच करने के लिए उसका Octopus URL पेस्ट करके पूछें; get_deployment_from_url संदर्भ और अनुवर्ती कार्रवाई के लिए एक टास्क ID लौटाता है।
  • डिप्लॉयमेंट टास्क लॉग खोजें — grep_task_log का उपयोग करके टास्क की गतिविधि लॉग में त्रुटि या विफलता पैटर्न खोजें, बिना पूरे मल्टी-मेगाबाइट बॉडी को डाउनलोड किए।
  • रिलीज़ बनाएं और डिप्लॉय करें — किसी प्रोजेक्ट के लिए create_release करने को कहें, फिर उसे विशिष्ट वातावरणों में deploy_release करें, जिसमें टेनेंटेड डिप्लॉयमेंट भी शामिल हैं।
  • विभिन्न वातावरणों में रनबुक चलाएं — run_runbook का उपयोग करके एक या अधिक वातावरणों में रनबुक निष्पादित करें, जिसमें टेनेंटेड रन और प्रॉम्प्टेड वेरिएबल्स के लिए समर्थन शामिल है।
  • गायब टेनेंट वेरिएबल्स खोजें और ठीक करें — get_missing_tenant_variables का उपयोग करके उन टेनेंट वेरिएबल्स की पहचान करें जिनमें मान नहीं हैं, फिर get_tenant_variables के साथ उनका निरीक्षण करें।
  • Kubernetes लाइव स्थिति जांचें — किसी प्रोजेक्ट और वातावरण के लिए संसाधनों की get_kubernetes_live_status पूछें ताकि डिप्लॉयमेंट समस्याओं का निदान किया जा सके।

दस्तावेज़

[!WARNING] अप्रचलित: यह MCP सर्वर अप्रचलित है। Remote MCP Server Octopus Server 2026.3 और उसके बाद के संस्करणों में उपलब्ध है। Remote MCP Server दस्तावेज़ देखें।

Octopus Deploy Logo

Octopus Deploy Official MCP Server

Octopus कुबरनेट्स, मल्टी-क्लाउड, ऑन-प्रिमाइस इंफ्रास्ट्रक्चर और कहीं और भी सॉफ़्टवेयर डिलीवर करना आसान बनाता है। अपने सॉफ़्टवेयर और AI वर्कलोड के रिलीज़, डिप्लॉयमेंट और संचालन को एक ऐसे टूल से स्वचालित करें जो CD को स्केल पर उन तरीकों से संभाल सकता है जो कोई अन्य टूल नहीं कर सकता।

Model Context Protocol (MCP) आपके दैनिक कार्य में उपयोग किए जाने वाले AI सहायकों, जैसे Claude Code या ChatGPT, को आपके स्वामित्व वाले सिस्टम और सेवाओं से मानकीकृत तरीके से जुड़ने की अनुमति देता है, जिससे वे प्रश्नों के उत्तर देने और कार्य करने के लिए उन सिस्टम और सेवाओं से जानकारी प्राप्त कर सकते हैं।

Octopus MCP Server आपके AI सहायक को शक्तिशाली टूल प्रदान करता है जो उसे आपके Octopus इंस्टेंस के भीतर समस्याओं का निरीक्षण, क्वेरी और निदान करने की अनुमति देता है, जो इसे आपका अंतिम DevOps साथी बनाता है। समर्थित उपयोग-मामलों और नमूना प्रॉम्प्ट की सूची के लिए, हमारा दस्तावेज़ देखें।

Octopus Server संगतता

MCP Server द्वारा उजागर किए गए अधिकांश टूल स्थिर APIs का उपयोग करते हैं जो Octopus Server के कम से कम संस्करण 2021.1 से उपलब्ध हैं। नए टूल दस्तावेज़ में न्यूनतम समर्थित संस्करण निर्दिष्ट करेंगे। वैकल्पिक रूप से, आप कमांड लाइन तर्क --list-tools-by-version का उपयोग यह जांचने के लिए कर सकते हैं कि विशिष्ट टूल Octopus के संस्करणों से कैसे संबंधित हैं।

🚀 स्थापना

Docker के माध्यम से स्थापित करें

होस्ट प्रोसेस सूची में उन्हें उजागर करने से बचने के लिए क्रेडेंशियल पर्यावरण चर के माध्यम से प्रदान किए जाने चाहिए (ps aux / /proc/<pid>/cmdline)। Octopus सर्वर URL अभी भी --server-url फ्लैग के माध्यम से प्रदान किया जा सकता है।

docker run -i --rm -e OCTOPUS_API_KEY=your-key -e OCTOPUS_SERVER_URL=https://your-octopus.com octopusdeploy/mcp-server

पूर्ण उदाहरण कॉन्फ़िगरेशन (Claude Desktop, Claude Code और Cursor के लिए):

{
  "mcpServers": {
    "octopus-deploy": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "OCTOPUS_SERVER_URL",
        "-e",
        "OCTOPUS_API_KEY",
        "octopusdeploy/mcp-server"
      ],
      "env": {
        "OCTOPUS_SERVER_URL": "https://your-octopus.com",
        "OCTOPUS_API_KEY": "YOUR_API_KEY"
      }
    },
  }
}

Apple Mac उपयोगकर्ताओं के लिए, आपको Docker को Linux प्लेटफ़ॉर्म का उपयोग करने के लिए बाध्य करने हेतु कॉन्फ़िगरेशन में निम्नलिखित तर्क जोड़ने की आवश्यकता हो सकती है:

"--platform",
"linux/amd64",

हम जल्द ही एक मूल ARM बिल्ड जारी करने की योजना बना रहे हैं ताकि उन तर्कों की अब आवश्यकता न रहे।

Node के माध्यम से स्थापित करें

आवश्यकताएँ

  • Node.js >= v20.0.0
  • Octopus Deploy इंस्टेंस जिसे MCP सर्वर HTTPS के माध्यम से एक्सेस कर सकता है
  • Octopus Deploy API Key या Access Token (नीचे प्रमाणीकरण देखें)

कॉन्फ़िगरेशन

पूर्ण उदाहरण कॉन्फ़िगरेशन (Claude Desktop, Claude Code और Cursor के लिए):

राइट टूल सक्षम (डिफ़ॉल्ट):

{
  "mcpServers": {
    "octopusdeploy": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@octopusdeploy/mcp-server"],
      "env": {
        "OCTOPUS_SERVER_URL": "https://your-octopus.com",
        "OCTOPUS_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

केवल-पढ़ने का मोड (उत्पादन के लिए अनुशंसित):

{
  "mcpServers": {
    "octopusdeploy": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@octopusdeploy/mcp-server", "--read-only"],
      "env": {
        "OCTOPUS_SERVER_URL": "https://your-octopus.com",
        "OCTOPUS_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Octopus MCP Server आमतौर पर आपके चुने हुए AI क्लाइंट के भीतर कॉन्फ़िगर किया जाता है।

यह एक npm पैकेज के रूप में पैक किया गया है और Node के npx कमांड के माध्यम से निष्पादित किया जाता है। क्रेडेंशियल (API key या access token) पर्यावरण चर के माध्यम से प्रदान किए जाने चाहिए — प्रोसेस सूची में रहस्यों को उजागर करने से बचने के लिए उन्हें कमांड-लाइन तर्क के रूप में स्वीकार नहीं किया जाता है। Octopus सर्वर URL OCTOPUS_SERVER_URL पर्यावरण चर या --server-url फ्लैग के माध्यम से प्रदान किया जा सकता है।

OCTOPUS_API_KEY=API-KEY \
OCTOPUS_SERVER_URL=https://your-octopus.com \
npx -y @octopusdeploy/mcp-server

या सर्वर URL के साथ कमांड लाइन पर:

OCTOPUS_API_KEY=API-KEY \
npx -y @octopusdeploy/mcp-server --server-url https://your-octopus.com

प्रमाणीकरण

MCP सर्वर दो प्रमाणीकरण विधियों का समर्थन करता है। दोनों पर्यावरण चर के माध्यम से प्रदान किए जाते हैं — क्रेडेंशियल कमांड लाइन पर स्वीकार नहीं किए जाते क्योंकि फ्लैग होस्ट प्रोसेस सूची में किसी भी स्थानीय उपयोगकर्ता को दिखाई देते हैं।

API Key (इंटरैक्टिव उपयोग के लिए अनुशंसित)

API keys Octopus Deploy के लिए मानक प्रमाणीकरण विधि हैं। आप अपने Octopus Deploy उपयोगकर्ता प्रोफ़ाइल से एक उत्पन्न कर सकते हैं।

OCTOPUS_API_KEY=API-XXXXXXXXXXXXXXXXXXXXXXXXXX \
OCTOPUS_SERVER_URL=https://your-octopus.com \
npx -y @octopusdeploy/mcp-server

Access Token / Bearer Token (केवल स्वचालित परिदृश्य)

सर्वर API keys के विकल्प के रूप में अल्पकालिक access tokens (Bearer tokens) का भी समर्थन करता है। यह प्रमाणीकरण विधि केवल स्वचालित परिदृश्यों के लिए है जहाँ एक बाहरी सिस्टम MCP सर्वर को अल्पकालिक टोकन जारी करता है (जैसे CI/CD पाइपलाइन, स्वचालित ऑर्केस्ट्रेशन, या मशीन-से-मशीन वर्कफ़्लो)। लंबे समय तक चलने वाले Bearer tokens का उपयोग न करें — इंटरैक्टिव या लंबे समय तक चलने वाले सत्रों के लिए API keys का उपयोग करें।

OCTOPUS_ACCESS_TOKEN=your-short-lived-token \
OCTOPUS_SERVER_URL=https://your-octopus.com \
npx -y @octopusdeploy/mcp-server

Access token के साथ पूर्ण उदाहरण कॉन्फ़िगरेशन:

{
  "mcpServers": {
    "octopusdeploy": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@octopusdeploy/mcp-server"],
      "env": {
        "OCTOPUS_SERVER_URL": "https://your-octopus.com",
        "OCTOPUS_ACCESS_TOKEN": "YOUR_TOKEN"
      }
    }
  }
}

यदि API key और access token दोनों प्रदान किए गए हैं, तो access token को प्राथमिकता दी जाती है। सक्रिय प्रमाणीकरण विधि लॉग फ़ाइल में दर्ज की जाती है (--log-file के साथ कॉन्फ़िगर करने योग्य) ताकि ऑपरेटर पुष्टि कर सकें कि कौन सा क्रेडेंशियल उपयोग में है।

कॉन्फ़िगरेशन विकल्प

Octopus MCP Server कई कमांड-लाइन विकल्पों का समर्थन करता है ताकि यह अनुकूलित किया जा सके कि कौन से टूल उपलब्ध हैं।

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

टूलसेट

विशिष्ट टूल समूहों को सक्षम करने के लिए --toolsets पैरामीटर का उपयोग करें:

# Enable all toolsets (default)
npx -y @octopusdeploy/mcp-server

# Enable only specific toolsets
npx -y @octopusdeploy/mcp-server --toolsets projects,deployments

# Enable all toolsets explicitly
npx -y @octopusdeploy/mcp-server --toolsets all

उपलब्ध टूलसेट:

  • core - बुनियादी संचालन (हमेशा सक्षम)
  • projects - प्रोजेक्ट संचालन
  • deployments - डिप्लॉयमेंट संचालन
  • releases - रिलीज़ प्रबंधन
  • runbooks - Runbook खोज और निष्पादन
  • tasks - कार्य संचालन
  • tenants - मल्टी-टेनेंसी संचालन
  • kubernetes - कुबरनेट्स संचालन
  • machines - डिप्लॉयमेंट लक्ष्य संचालन
  • certificates - प्रमाणपत्र संचालन
  • accounts - खाता संचालन
  • interruptions - मैन्युअल हस्तक्षेप और अनुमोदन संचालन
  • featureToggles - ग्राहक feature toggles का निरीक्षण और समायोजन
  • context - प्रमाणित उपयोगकर्ता और प्रोजेक्ट संदर्भ (वर्तमान उपयोगकर्ता, Git शाखाएँ)

केवल-पढ़ने का मोड

सर्वर डिफ़ॉल्ट रूप से राइट टूल सक्षम के साथ चलता है। सभी राइट टूल अक्षम करने और execute बैकस्टॉप के माध्यम से POST/PUT/PATCH/DELETE ब्लॉक करने के लिए --read-only पास करें। अधिकांश क्यूरेटेड टूल पहले से ही केवल-पढ़ने वाले हैं; केवल एक छोटा सेट राइट करता है।

राइट-सक्षम टूल (हमेशा-राइट):

  • create_release - नई रिलीज़ बनाएँ
  • deploy_release - रिलीज़ को पर्यावरण और टेनेंट में डिप्लॉय करें
  • run_runbook - एक या अधिक पर्यावरण (और वैकल्पिक टेनेंट) के विरुद्ध runbook चलाएँ
  • update_feature_toggle - मौजूदा feature toggle पर प्रति-पर्यावरण स्थिति और रोलआउट प्रतिशत समायोजित करें

सशर्त-राइटिंग टूल: execute एक संरचित REST बैकस्टॉप है जिसका स्तर (read / write / delete) उसे पास किए गए HTTP विधि द्वारा निर्धारित होता है। विवरण के लिए API Catalog & Backstop अनुभाग देखें।

राइट टूल MCP elicitation प्रॉम्प्ट द्वारा गेट किए जाते हैं: elicitation का समर्थन करने वाले क्लाइंट से कॉल आगे बढ़ने से पहले पुष्टि करने के लिए कहा जाएगा। बिना elicitation समर्थन वाले क्लाइंट को टूल तर्कों में confirm: true पास करना होगा — अन्यथा टूल त्रुटि के साथ रद्द हो जाता है। गेट को पूरी तरह से बायपास करने के लिए OCTOPUS_SKIP_ELICITATION=true सेट करें (अनअटेंडेड स्वचालन के लिए)।

सर्वर तीन-स्तरीय read/write/delete वर्गीकरण का उपयोग करता है, जो HTTP विधि के आधार पर सर्वर-साइड लागू किया जाता है (एजेंट इरादे के बारे में झूठ बोलकर इसे बायपास नहीं कर सकता):

  • read — हमेशा अनुमत। execute के माध्यम से GET अनुरोध, साथ ही सभी find_* / get_* / list_* टूल।
  • write — execute के माध्यम से POST/PUT/PATCH और उपरोक्त हमेशा-राइट टूल। --read-only सेट होने पर ब्लॉक किया जाता है।
  • delete — execute के माध्यम से DELETE। --allow-deletes की आवश्यकता होती है और --read-only सेट होने पर ब्लॉक किया जाता है। विनाशकारी-डिलीट पथों का एक छोटा सेट (जैसे DELETE /api/spaces/{id}, DELETE /api/users/{id}) और API-key एंडपॉइंट एक कठोर संवेदनशील डेनीलिस्ट पर हैं जो दोनों फ्लैग को अनदेखा करता है।
# Default - write tools enabled (POST/PUT/PATCH)
npx -y @octopusdeploy/mcp-server

# Additionally permit DELETE requests through the execute tool
npx -y @octopusdeploy/mcp-server --allow-deletes

# Read-only mode - write/delete tools disabled
npx -y @octopusdeploy/mcp-server --read-only

सुरक्षा नोट: उचित, न्यूनतम-विशेषाधिकार अनुमतियों वाली API key का उपयोग करें — राइट संचालन आपके Octopus इंस्टेंस में रिलीज़ बना सकते हैं और डिप्लॉयमेंट ट्रिगर कर सकते हैं। उत्पादन के लिए, --read-only पास करने पर विचार करें जब तक कि आपके पास राइट के लिए कोई विशिष्ट, नियंत्रित उपयोग-मामला न हो। --allow-deletes डिफ़ॉल्ट रूप से बंद है; इसे केवल तभी सक्षम करें जब एजेंट को execute के माध्यम से DELETE अनुरोध जारी करने हों। यदि आप --allow-deletes को --read-only के साथ पास करते हैं, तो सर्वर stderr पर एक स्टार्टअप चेतावनी प्रिंट करता है — DELETE अनुरोध केवल-पढ़ने के गेट द्वारा ब्लॉक रहते हैं।

पूर्ण उदाहरण

नीचे दिए गए सभी उदाहरण मानते हैं कि OCTOPUS_API_KEY पर्यावरण में सेट है। --server-url फ्लैग स्पष्टता के लिए दिखाया गया है लेकिन OCTOPUS_SERVER_URL के माध्यम से भी प्रदान किया जा सकता है।

# Development setup with only core and project tools
npx -y @octopusdeploy/mcp-server --toolsets core,projects --server-url https://your-octopus.com

# Production setup with all tools and read-only enforcement
npx -y @octopusdeploy/mcp-server --toolsets all --read-only --server-url https://your-octopus.com

# Default invocation - all tools and writes enabled
npx -y @octopusdeploy/mcp-server --server-url https://your-octopus.com

अन्य कमांड लाइन तर्क

  • --read-only - केवल-पढ़ने का मोड सक्षम करें: सभी क्यूरेटेड राइट टूल अक्षम करें और execute के माध्यम से POST/PUT/PATCH/DELETE ब्लॉक करें। राइट डिफ़ॉल्ट रूप से सक्षम हैं; यह फ्लैग उन्हें बंद कर देता है। केवल-पढ़ने का मोड देखें।
  • --allow-deletes - execute टूल के माध्यम से DELETE अनुरोधों की अनुमति दें। --read-only सेट होने पर अनदेखा किया जाता है (स्टार्टअप चेतावनी के साथ)। डिफ़ॉल्ट false।
  • --log-level <level> - न्यूनतम लॉग स्तर (info, error)
  • --log-file <path> - लॉग फ़ाइल पथ या फ़ाइलनाम। यदि निर्दिष्ट नहीं है, तो लॉग केवल कंसोल पर लिखे जाते हैं
  • -q, --quiet - फ़ाइल लॉगिंग अक्षम करें, केवल त्रुटियों को कंसोल पर लॉग करें
  • --list-tools-by-version - सभी पंजीकृत टूल को उनके समर्थित Octopus Server संस्करण द्वारा सूचीबद्ध करें और बाहर निकलें

🔨 टूल

URL-आधारित टूल

त्वरित प्रारंभ: मैन्युअल ID निष्कर्षण के बिना समस्याओं की जांच करने के लिए Octopus URLs सीधे पेस्ट करें।

  • get_deployment_from_url: डिप्लॉयमेंट URL से डिप्लॉयमेंट विवरण प्राप्त करें (अनुवर्ती के लिए taskId लौटाता है)
  • get_task_from_url: कार्य URL से कार्य विवरण और लॉग प्राप्त करें

डिप्लॉयमेंट जांच वर्कफ़्लो:

1. get_deployment_from_url with deployment URL
   → Returns deployment context + taskResourceUri + grepTaskLogHint

2a. Fetch the structured activity tree via resources/read (or read_resource)
    octopus://spaces/{spaceName}/tasks/{taskId}/details

2b. Or call grep_task_log with the taskId to search the raw log without
    fetching the full body:
       grep_task_log({ spaceName, taskId, pattern: "error|fail", caseInsensitive: true })

कार्य जांच (सीधा कार्य URL):

get_task_from_url with task URL
→ Returns task details and logs immediately

ये टूल मैन्युअल ID निष्कर्षण को समाप्त करते हैं:

  • URLs को स्वचालित रूप से पार्स करना
  • स्पेस IDs को स्पेस नामों में हल करना
  • ID प्रारूपों को मान्य करना
  • स्पष्ट त्रुटि संदेश प्रदान करना

उदाहरण URLs:

  • डिप्लॉयमेंट: https://your-octopus.com/app#/Spaces-1/projects/my-app/deployments/Deployments-123
  • कार्य: https://your-octopus.com/app#/Spaces-1/tasks/ServerTasks-456

विस्तृत वर्कफ़्लो, उदाहरण और सर्वोत्तम प्रथाओं के लिए URLs के साथ कार्य करना देखें।

कोर टूल

  • list_spaces: Octopus Deploy इंस्टेंस में सभी स्पेस सूचीबद्ध करें
  • list_environments: दिए गए स्पेस में सभी पर्यावरण सूचीबद्ध करें

API Catalog & Backstop

ये टूल और संसाधन एजेंट को Octopus REST एंडपॉइंट तक पहुँचने की अनुमति देते हैं जिनके लिए कोई समर्पित क्यूरेटेड टूल नहीं है, read, write और delete संचालन के बीच कठोर सर्वर-साइड गेटिंग के साथ।

  • grep_llms_txt: Octopus API कैटलॉग (octopus://api/llms.txt) को grep-शैली सेमेन्टिक्स के साथ खोजें (न्यूनतम समर्थित Octopus संस्करण: 2026.2.3916)। कैटलॉग बॉडी बड़ी है (आमतौर पर 300+ KB) — इसे सीधे रिसोर्स बॉडी पढ़ने के बजाय कॉल करें। पैरामीटर GNU grep को दर्शाते हैं (pattern, caseInsensitive, invertMatch, fixedString, beforeContext, afterContext, maxCount)। एंडपॉइंट खोजने (POST /releases), डिलीट एंडपॉइंट्स की गणना करने (DELETE ), या किसी राइट ऑपरेशन के लिए बॉडी प्रकार खोजने (Body: Create.*Command) के लिए उपयोगी।
  • execute: संरचित REST बैकस्टॉप। /api के अंतर्गत किसी भी Octopus REST एंडपॉइंट तक पहुँचता है। HTTP विधि प्रामाणिक रीड/राइट/डिलीट वर्गीकरणकर्ता है — कभी भी isWrite फ्लैग नहीं जो LLM सेट कर सकता है। विधि गेटिंग सर्वर-साइड हार्ड-कोडेड है:
    • GET हमेशा अनुमत है (पथ आकार जाँच + संवेदनशील डेनीलिस्ट के अधीन)।
    • POST/PUT/PATCH तब ब्लॉक होते हैं जब --read-only सेट होता है; अन्यथा उन्हें elicitation के माध्यम से उपयोगकर्ता पुष्टि की आवश्यकता होती है।
    • DELETE को --allow-deletes की आवश्यकता होती है (और तब ब्लॉक होता है जब --read-only सेट होता है) साथ ही एक मजबूत "IRREVERSIBLE" elicitation संदेश।
    • संवेदनशील डेनीलिस्ट (API-कुंजी एंडपॉइंट्स, DELETE /api/spaces/{id}, DELETE /api/users/{id}) दोनों फ्लैग चालू होने पर भी लागू होता है।
    • पथ को /api होना आवश्यक है या /api/ से शुरू होना चाहिए — पूर्ण URL, SDK-सापेक्ष ~/api/... पथ, और /api के बाहर होस्ट-सापेक्ष पथ (जैसे /octopus/portal/...) शुरू में अस्वीकार कर दिए जाते हैं, इसलिए execute Octopus REST API सतह तक सीमित रहता है।
    • प्रति-टूलसेट पथ अनुमतिसूची केवल तब लागू होती है जब --toolsets संकुचित किया गया हो। प्रत्येक टूलसेट सक्षम के साथ (डिफ़ॉल्ट, या स्पष्ट --toolsets all) अनुमतिसूची को बायपास किया जाता है और /api के अंतर्गत कोई भी पथ उपरोक्त गेट्स के अधीन पहुँच योग्य होता है। जब --toolsets संकुचित होता है तो अनुमतिसूची किल-स्विच बन जाती है: पथ केवल तभी हल होते हैं यदि उनका स्वामित्व टूलसेट सक्षम है, इसलिए एक टूलसेट को अक्षम करना (जैसे certificates) उसके पथों को execute के माध्यम से GET पर भी अप्राप्य बना देता है।

कैटलॉग डेटा MCP रिसोर्सेज के रूप में भी उजागर होता है:

  • octopus://api/llms.txt — प्रत्येक Octopus REST एंडपॉइंट का मार्कडाउन कैटलॉग (HTTP विधि, पथ, क्वेरी पैरामीटर, अनुरोध/प्रतिक्रिया प्रकार)। Octopus सर्वर 2026.2.3916 या बाद के संस्करण की आवश्यकता है। कॉन्फ़िगर किए गए सर्वर URL पर आधारित 5-मिनट की इन-मेमोरी कैश। बॉडी को सीधे पढ़ने के बजाय grep_llms_txt को प्राथमिकता दें।
  • octopus://api/capabilities — चल रहे सत्र का वर्णन करने वाला JSON: सर्वर संस्करण, सक्षम टूलसेट, उपलब्ध उपकरण (उनके minimumOctopusVersion के साथ), और क्या --read-only / --allow-deletes चालू है। एजेंट के लिए यह खोजने के लिए उपयोगी कि इस सत्र में क्या पहुँच योग्य है।

प्रोजेक्ट्स

  • list_projects: किसी दिए गए स्पेस में सभी प्रोजेक्ट्स की सूची बनाएं

डिप्लॉयमेंट्स

  • deploy_release: एक रिलीज़ को पर्यावरणों में डिप्लॉय करें (टेनेंटेड और अनटेनेंटेड डिप्लॉयमेंट्स दोनों का समर्थन करता है)
  • list_deployments: वैकल्पिक फ़िल्टरिंग के साथ एक स्पेस में डिप्लॉयमेंट्स की सूची बनाएं

रिलीज़ेस

  • create_release: एक प्रोजेक्ट के लिए एक नई रिलीज़ बनाएं
  • find_releases: एक स्पेस में रिलीज़ेस खोजें (आईडी द्वारा एक विशिष्ट रिलीज़ प्राप्त कर सकते हैं, या प्रोजेक्ट द्वारा रिलीज़ेस की सूची/फ़िल्टर कर सकते हैं)

रिलीज़ विवरण octopus://spaces/{spaceName}/releases/{releaseId} पर एक MCP रिसोर्स के रूप में भी उपलब्ध है — पूर्ण रिलीज़ बॉडी प्राप्त करने के लिए resources/read (या read_resource बैकस्टॉप टूल) के माध्यम से प्राप्त करें, जिसमें रिलीज़ नोट्स और चयनित पैकेज शामिल हैं।

रनबुक्स

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

पूर्ण रनबुक बॉडी (रनटाइम पॉलिसी फ़ील्ड्स सहित) octopus://spaces/{spaceName}/runbooks/{runbookId} पर एक MCP रिसोर्स के रूप में उपलब्ध है।

कार्य

कार्य डेटा मुख्य रूप से MCP रिसोर्सेज के रूप में उजागर होता है। निम्न में से एक के साथ resources/read (या read_resource बैकस्टॉप टूल) का उपयोग करें:

  • octopus://spaces/{spaceName}/tasks/{taskId} — हल्का मेटाडेटा (स्थिति, समय, पूर्णता फ्लैग)
  • octopus://spaces/{spaceName}/tasks/{taskId}/details — पूर्ण ServerTaskDetails (प्रगति, ActivityLogs ट्री, आदि)

लॉग खोज के लिए, /log रिसोर्स के बजाय grep_task_log टूल का उपयोग करें:

  • grep_task_log: पूर्ण बॉडी प्राप्त किए बिना किसी कार्य की गतिविधि लॉग खोजें। पैरामीटर GNU grep को दर्शाते हैं (pattern, caseInsensitive, invertMatch, fixedString, beforeContext, afterContext, maxCount)। 1-अनुक्रमित lineNumber के साथ मेल खाती पंक्तियाँ लौटाता है, वैकल्पिक पहले/बाद संदर्भ सरणियाँ, और पूरे लॉग में totalMatches गिनती।

जानबूझकर कोई /log रिसोर्स नहीं है: गतिविधि लॉग मल्टी-मेगाबाइट हो सकते हैं, और एक संबोधित रिसोर्स कॉलर्स को पूरी बॉडी प्राप्त करने के लिए लुभाएगा जबकि grep लगभग हमेशा सही प्राइमिटिव है।

टेनेंट्स

  • find_tenants: एक स्पेस में टेनेंट्स खोजें (आईडी द्वारा एक विशिष्ट टेनेंट प्राप्त कर सकते हैं या फ़िल्टर के साथ टेनेंट्स की सूची/खोज कर सकते हैं)
  • get_tenant_variables: प्रकार द्वारा टेनेंट वेरिएबल्स प्राप्त करें (सभी, सामान्य, या प्रोजेक्ट)
  • get_missing_tenant_variables: टेनेंट वेरिएबल्स प्राप्त करें जिनमें मान गायब हैं

Kubernetes

  • get_kubernetes_live_status: एक प्रोजेक्ट और पर्यावरण के लिए Kubernetes रिसोर्सेज की लाइव स्थिति प्राप्त करें (न्यूनतम समर्थित संस्करण: 2025.3)

मशीनें (डिप्लॉयमेंट लक्ष्य)

  • find_deployment_targets: एक स्पेस में डिप्लॉयमेंट लक्ष्य खोजें (आईडी द्वारा एक विशिष्ट लक्ष्य प्राप्त कर सकते हैं या फ़िल्टर के साथ लक्ष्यों की सूची/खोज कर सकते हैं)

प्रमाणपत्र

  • find_certificates: एक स्पेस में प्रमाणपत्र खोजें (आईडी द्वारा एक विशिष्ट प्रमाणपत्र प्राप्त कर सकते हैं या फ़िल्टर के साथ प्रमाणपत्रों की सूची/खोज कर सकते हैं)

खाते

  • find_accounts: एक स्पेस में खाते खोजें (आईडी द्वारा एक विशिष्ट खाता प्राप्त कर सकते हैं या फ़िल्टर के साथ खातों की सूची/खोज कर सकते हैं)

व्यवधान

  • find_interruptions: एक स्पेस में लंबित या ऐतिहासिक व्यवधान (मैनुअल हस्तक्षेप, अनुमोदन, गाइडेड-फेल्योर प्रॉम्प्ट) खोजें, वैकल्पिक रूप से कार्य, प्रोजेक्ट, पर्यावरण, संबंधित दस्तावेज़, जिम्मेदारी, या लंबित स्थिति द्वारा फ़िल्टर किया गया। स्लिम सारांश लौटाता है; पूर्ण फ़ॉर्म परिभाषा (नियंत्रण प्रकार, मार्कडाउन निर्देश, बटन विकल्प, प्रस्तुत Form.Values) के लिए octopus://spaces/{spaceName}/interruptions/{interruptionId} रिसोर्स को डीरेफरेंस करें।

फीचर टॉगल्स

  • find_feature_toggles: एक प्रोजेक्ट में ग्राहक फीचर टॉगल्स की सूची बनाएं। प्रत्येक सारांश में प्रति-पर्यावरण स्थिति (isEnabled, rolloutPercentage, clientRolloutPercentage) साथ ही एक resourceUri शामिल है ताकि "X कहाँ चालू है" सूची प्रतिक्रिया से उत्तर दिया जा सके।
  • update_feature_toggle: एक मौजूदा टॉगल समायोजित करें। संकीर्ण सतह — एक पर्यावरण को चालू/बंद करें, रोलआउट प्रतिशत बदलें, या टॉगल-स्तरीय विवरण / डिफ़ॉल्ट स्थिति अपडेट करें। आंतरिक रूप से वर्तमान टॉगल प्राप्त करता है, आपके पैच को मेमोरी में लागू करता है, और मर्ज की गई बॉडी को PUT करता है, इसलिए अनुल्लिखित पर्यावरण और अनुल्लिखित फ़ील्ड संरक्षित रहते हैं। पैच जो टॉगल पर पहले से कॉन्फ़िगर नहीं किए गए पर्यावरण को संदर्भित करते हैं, अस्वीकार कर दिए जाते हैं।

पूर्ण टॉगल बॉडी (विवरण, टेनेंट्स, सेगमेंट, न्यूनतम संस्करण) octopus://spaces/{spaceName}/projects/{projectId}/featuretoggles/{slug} पर एक MCP रिसोर्स के रूप में उपलब्ध है। रोलआउट समूह बॉडीज़ केवल-पढ़ने के निरीक्षण के लिए octopus://spaces/{spaceName}/projects/{projectId}/rolloutgroups/{rolloutGroupId} पर संबोधित हैं।

दायरे से बाहर (Octopus UI का उपयोग करें): नए फीचर टॉगल बनाना, टॉगल हटाना, नाम बदलना या रीटैग करना, रोलआउट समूहों को जोड़ना/अलग करना, टेनेंट लक्ष्यीकरण, सेगमेंट, न्यूनतम-संस्करण फ़िल्टर, और रोलआउट-समूह / SDK क्लाइंट-पहचानकर्ता प्रबंधन।

अतिरिक्त उपकरण

  • get_deployment_process: प्रोजेक्ट्स या रिलीज़ेस के लिए आईडी द्वारा डिप्लॉयमेंट प्रक्रिया प्राप्त करें
  • get_variables: एक प्रोजेक्ट के लिए सभी प्रोजेक्ट वेरिएबल्स और लाइब्रेरी वेरिएबल सेट वेरिएबल्स प्राप्त करें (gitRef के माध्यम से कॉन्फ़िग-एज़-कोड प्रोजेक्ट्स का समर्थन करता है)
  • get_branches: एक संस्करण-नियंत्रित प्रोजेक्ट के लिए Git शाखाएँ प्राप्त करें (न्यूनतम समर्थित संस्करण: 2021.2)
  • get_current_user: वर्तमान प्रमाणित उपयोगकर्ता के बारे में जानकारी प्राप्त करें

🔒 सुरक्षा विचार

Octopus MCP सर्वर में रीड और राइट दोनों ऑपरेशन शामिल हैं। महत्वपूर्ण सुरक्षा विचार:

रीड ऑपरेशन

  • पूर्ण डिप्लॉयमेंट लॉग पढ़ सकते हैं, जिसमें उत्पादन रहस्य शामिल हो सकते हैं यदि उन्हें रहस्य के रूप में चिह्नित नहीं किया गया था
  • संवेदनशील कॉन्फ़िगरेशन डेटा और वेरिएबल्स तक पहुँच
  • उन उपकरणों और मॉडलों से कनेक्ट करते समय सावधानी बरतें जिन पर आप पूरी तरह भरोसा नहीं करते

राइट ऑपरेशन

डिफ़ॉल्ट रूप से, निम्नलिखित राइट ऑपरेशन उपलब्ध हैं:

  • रिलीज़ बनाना: प्रोजेक्ट्स के लिए नई रिलीज़ बना सकते हैं
  • रिलीज़ डिप्लॉय करना: पर्यावरणों (उत्पादन सहित) में डिप्लॉयमेंट ट्रिगर कर सकते हैं
  • रनबुक चलाना: पर्यावरणों और टेनेंट्स के विरुद्ध रनबुक निष्पादित कर सकते हैं
  • फीचर टॉगल्स अपडेट करना: मौजूदा टॉगल्स पर प्रति-पर्यावरण स्थिति फ्लिप कर सकते हैं और रोलआउट प्रतिशत बदल सकते हैं
  • execute बैकस्टॉप के माध्यम से मनमाना POST/PUT/PATCH: /api के अंतर्गत पथों तक सीमित, हमेशा-चालू संवेदनशील डेनीलिस्ट के साथ। प्रति-टूलसेट पथ अनुमतिसूची केवल तब लागू होती है जब --toolsets संकुचित किया गया हो; सभी टूलसेट सक्षम के साथ (डिफ़ॉल्ट) एकमात्र पथ गेट्स /api सीमा और संवेदनशील डेनीलिस्ट हैं।

उपरोक्त सभी को अक्षम करने के लिए --read-only पास करें। execute के माध्यम से DELETE अनुरोधों के लिए एक अतिरिक्त --allow-deletes फ्लैग की आवश्यकता होती है — अपरिवर्तनीय ऑपरेशनों के लिए एक जानबूझकर ऑप्ट-इन — और --read-only सेट होने पर ब्लॉक रहते हैं।

महत्वपूर्ण सुरक्षा उपाय:

  1. न्यूनतम विशेषाधिकार: अपने उपयोग के मामले के लिए आवश्यक न्यूनतम अनुमतियों वाली API कुंजियों का उपयोग करें
  2. रीड-ओनली मोड में ऑप्ट इन करें: राइट्स डिफ़ॉल्ट रूप से सक्षम हैं। उत्पादन के लिए, --read-only पास करें जब तक कि आपके पास राइट ऑपरेशन के लिए एक विशिष्ट, नियंत्रित उपयोग का मामला न हो। DELETE हमेशा अतिरिक्त --allow-deletes ऑप्ट-इन की आवश्यकता होती है।
  3. विधि गेटिंग सर्वर-साइड और हार्ड-कोडेड है: execute को पारित HTTP विधि प्रामाणिक वर्गीकरणकर्ता है। एजेंट कॉल क्या करता है, इसे गलत तरीके से प्रस्तुत करके गेट को बायपास नहीं कर सकता — POST/PUT/PATCH/DELETE अनुरोधों को अनुरोध बॉडी में गद्य के बावजूद टियर-विशिष्ट गेटिंग मिलती है।
  4. टूलसेट फ़िल्टरिंग किल स्विच के रूप में दोगुना काम करती है: --toolsets को संकुचित करना अक्षम टूलसेट्स के क्यूरेटेड टूल्स और उनके पथों दोनों को execute अनुमतिसूची से हटा देता है। (अनुमतिसूची केवल तब परामर्श की जाती है जब टूलसेट संकुचित होते हैं; सभी टूलसेट सक्षम के साथ execute /api आकार जाँच और संवेदनशील डेनीलिस्ट द्वारा सीमित होता है।)
  5. प्रॉम्प्ट इंजेक्शन जोखिम: पूरी तरह से स्वचालित तरीके से एजेंट चलाना आपको प्रॉम्प्ट-इंजेक्शन हमलों के प्रति संवेदनशील बना सकता है

अनुशंसा: उत्पादन पर्यावरणों के लिए, --read-only पास करें जब तक कि आपके पास राइट ऑपरेशन के लिए एक विशिष्ट, नियंत्रित उपयोग का मामला न हो। --allow-deletes को बंद रखें जब तक कि आपको विशेष रूप से execute के माध्यम से DELETE सेमेन्टिक्स की आवश्यकता न हो।

⚠️ सीमाएँ

डेटा विश्लेषण

वर्तमान AI चैट उपकरणों और MCP प्रोटोकॉल की प्रकृति बड़ी मात्रा में डेटा का विश्लेषण करना अव्यावहारिक बनाती है। अधिकांश MCP क्लाइंट वर्तमान में टूल कॉल चेनिंग (एक टूल के आउटपुट को अगले के इनपुट के रूप में उपयोग करना) का समर्थन नहीं करते हैं और इसके बजाय परिणामों को टोकन दर टोकन कॉपी करने पर वापस आ जाते हैं, जो अक्सर मतिभ्रम की ओर ले जाता है। यदि आप विश्लेषण उद्देश्यों के लिए अपने Octopus इंस्टेंस से ऐतिहासिक डेटा संसाधित करना चाहते हैं, तो हम सीधे API का उपयोग करने या अपना स्वयं का MCP क्लाइंट लिखने की अनुशंसा करते हैं जो टूल कॉल परिणामों को प्रोग्रामेटिक रूप से संसाधित करने में सक्षम हो।

प्रदर्शन

MCP सर्वर तकनीकी रूप से मौजूदा Octopus सर्वर API के ऊपर एक पतली परत है। इस प्रकार यह बड़ी मात्रा में डेटा प्राप्त करने में सक्षम है (उदाहरण के लिए, हजारों डिप्लॉयमेंट्स का अनुरोध करना)। ऐसे क्वेरीज़ आपके इंस्टेंस के प्रदर्शन पर महत्वपूर्ण प्रभाव डाल सकते हैं। अपने मॉडलों को निर्देश दें कि वे केवल न्यूनतम डेटा सेट प्राप्त करें जिसकी उन्हें आवश्यकता है (अधिकांश मॉडल इस पर वास्तव में अच्छे हैं)।

🤝 योगदान

योगदान का स्वागत है! :heart: कृपया इस परियोजना में शामिल होने की जानकारी के लिए हमारा योगदान मार्गदर्शिका पढ़ें।

हम यह जानने के लिए उत्सुक हैं कि आप Octopus MCP सर्वर का उपयोग कैसे करने की योजना बना रहे हैं और भविष्य के संस्करण में कौन सी सुविधाएँ शामिल करना चाहेंगे।

कृपया प्रतिक्रिया देने या सुविधाओं का अनुरोध करने के लिए मुद्दे का उपयोग करें।

यदि आप वर्तमान Octopus ग्राहक हैं, तो कृपया हमारे MCP सर्वर का उपयोग करते समय आने वाली किसी भी समस्या की रिपोर्ट हमारी सहायता टीम को करें। यह सुनिश्चित करेगा कि आपको हमारी मानक सहायता गारंटी के भीतर समय पर प्रतिक्रिया मिले।

🙋 अक्सर पूछे जाने वाले प्रश्न

क्या आपके पास रिमोट MCP सर्वर जारी करने की योजना है?

हम Octopus सर्वर में सीधे एक MCP सर्वर को एकीकृत करने पर काम कर रहे हैं। यह हमारे लिए अधिक जटिल MCP उपकरण बनाने का द्वार खोलेगा, साथ ही:

  • Octopus प्रशासकों को MCP क्लाइंट पर अधिक सूक्ष्म नियंत्रण देना
  • क्लाइंट प्रमाणीकरण के लिए OAuth का मूल रूप से समर्थन करना
  • सुरक्षा स्कैनिंग उपकरणों को MCP आउटपुट में एकीकृत करना

यदि यह आपके लिए रुचिकर है, तो कृपया हमारे रोडमैप आइटम पर अपनी रुचि दर्ज करें।

लाइसेंस

यह परियोजना Mozilla Public License 2.0 ओपन सोर्स लाइसेंस की शर्तों के तहत लाइसेंस प्राप्त है।