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हटाए गए वातावरण लौटाएंbooleanfalse
jsonपूर्ण JSON आउटपुट प्रिंट करेंbooleanfalse
nameअनुप्रयोग के नाम से फ़िल्टर करेंstring
org-nameसंगठन नाम से फ़िल्टर करें, यदि आप कई संगठनों का हिस्सा हैंstringआपका डिफ़ॉल्ट संगठन
pageअनुरोधित पृष्ठ संख्याint1
page-sizeअनुरोधित पृष्ठ आकारint20
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 आउटपुट प्रिंट करेंbooleanfalse
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लॉग आउटपुट का अनुसरण करेंbooleanfalse
tailदिखाने के लिए हाल की लॉग पंक्तियों की संख्याint3000

वॉल्यूम के साथ काम करें

किसी वातावरण में सभी वॉल्यूम की सूची बनाएं

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