Shipyard MCP Server
आधिकारिकशिपयार्ड CLI एक MCP सर्वर प्रदान करता है जो एजेंटों को सीधे शिपयार्ड वातावरण प्रबंधित करने में सक्षम बनाता है: लॉग खींचकर, ब्रांचों की तुलना करके, परीक्षण चलाकर, और वातावरण को रोककर/शुरू करके।
दस्तावेज़
शिपयार्ड CLI
शिपयार्ड प्लेटफ़ॉर्म पर अल्पकालिक वातावरण प्रबंधित करने का एक उपकरण।
स्थापना
-
लिनक्स और मैकओएस
curl https://www.shipyard.sh/install.sh | bash -
विंडोज रिलीज़ पृष्ठ पर जाएं और विंडोज के लिए निष्पादन योग्य डाउनलोड करें।
-
होमब्रू
brew tap shipyard/tap brew install shipyard
लॉगिन
CLI आरंभ करने के लिए shipyard login चलाएं। यह आपको ब्राउज़र में शिपयार्ड में लॉग इन करने के लिए संकेत देगा। CLI फिर आपके API टोकन को स्थानीय कॉन्फ़िग में सहेज लेगा। आप कमांड चलाना शुरू करने के लिए तैयार हैं।
या अपना टोकन मैन्युअली सेट करें
अपने शिपयार्ड API टोकन को SHIPYARD_API_TOKEN पर्यावरण चर के मान के रूप में सेट करें।
आप इसे अपने प्रोफ़ाइल पृष्ठ पर जाकर प्राप्त कर सकते हैं।
यदि आप अपने संगठन के लिए API पहुंच सक्षम करना चाहते हैं तो आप हमसे [email protected] पर संपर्क कर सकते हैं। यदि आपके कोई अन्य प्रश्न हैं, तो बेझिझक हमारे समुदाय स्लैक में शामिल हों।
shipyard set token
वैकल्पिक रूप से, आप डिफ़ॉल्ट रूप से $HOME/.shipyard/config.yaml में संग्रहीत कॉन्फ़िगरेशन फ़ाइल का उपयोग कर सकते हैं।
जब आप पहली बार CLI चलाते हैं, तो यह एक डिफ़ॉल्ट खाली कॉन्फ़िग बनाएगा जिसे आप फिर संपादित कर सकते हैं।
आप किसी भी कमांड में --config {path} फ़्लैग जोड़कर एक गैर-डिफ़ॉल्ट कॉन्फ़िग पथ भी निर्दिष्ट कर सकते हैं।
अपने कॉन्फ़िग में कोई भी कॉन्फ़िगरेशन मान जोड़ें और सुनिश्चित करें कि फ़ाइल YAML सिंटैक्स का पालन करती है। उदाहरण के लिए:
api_token: <your-token>
org: <your-non-default-org>
आपके पर्यावरण चर के मान कॉन्फ़िग में उनके संबंधित मानों को ओवरराइड करते हैं।
बुनियादी उपयोग
वे सभी संगठन प्राप्त करें जिनके आप सदस्य हैं
shipyard get orgs
वैश्विक डिफ़ॉल्ट संगठन सेट करें
shipyard set org {org-name}
वर्तमान में कॉन्फ़िगर किया गया संगठन प्राप्त करें
shipyard get org
सभी वातावरणों की सूची बनाएं
shipyard get environments
उपलब्ध फ़्लैग:
| नाम | विवरण | प्रकार | डिफ़ॉल्ट मान |
|---|---|---|---|
| branch | शाखा नाम से फ़िल्टर करें | string | |
| deleted | हटाए गए वातावरण लौटाएं | boolean | false |
| json | पूर्ण JSON आउटपुट प्रिंट करें | boolean | false |
| name | अनुप्रयोग के नाम से फ़िल्टर करें | string | |
| org-name | संगठन नाम से फ़िल्टर करें, यदि आप कई संगठनों का हिस्सा हैं | string | आपका डिफ़ॉल्ट संगठन |
| page | अनुरोधित पृष्ठ संख्या | int | 1 |
| page-size | अनुरोधित पृष्ठ आकार | int | 20 |
| pull-request-number | पुल अनुरोध संख्या से फ़िल्टर करें | string | |
| repo-name | रेपो नाम से फ़िल्टर करें | string |
उदाहरण:
flask-backendरेपो कोmainशाखा पर चलाने वाले सभी वातावरणों की सूची बनाएं:
shipyard get environments --repo-name flask-backend --branch main
- सभी हटाए गए वातावरणों की सूची बनाएं:
shipyard get environments --deleted
किसी विशिष्ट वातावरण का विवरण उसके UUID द्वारा प्राप्त करें
shipyard get environment {environment_uuid}
उपलब्ध फ़्लैग:
| नाम | विवरण | प्रकार | डिफ़ॉल्ट मान |
|---|---|---|---|
| json | पूर्ण JSON आउटपुट प्रिंट करें | boolean | false |
| org-name | संगठन नाम से फ़िल्टर करें, यदि आप कई संगठनों का हिस्सा हैं | string | आपका डिफ़ॉल्ट संगठन |
चल रहे वातावरण को रोकें
shipyard stop environment {environment_uuid}
रुके हुए वातावरण को पुनः आरंभ करें
shipyard restart environment {environment_uuid}
किसी वातावरण के लिए चल रहे निर्माण को रद्द करें
shipyard cancel environment {environment_uuid}
किसी वातावरण का पुनर्निर्माण करें
shipyard rebuild environment {environment_uuid}
हटाए गए वातावरण को पुनर्जीवित करें
shipyard revive environment {environment_uuid}
किसी वातावरण के लिए सभी सेवाएं और अनावृत पोर्ट प्राप्त करें
shipyard get services --env {environment_uuid}
चल रहे वातावरण की सेवा में निष्पादित करें
चल रहे वातावरण के लिए किसी दी गई सेवा में किसी भी तर्क और फ़्लैग के साथ कोई भी कमांड निष्पादित करें। किसी भी कमांड तर्क को डबल स्लैश के बाद पास करें।
shipyard exec --env {environment_uuid} --service {service_name} -- bash
चल रहे वातावरण की सेवा के पोर्ट को अग्रेषित करें
shipyard port-forward --env {environment_uuid} --service {service_name} --ports {local_port}:{service_container_port}
चल रहे वातावरण की सेवा के लिए लॉग प्राप्त करें
shipyard logs --env {environment_uuid} --service {service_name}
किसी वातावरण पर जाएं
shipyard visit {environment_uuid}
उपलब्ध फ़्लैग:
| नाम | विवरण | प्रकार | डिफ़ॉल्ट मान |
|---|---|---|---|
| follow | लॉग आउटपुट का अनुसरण करें | boolean | false |
| tail | दिखाने के लिए हाल की लॉग पंक्तियों की संख्या | int | 3000 |
वॉल्यूम के साथ काम करें
किसी वातावरण में सभी वॉल्यूम की सूची बनाएं
shipyard get volumes --env {environment_uuid}
किसी वातावरण में सभी वॉल्यूम स्नैपशॉट की सूची बनाएं
shipyard get snapshots --env {environment_uuid}
किसी वातावरण में वॉल्यूम रीसेट करें
shipyard reset volume --env {environment_uuid}
किसी वातावरण में स्नैपशॉट बनाएं
shipyard create snapshot --env {environment_uuid}
किसी वातावरण में वॉल्यूम स्नैपशॉट लोड करें
shipyard load snapshot --env {environment_uuid} --sequence-number {n}
किसी वातावरण में वॉल्यूम पर फ़ाइल अपलोड करें
shipyard upload volume --env {environment_uuid} --volume {volume} --file {filepath.bz2}
टेलीप्रेज़ेंस से कनेक्ट करें
shipyard telepresence connect --env {environment_uuid}
वहां से, आप नेमस्पेस में सभी पॉड्स के साथ सीधे संवाद कर पाएंगे। सेवाओं के साथ संवाद करने के लिए आपको नेमस्पेस होस्टनाम का उपयोग करना पड़ सकता है, जिसे आप telepresence status के अंतर्गत नेमस्पेस फ़ील्ड के माध्यम से प्राप्त कर सकते हैं। उदाहरण के लिए, redis के साथ संवाद करने के लिए, आप redis.shipyard-app-build-{uuid} का उपयोग करेंगे।
कोड से निष्पादन योग्य बनाएं:
आप निम्नलिखित कमांड चलाकर एक निष्पादन योग्य बना सकते हैं:
make
इस नए निष्पादन योग्य को चलाने के लिए:
./shipyard
स्वतः पूर्णता सक्षम करें
बैश
यह स्क्रिप्ट bash-completion पैकेज पर निर्भर करती है। यदि यह पहले से स्थापित नहीं है, तो आप इसे अपने OS के पैकेज प्रबंधक के माध्यम से स्थापित कर सकते हैं।
अपने वर्तमान शेल सत्र में पूर्णताएं लोड करने के लिए:
source <(shipyard completion bash)
प्रत्येक नए सत्र के लिए पूर्णताएं लोड करने के लिए, निम्नलिखित एक बार निष्पादित करें।
लिनक्स पर:
shipyard completion bash > /etc/bash_completion.d/shipyard
मैकओएस पर:
shipyard completion bash > $(brew --prefix)/etc/bash_completion.d/shipyard
ज़श
यदि आपके वातावरण में शेल पूर्णता पहले से सक्षम नहीं है, तो आपको इसे सक्षम करने की आवश्यकता होगी। आप निम्नलिखित एक बार निष्पादित कर सकते हैं:
echo "autoload -U compinit; compinit" >> ~/.zshrc
अपने वर्तमान शेल सत्र में पूर्णताएं लोड करने के लिए:
source <(shipyard completion zsh); compdef _shipyard shipyard
प्रत्येक नए सत्र के लिए पूर्णताएं लोड करने के लिए, निम्नलिखित एक बार निष्पादित करें।
लिनक्स पर:
shipyard completion zsh > "${fpath[1]}/_shipyard"
मैकओएस पर:
shipyard completion zsh > $(brew --prefix)/share/zsh/site-functions/_shipyard
इस सेटअप को प्रभावी होने के लिए आपको एक नया शेल शुरू करने की आवश्यकता होगी।
फिश
अपने वर्तमान शेल सत्र में पूर्णताएं लोड करने के लिए:
$ shipyard completion fish | source
प्रत्येक सत्र के लिए पूर्णताएं लोड करने के लिए, एक बार निष्पादित करें:
shipyard completion fish > ~/.config/fish/completions/shipyard.fish
पावरशेल
अपने वर्तमान शेल सत्र में पूर्णताएं लोड करने के लिए:
shipyard completion powershell | Out-String | Invoke-Expression
प्रत्येक नए सत्र के लिए पूर्णताएं लोड करने के लिए, चलाएं:
shipyard completion powershell > shipyard.ps1
और इस फ़ाइल को अपने पावरशेल प्रोफ़ाइल से स्रोत करें।
मॉडल संदर्भ प्रोटोकॉल (MCP) एकीकरण
शिपयार्ड CLI AI सहायक एकीकरण के लिए एक MCP सर्वर प्रदान करता है। यह क्लॉड जैसे AI सहायकों को सीधे शिपयार्ड वातावरण प्रबंधित करने की अनुमति देता है।
समर्थित MCP उपकरण
वातावरण प्रबंधन (7 उपकरण)
get_environments- फ़िल्टरिंग के साथ वातावरणों की सूची बनाएंget_environment- विशिष्ट वातावरण विवरण प्राप्त करेंstop_environment- चल रहे वातावरण को रोकेंrestart_environment- रुके हुए वातावरण को पुनः आरंभ करेंrebuild_environment- नवीनतम कमिट के साथ पुनर्निर्माण करेंcancel_environment- वातावरण के नवीनतम निर्माण को रद्द करेंrevive_environment- हटाए गए वातावरण को पुनर्जीवित करें
सेवा प्रबंधन (2 उपकरण)
get_services- किसी वातावरण में सेवाओं की सूची बनाएंget_logs- किसी सेवा से लॉग प्राप्त करें
वॉल्यूम प्रबंधन (5 उपकरण)
get_volumes- किसी वातावरण में वॉल्यूम की सूची बनाएंreset_volume- वॉल्यूम को प्रारंभिक स्थिति में रीसेट करेंget_snapshots- वॉल्यूम स्नैपशॉट की सूची बनाएंcreate_snapshot- वॉल्यूम स्नैपशॉट बनाएंload_snapshot- वॉल्यूम स्नैपशॉट लोड करें
संगठन प्रबंधन (3 उपकरण)
get_orgs- सभी संगठनों की सूची बनाएंget_org- वर्तमान डिफ़ॉल्ट संगठन प्राप्त करेंset_org- डिफ़ॉल्ट संगठन सेट करें
सीमित उपकरण
ये उपकरण उपयोगकर्ताओं को CLI कमांड का उपयोग करने के लिए निर्देशित करने वाला सहायता पाठ लौटाते हैं:
exec_service- सेवा कंटेनरों में कमांड निष्पादित करेंport_forward- सेवाओं को स्थानीय मशीन पर पोर्ट अग्रेषित करेंtelepresence_connect- टेलीप्रेज़ेंस से कनेक्ट करें
क्लॉड में जोड़ना
API टोकन और संगठन नाम के साथ:
claude mcp add shipyard --env SHIPYARD_API_TOKEN=your-token-here --env SHIPYARD_ORG=your-org-name -- shipyard mcp serve
यदि पहले से CLI के साथ कॉन्फ़िगर किया गया है:
claude mcp add shipyard -- shipyard mcp serve
कोडेक्स CLI में जोड़ना
~/.codex/config.toml संपादित करें और जोड़ें:
[mcp_servers.shipyard]
command = "shipyard"
args = ["mcp", "serve"]
env = { "SHIPYARD_API_TOKEN" = "your-token-here", "SHIPYARD_ORG" = "your-org-name" }