Octopus Deploy Official MCP Server
आधिकारिकOctopus MCP Server आपके AI सहायक को शक्तिशाली उपकरण प्रदान करता है जो इसे आपके Octopus इंस्टेंस के भीतर समस्याओं का निरीक्षण, क्वेरी और निदान करने की अनुमति देता है, इसे आपके अंतिम DevOps साथी में बदल देता है।
Octopus Deploy Official MCP के साथ आप क्या कर सकते हैं?
- URL से डिप्लॉयमेंट की जांच करें — Octopus डिप्लॉयमेंट URL पेस्ट करें और असिस्टेंट
get_deployment_from_urlके माध्यम से विवरण और संबंधित टास्क आईडी प्राप्त करेगा। - पूरा लॉग डाउनलोड किए बिना टास्क लॉग में त्रुटियां खोजें —
grep_task_logका उपयोग करें और “error|fail” जैसे पैटर्न से टास्क की गतिविधि लॉग में मेल खाने वाली पंक्तियां और संदर्भ ढूंढें। - उपलब्ध REST एंडपॉइंट खोजें —
executeबैकस्टॉप का उपयोग करने से पहले एंडपॉइंट, अनुरोध बॉडी या डिलीट ऑपरेशन के लिए Octopus API कैटलॉग में खोजने हेतुgrep_llms_txtको कॉल करें। - रिलीज़ ढूंढें और निरीक्षण करें —
find_releasesका उपयोग करके प्रोजेक्ट या आईडी के आधार पर रिलीज़ खोजें, फिरoctopus://spaces/{spaceName}/releases/{releaseId}संसाधन के माध्यम से इसका पूरा बॉडी (रिलीज़ नोट्स, पैकेज) प्राप्त करें। - प्रोजेक्ट और एनवायरनमेंट के लिए Kubernetes संसाधन स्थिति जांचें — Kubernetes संसाधनों की लाइव स्थिति प्राप्त करने के लिए
get_kubernetes_live_statusको कॉल करें (Octopus 2025.3+ आवश्यक है)। - एनवायरनमेंट में फीचर टॉगल स्थिति प्रबंधित करें —
find_feature_togglesसे टॉगल सूचीबद्ध करें औरupdate_feature_toggleके साथ प्रति-एनवायरनमेंट सक्षम स्थिति या रोलआउट प्रतिशत समायोजित करें।
दस्तावेज़
Octopus Deploy Official MCP Server
Octopus Kubernetes, मल्टी-क्लाउड, ऑन-प्रेम इंफ्रास्ट्रक्चर और कहीं भी सॉफ़्टवेयर पहुँचाना आसान बनाता है। अपने सॉफ़्टवेयर और AI कार्यभारों के रिलीज़, डिप्लॉयमेंट और संचालन को एक ऐसे उपकरण से स्वचालित करें जो बड़े पैमाने पर CD को ऐसे तरीकों से संभाल सकता है जो कोई और उपकरण नहीं कर सकता।
Model Context Protocol (MCP) आपके दैनिक कार्य में उपयोग किए जाने वाले AI सहायकों, जैसे Claude Code या ChatGPT, को एक मानकीकृत तरीके से आपके स्वामित्व वाले सिस्टम और सेवाओं से जुड़ने की अनुमति देता है, जिससे वे प्रश्नों का उत्तर देने और कार्य करने के लिए उन सिस्टम और सेवाओं से जानकारी खींच सकते हैं।
Octopus MCP Server आपके AI सहायक को शक्तिशाली उपकरण प्रदान करता है जो उसे आपके Octopus इंस्टेंस के भीतर निरीक्षण, क्वेरी और समस्याओं का निदान करने की अनुमति देता है, जो इसे आपके अंतिम DevOps विंगमेट में बदल देता है। समर्थित उपयोग-मामलों और नमूना संकेतों की सूची के लिए, हमारा दस्तावेज़ीकरण देखें।
Octopus Server संगतता
MCP Server द्वारा उजागर अधिकांश उपकरण स्थिर API का उपयोग करते हैं जो कम से कम 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 कुंजी या एक्सेस टोकन (नीचे प्रमाणीकरण देखें)
कॉन्फ़िगरेशन
पूर्ण उदाहरण कॉन्फ़िगरेशन (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 कुंजी या एक्सेस टोकन) को पर्यावरण चर के माध्यम से आपूर्ति की जानी चाहिए — प्रक्रिया सूची में रहस्यों को उजागर करने से बचने के लिए उन्हें कमांड-लाइन तर्कों के रूप में स्वीकार नहीं किया जाता है। 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 कुंजी (इंटरैक्टिव उपयोग के लिए अनुशंसित)
API कुंजियाँ Octopus Deploy के लिए मानक प्रमाणीकरण विधि हैं। आप अपनी Octopus Deploy उपयोगकर्ता प्रोफ़ाइल से एक उत्पन्न कर सकते हैं।
OCTOPUS_API_KEY=API-XXXXXXXXXXXXXXXXXXXXXXXXXX \
OCTOPUS_SERVER_URL=https://your-octopus.com \
npx -y @octopusdeploy/mcp-server
एक्सेस टोकन / बियरर टोकन (केवल स्वचालित परिदृश्य)
सर्वर API कुंजियों के विकल्प के रूप में अल्पकालिक एक्सेस टोकन (बियरर टोकन) का भी समर्थन करता है। यह प्रमाणीकरण विधि केवल स्वचालित परिदृश्यों के लिए अभिप्रेत है जहाँ एक बाहरी सिस्टम MCP सर्वर को एक अल्पकालिक टोकन जारी करता है (जैसे, CI/CD पाइपलाइन, स्वचालित ऑर्केस्ट्रेशन, या मशीन-से-मशीन वर्कफ़्लो)। लंबे समय तक चलने वाले बियरर टोकन का उपयोग न करें — इंटरैक्टिव या लंबे समय तक चलने वाले सत्रों के लिए इसके बजाय API कुंजियों का उपयोग करें।
OCTOPUS_ACCESS_TOKEN=your-short-lived-token \
OCTOPUS_SERVER_URL=https://your-octopus.com \
npx -y @octopusdeploy/mcp-server
एक्सेस टोकन के साथ पूर्ण उदाहरण कॉन्फ़िगरेशन:
{
"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 कुंजी और एक्सेस टोकन दोनों प्रदान किए जाते हैं, तो एक्सेस टोकन को प्राथमिकता दी जाती है। सक्रिय प्रमाणीकरण विधि लॉग फ़ाइल (--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 - रनबुक खोज और निष्पादन
- tasks - कार्य संचालन
- tenants - मल्टी-टेनेंसी संचालन
- kubernetes - Kubernetes संचालन
- machines - डिप्लॉयमेंट लक्ष्य संचालन
- certificates - प्रमाणपत्र संचालन
- accounts - खाता संचालन
- interruptions - मैन्युअल हस्तक्षेप और अनुमोदन संचालन
- featureToggles - ग्राहक फ़ीचर टॉगल का निरीक्षण और समायोजन
- context - प्रमाणीकृत उपयोगकर्ता और परियोजना संदर्भ (वर्तमान उपयोगकर्ता, Git शाखाएँ)
केवल-पढ़ने का मोड
सर्वर डिफ़ॉल्ट रूप से लेखन उपकरण सक्षम के साथ चलता है। सभी लेखन उपकरणों को अक्षम करने और execute बैकस्टॉप के माध्यम से POST/PUT/PATCH/DELETE को ब्लॉक करने के लिए --read-only पास करें। अधिकांश क्यूरेटेड उपकरण पहले से ही केवल-पढ़ने के लिए हैं; केवल एक छोटा सेट लेखन करता है।
लेखन-सक्षम उपकरण (हमेशा-लेखन):
create_release- नई रिलीज़ बनाएँdeploy_release- वातावरण और टेनेंट्स में रिलीज़ डिप्लॉय करेंrun_runbook- एक या अधिक वातावरणों (और वैकल्पिक टेनेंट्स) के विरुद्ध रनबुक चलाएँupdate_feature_toggle- किसी मौजूदा फ़ीचर टॉगल पर प्रति-वातावरण स्थिति और रोलआउट प्रतिशत समायोजित करें
सशर्त-लेखन उपकरण: execute एक संरचित REST बैकस्टॉप है जिसका स्तर (पढ़ें / लिखें / हटाएँ) इसे पास की गई HTTP विधि द्वारा निर्धारित किया जाता है। विवरण के लिए API कैटलॉग और बैकस्टॉप अनुभाग देखें।
लेखन उपकरण एक MCP एलिसिटेशन प्रॉम्प्ट द्वारा नियंत्रित होते हैं: एलिसिटेशन का समर्थन करने वाले क्लाइंट से कॉल आगे बढ़ने से पहले पुष्टि करने के लिए कहा जाएगा। एलिसिटेशन समर्थन के बिना क्लाइंट को उपकरण तर्कों में confirm: true पास करना होगा — अन्यथा उपकरण एक त्रुटि के साथ निरस्त हो जाता है। गेट को पूरी तरह से बायपास करने के लिए OCTOPUS_SKIP_ELICITATION=true सेट करें (अनअटेंडेड ऑटोमेशन के लिए अभिप्रेत)।
सर्वर तीन-स्तरीय पढ़ें/लिखें/हटाएँ वर्गीकरण का उपयोग करता है, जिसे 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-कुंजी समापन बिंदु एक कठोर संवेदनशील अस्वीकृति सूची पर हैं जो दोनों फ़्लैग को अनदेखा करता है।
# 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 कुंजी का उपयोग करें — लेखन संचालन आपके 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 URL पेस्ट करें।
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 निष्कर्षण को समाप्त करते हैं:
- URL को स्वचालित रूप से पार्स करना
- स्पेस ID को स्पेस नामों में हल करना
- ID प्रारूपों को मान्य करना
- स्पष्ट त्रुटि संदेश प्रदान करना
उदाहरण URL:
- डिप्लॉयमेंट:
https://your-octopus.com/app#/Spaces-1/projects/my-app/deployments/Deployments-123 - कार्य:
https://your-octopus.com/app#/Spaces-1/tasks/ServerTasks-456
विस्तृत वर्कफ़्लो, उदाहरण और सर्वोत्तम प्रथाओं के लिए URL के साथ कार्य करना देखें।
मुख्य उपकरण
list_spaces: Octopus Deploy इंस्टेंस में सभी स्पेस सूचीबद्ध करेंlist_environments: किसी दिए गए स्पेस में सभी वातावरण सूचीबद्ध करें
API कैटलॉग और बैकस्टॉप
ये उपकरण और संसाधन एजेंट को Octopus REST समापन बिंदुओं तक पहुँचने देते हैं जिनके पास कोई समर्पित क्यूरेटेड उपकरण नहीं है, पढ़ने, लिखने और हटाने के संचालन के बीच कठोर सर्वर-साइड गेटिंग के साथ।
grep_llms_txt: grep-शैली के अर्थ विज्ञान के साथ Octopus API कैटलॉग (octopus://api/llms.txt) खोजें (न्यूनतम समर्थित 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सेट हो; अन्यथा उन्हें उद्दीपन के माध्यम से उपयोगकर्ता पुष्टि की आवश्यकता होती है।DELETEके लिए--allow-deletes(और--read-onlyसेट होने पर अवरुद्ध) के साथ-साथ एक मजबूत "IRREVERSIBLE" उद्दीपन संदेश की आवश्यकता होती है।- संवेदनशील अस्वीकृति सूची (API-कुंजी एंडपॉइंट,
DELETE /api/spaces/{id},DELETE /api/users/{id}) दोनों फ़्लैग चालू होने पर भी लागू रहती है। - पथ का
/apiहोना या/api/से शुरू होना आवश्यक है — निरपेक्ष URL, SDK-सापेक्ष~/api/...पथ, और/apiके बाहर होस्ट-सापेक्ष पथ (जैसे/octopus/portal/...) को पहले ही अस्वीकार कर दिया जाता है, ताकिexecuteOctopus 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: किसी स्थान में रिलीज़ खोजें (ID द्वारा विशिष्ट रिलीज़ प्राप्त कर सकते हैं, या परियोजना द्वारा रिलीज़ सूचीबद्ध/फ़िल्टर कर सकते हैं)
रिलीज़ विवरण octopus://spaces/{spaceName}/releases/{releaseId} पर MCP संसाधन के रूप में भी उपलब्ध है — पूर्ण रिलीज़ मुख्य भाग प्राप्त करने के लिए resources/read (या read_resource बैकस्टॉप उपकरण) के माध्यम से प्राप्त करें, जिसमें रिलीज़ नोट्स और चयनित पैकेज शामिल हैं।
रनबुक
find_runbooks: किसी परियोजना में रनबुक खोजें (ID द्वारा विशिष्ट रनबुक प्राप्त कर सकते हैं, या आंशिक नाम से रनबुक सूचीबद्ध/फ़िल्टर कर सकते हैं)। प्रत्येक सारांश में प्रकाशित स्नैपशॉट ID, बहु-किरायेदारी मोड, और वातावरण का दायरा शामिल है ताकि कॉल करने वाले चलाने से पहले मान्य लक्ष्य चुन सकें।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: किसी स्थान में किरायेदार खोजें (ID द्वारा विशिष्ट किरायेदार प्राप्त कर सकते हैं या फ़िल्टर के साथ किरायेदारों की सूची/खोज कर सकते हैं)get_tenant_variables: प्रकार (सभी, सामान्य, या परियोजना) के अनुसार किरायेदार चर प्राप्त करेंget_missing_tenant_variables: वे किरायेदार चर प्राप्त करें जिनमें मान गायब हैं
कुबेरनेट्स
get_kubernetes_live_status: किसी परियोजना और वातावरण के लिए कुबेरनेट्स संसाधनों की लाइव स्थिति प्राप्त करें (न्यूनतम समर्थित संस्करण:2025.3)
मशीनें (परिनियोजन लक्ष्य)
find_deployment_targets: किसी स्थान में परिनियोजन लक्ष्य खोजें (ID द्वारा विशिष्ट लक्ष्य प्राप्त कर सकते हैं या फ़िल्टर के साथ लक्ष्यों की सूची/खोज कर सकते हैं)
प्रमाणपत्र
find_certificates: किसी स्थान में प्रमाणपत्र खोजें (ID द्वारा विशिष्ट प्रमाणपत्र प्राप्त कर सकते हैं या फ़िल्टर के साथ प्रमाणपत्रों की सूची/खोज कर सकते हैं)
खाते
find_accounts: किसी स्थान में खाते खोजें (ID द्वारा विशिष्ट खाता प्राप्त कर सकते हैं या फ़िल्टर के साथ खातों की सूची/खोज कर सकते हैं)
व्यवधान
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: परियोजनाओं या रिलीज़ के लिए ID द्वारा परिनियोजन प्रक्रिया प्राप्त करें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 सेट होने पर अवरुद्ध रहते हैं।
महत्वपूर्ण सुरक्षा उपाय:
- न्यूनतम विशेषाधिकार: अपने उपयोग के मामले के लिए आवश्यक न्यूनतम अनुमतियों वाली API कुंजियों का उपयोग करें
- केवल-पठन मोड में ऑप्ट इन करें: लेखन डिफ़ॉल्ट रूप से सक्षम हैं। उत्पादन के लिए,
--read-onlyपास करें जब तक कि आपके पास लेखन संक्रियाओं के लिए कोई विशिष्ट, नियंत्रित उपयोग मामला न हो। DELETE के लिए हमेशा अतिरिक्त--allow-deletesऑप्ट-इन की आवश्यकता होती है। - विधि गेटिंग सर्वर-साइड और हार्ड-कोडेड है:
executeको पास की गई HTTP विधि आधिकारिक वर्गीकारक है। एजेंट कॉल क्या करता है इसका गलत प्रतिनिधित्व करके द्वार को बायपास नहीं कर सकता — POST/PUT/PATCH/DELETE अनुरोधों को अनुरोध मुख्य भाग में गद्य की परवाह किए बिना स्तरीय-विशिष्ट गेटिंग मिलती है। - टूलसेट फ़िल्टरिंग किल स्विच के रूप में दोगुना हो जाता है:
--toolsetsको संकुचित करने से अक्षम टूलसेट के क्यूरेटेड उपकरण औरexecuteअनुमति सूची से उनके पथ दोनों हट जाते हैं। (अनुमति सूची से केवल तभी परामर्श किया जाता है जब टूलसेट संकुचित हों; सभी टूलसेट सक्षम होने परexecute/apiआकार जाँच और संवेदनशील अस्वीकृति सूची द्वारा सीमित होता है।) - प्रॉम्प्ट इंजेक्शन जोखिम: एजेंटों को पूरी तरह से स्वचालित तरीके से चलाना आपको प्रॉम्प्ट-इंजेक्शन हमलों के प्रति संवेदनशील बना सकता है
अनुशंसा: उत्पादन वातावरण के लिए, --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 ओपन सोर्स लाइसेंस की शर्तों के अंतर्गत लाइसेंस प्राप्त है।