CircleCI

आधिकारिक

AI एजेंटों को CircleCI से बिल्ड विफलताओं को ठीक करने में सक्षम बनाएं।

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

  • Validate CircleCI config — अपने .circleci/config.yml में सिंटैक्स और सिमेंटिक त्रुटियों की जाँच config_helper के माध्यम से करवाएँ।
  • Get pipeline statusget_latest_pipeline_status से किसी ब्रांच के लिए नवीनतम पाइपलाइन स्थिति देखें।
  • Trigger and rerun pipelinesrun_pipeline से नई पाइपलाइन शुरू करें या rerun_workflow से किसी वर्कफ़्लो को शुरू से या असफल जॉब से दोबारा चलाएँ।
  • Investigate build failuresget_build_failure_logs से विस्तृत विफलता लॉग और get_job_test_results से परीक्षण परिणाम प्राप्त करें।
  • Find flaky testsfind_flaky_tests का उपयोग करके परीक्षण निष्पादन इतिहास का विश्लेषण करके अस्थिर परीक्षणों की पहचान करें।
  • Analyze usage and costsdownload_usage_api_data से उपयोग डेटा डाउनलोड करें और find_underused_resource_classes से कम उपयोग वाले संसाधन वर्गों का पता लगाएँ।

दस्तावेज़

[!IMPORTANT] यह पैकेज डिप्रेकेटेड है। कृपया माइग्रेट करें।

@circleci/mcp-server-circleci को अब कोई नई फीचर वर्क नहीं मिल रही है। इसके बजाय CircleCI के होस्टेड MCP सर्वर या CircleCI CLI MCP का उपयोग करें — CircleCI MCP अवलोकन देखें।

यह रिपॉज़िटरी आर्काइव कर दी जाएगी। मौजूदा वर्शन npm से इंस्टॉल करने योग्य रहेंगे, लेकिन एक अनरखरखावित सर्वर चलाना जो CircleCI पर्सनल API टोकन रखता है, अनुशंसित नहीं है।

यदि आप सेल्फ-मैनेज्ड रिमोट ट्रांसपोर्ट (start=remote) चला रहे हैं, तो पहले माइग्रेट करें: होस्टेड सर्वर इसका सीधा प्रतिस्थापन है और आपके org के टोकन को ब्रोकर करने वाली नेटवर्क-फेसिंग सेवा चलाने की आवश्यकता समाप्त करता है।

CircleCI MCP सर्वर

License: Apache 2.0 CircleCI npm

मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) बड़े भाषा मॉडल (LLMs) और बाहरी सिस्टम के बीच कॉन्टेक्स्ट प्रबंधित करने के लिए एक नया, मानकीकृत प्रोटोकॉल है। इस रिपॉज़िटरी में, हम CircleCI के लिए एक MCP सर्वर प्रदान करते हैं।

Cursor, Windsurf, Copilot, Claude, या किसी भी MCP-संगत क्लाइंट का उपयोग करके प्राकृतिक भाषा में CircleCI के साथ इंटरैक्ट करें — अपने IDE से बाहर निकले बिना।

टूल्स

टूलविवरण
config_helperअपने CircleCI कॉन्फ़िगरेशन को मान्य करें और मार्गदर्शन प्राप्त करें
download_usage_api_dataCircleCI उपयोग API से उपयोग डेटा डाउनलोड करें
find_flaky_testsटेस्ट निष्पादन इतिहास का विश्लेषण करके फ्लैकी टेस्ट पहचानें
find_underused_resource_classesकम उपयोग वाले कंप्यूट संसाधनों वाले जॉब खोजें
get_build_failure_logsCircleCI बिल्ड से विस्तृत विफलता लॉग प्राप्त करें
get_job_test_resultsCircleCI जॉब के लिए टेस्ट मेटाडेटा और परिणाम प्राप्त करें
get_latest_pipeline_statusकिसी ब्रांच के लिए नवीनतम पाइपलाइन की स्थिति प्राप्त करें
list_artifactsCircleCI जॉब द्वारा उत्पादित आर्टिफैक्ट सूचीबद्ध करें
list_component_versionsCircleCI घटक के सभी वर्शन सूचीबद्ध करें
list_followed_projectsआपके द्वारा फॉलो किए जा रहे सभी CircleCI प्रोजेक्ट सूचीबद्ध करें
rerun_workflowवर्कफ़्लो को शुरू से या विफल जॉब से फिर से चलाएँ
run_pipelineपाइपलाइन चलाने के लिए ट्रिगर करें
run_rollback_pipelineकिसी प्रोजेक्ट के लिए रोलबैक ट्रिगर करें

इंस्टॉलेशन

टीम / केंद्रीकृत डिप्लॉयमेंट: अपने org के लिए प्रति-डेवलपर या साझा CircleCI टोकन के साथ एक साझा रिमोट सर्वर (Kubernetes, Docker, आदि) चलाने के लिए, सेल्फ-मैनेज्ड रिमोट MCP सर्वर देखें।

Cursor

पूर्वापेक्षाएँ:

स्थानीय MCP सर्वर में NPX का उपयोग करना

अपने Cursor MCP कॉन्फ़िग में निम्नलिखित जोड़ें:

{
  "mcpServers": {
    "circleci-mcp-server": {
      "command": "npx",
      "args": ["-y", "@circleci/mcp-server-circleci@latest"],
      "env": {
        "CIRCLECI_TOKEN": "your-circleci-token",
        "CIRCLECI_BASE_URL": "https://circleci.com",
        "MAX_MCP_OUTPUT_LENGTH": "50000"
      }
    }
  }
}

CIRCLECI_BASE_URL वैकल्पिक है — केवल ऑन-प्रिमाइसेस ग्राहकों के लिए आवश्यक। MAX_MCP_OUTPUT_LENGTH वैकल्पिक है — MCP प्रतिक्रियाओं के लिए अधिकतम आउटपुट लंबाई (डिफ़ॉल्ट: 50000)।

स्थानीय MCP सर्वर में Docker का उपयोग करना

अपने Cursor MCP कॉन्फ़िग में निम्नलिखित जोड़ें:

{
  "mcpServers": {
    "circleci-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "CIRCLECI_TOKEN",
        "-e",
        "CIRCLECI_BASE_URL",
        "-e",
        "MAX_MCP_OUTPUT_LENGTH",
        "circleci/mcp-server-circleci"
      ],
      "env": {
        "CIRCLECI_TOKEN": "your-circleci-token",
        "CIRCLECI_BASE_URL": "https://circleci.com",
        "MAX_MCP_OUTPUT_LENGTH": "50000"
      }
    }
  }
}

सेल्फ-मैनेज्ड रिमोट MCP सर्वर का उपयोग करना

सेल्फ-मैनेज्ड रिमोट MCP सर्वर देखें। प्रति-उपयोगकर्ता क्लाइंट कॉन्फ़िगरेशन का उपयोग करें और इसे अपने Cursor MCP कॉन्फ़िग (Cursor Settings → MCP) में जोड़ें।

VS Code

पूर्वापेक्षाएँ:

स्थानीय MCP सर्वर में NPX का उपयोग करना

अपने प्रोजेक्ट में .vscode/mcp.json में निम्नलिखित जोड़ें:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "circleci-token",
      "description": "CircleCI API Token",
      "password": true
    },
    {
      "type": "promptString",
      "id": "circleci-base-url",
      "description": "CircleCI Base URL",
      "default": "https://circleci.com"
    }
  ],
  "servers": {
    "circleci-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@circleci/mcp-server-circleci@latest"],
      "env": {
        "CIRCLECI_TOKEN": "${input:circleci-token}",
        "CIRCLECI_BASE_URL": "${input:circleci-base-url}"
      }
    }
  }
}

💡 इनपुट पहले सर्वर स्टार्ट पर संकेत दिए जाते हैं, फिर VS Code द्वारा सुरक्षित रूप से संग्रहीत किए जाते हैं।

स्थानीय MCP सर्वर में Docker का उपयोग करना

अपने प्रोजेक्ट में .vscode/mcp.json में निम्नलिखित जोड़ें:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "circleci-token",
      "description": "CircleCI API Token",
      "password": true
    },
    {
      "type": "promptString",
      "id": "circleci-base-url",
      "description": "CircleCI Base URL",
      "default": "https://circleci.com"
    }
  ],
  "servers": {
    "circleci-mcp-server": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "CIRCLECI_TOKEN",
        "-e",
        "CIRCLECI_BASE_URL",
        "circleci/mcp-server-circleci"
      ],
      "env": {
        "CIRCLECI_TOKEN": "${input:circleci-token}",
        "CIRCLECI_BASE_URL": "${input:circleci-base-url}"
      }
    }
  }
}

सेल्फ-मैनेज्ड रिमोट MCP सर्वर का उपयोग करना

सेल्फ-मैनेज्ड रिमोट MCP सर्वर देखें। .vscode/mcp.json में प्रति-उपयोगकर्ता क्लाइंट कॉन्फ़िगरेशन का उपयोग करें।

Claude Desktop

पूर्वापेक्षाएँ:

स्थानीय MCP सर्वर में NPX का उपयोग करना

अपने claude_desktop_config.json में निम्नलिखित जोड़ें:

{
  "mcpServers": {
    "circleci-mcp-server": {
      "command": "npx",
      "args": ["-y", "@circleci/mcp-server-circleci@latest"],
      "env": {
        "CIRCLECI_TOKEN": "your-circleci-token",
        "CIRCLECI_BASE_URL": "https://circleci.com",
        "MAX_MCP_OUTPUT_LENGTH": "50000"
      }
    }
  }
}

स्थानीय MCP सर्वर में Docker का उपयोग करना

अपने claude_desktop_config.json में निम्नलिखित जोड़ें:

{
  "mcpServers": {
    "circleci-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "CIRCLECI_TOKEN",
        "-e",
        "CIRCLECI_BASE_URL",
        "-e",
        "MAX_MCP_OUTPUT_LENGTH",
        "circleci/mcp-server-circleci"
      ],
      "env": {
        "CIRCLECI_TOKEN": "your-circleci-token",
        "CIRCLECI_BASE_URL": "https://circleci.com",
        "MAX_MCP_OUTPUT_LENGTH": "50000"
      }
    }
  }
}

सेल्फ-मैनेज्ड रिमोट MCP सर्वर का उपयोग करना

सेल्फ-मैनेज्ड रिमोट MCP सर्वर देखें। Claude Desktop और CLI क्लाइंट में दिखाए अनुसार एक रैपर स्क्रिप्ट बनाएं, फिर अपने claude_desktop_config.json को उसकी ओर इंगित करें।

अपनी कॉन्फ़िग फ़ाइल खोजने या बनाने के लिए, Claude Desktop सेटिंग्स खोलें, बाएँ साइडबार में Developer पर क्लिक करें, फिर Edit Config पर क्लिक करें। कॉन्फ़िग फ़ाइल यहाँ स्थित है:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

अधिक जानकारी के लिए: https://modelcontextprotocol.io/quickstart/user

Claude Code

पूर्वापेक्षाएँ:

स्थानीय MCP सर्वर में NPX का उपयोग करना

claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -- npx -y @circleci/mcp-server-circleci@latest

स्थानीय MCP सर्वर में Docker का उपयोग करना

claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -e CIRCLECI_BASE_URL=https://circleci.com -- docker run --rm -i -e CIRCLECI_TOKEN -e CIRCLECI_BASE_URL circleci/mcp-server-circleci

सेल्फ-मैनेज्ड रिमोट MCP सर्वर का उपयोग करना

सेल्फ-मैनेज्ड रिमोट MCP सर्वर और वहाँ Claude Code क्लाइंट सेटअप देखें।

Windsurf

पूर्वापेक्षाएँ:

स्थानीय MCP सर्वर में NPX का उपयोग करना

अपने Windsurf mcp_config.json में निम्नलिखित जोड़ें:

{
  "mcpServers": {
    "circleci-mcp-server": {
      "command": "npx",
      "args": ["-y", "@circleci/mcp-server-circleci@latest"],
      "env": {
        "CIRCLECI_TOKEN": "your-circleci-token",
        "CIRCLECI_BASE_URL": "https://circleci.com",
        "MAX_MCP_OUTPUT_LENGTH": "50000"
      }
    }
  }
}

स्थानीय MCP सर्वर में Docker का उपयोग करना

अपने Windsurf mcp_config.json में निम्नलिखित जोड़ें:

{
  "mcpServers": {
    "circleci-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "CIRCLECI_TOKEN",
        "-e",
        "CIRCLECI_BASE_URL",
        "-e",
        "MAX_MCP_OUTPUT_LENGTH",
        "circleci/mcp-server-circleci"
      ],
      "env": {
        "CIRCLECI_TOKEN": "your-circleci-token",
        "CIRCLECI_BASE_URL": "https://circleci.com",
        "MAX_MCP_OUTPUT_LENGTH": "50000"
      }
    }
  }
}

सेल्फ-मैनेज्ड रिमोट MCP सर्वर का उपयोग करना

सेल्फ-मैनेज्ड रिमोट MCP सर्वर देखें। अपने Windsurf mcp_config.json में प्रति-उपयोगकर्ता क्लाइंट कॉन्फ़िगरेशन का उपयोग करें।

अधिक जानकारी के लिए: https://docs.windsurf.com/windsurf/mcp

Amazon Q Developer CLI

पूर्वापेक्षाएँ:

Amazon Q Developer में MCP क्लाइंट कॉन्फ़िगरेशन mcp.json नामक फ़ाइल में JSON प्रारूप में संग्रहीत किया जाता है। कॉन्फ़िगरेशन के दो स्तर समर्थित हैं:

  • ग्लोबल: ~/.aws/amazonq/mcp.json — सभी वर्कस्पेस पर लागू होता है
  • वर्कस्पेस: .amazonq/mcp.json — वर्तमान वर्कस्पेस के लिए विशिष्ट

यदि दोनों फ़ाइलें मौजूद हैं, तो उनकी सामग्री मर्ज कर दी जाती है। विरोध की स्थिति में, वर्कस्पेस कॉन्फ़िग प्राथमिकता लेता है।

स्थानीय MCP सर्वर में NPX का उपयोग करना

~/.aws/amazonq/mcp.json संपादित करें या निम्नलिखित के साथ .amazonq/mcp.json बनाएं:

{
  "mcpServers": {
    "circleci-local": {
      "command": "npx",
      "args": [
        "-y",
        "@circleci/mcp-server-circleci@latest"
      ],
      "env": {
        "CIRCLECI_TOKEN": "YOUR_CIRCLECI_TOKEN",
        "CIRCLECI_BASE_URL": "https://circleci.com",
        "MAX_MCP_OUTPUT_LENGTH": "50000"
      },
      "timeout": 60000
    }
  }
}

सेल्फ-मैनेज्ड रिमोट MCP सर्वर का उपयोग करना

सेल्फ-मैनेज्ड रिमोट MCP सर्वर देखें। Claude Desktop और CLI क्लाइंट में दिखाए अनुसार एक रैपर स्क्रिप्ट का उपयोग करें, फिर इसे q mcp add के साथ पंजीकृत करें।

IDE में Amazon Q Developer

पूर्वापेक्षाएँ:

स्थानीय MCP सर्वर में NPX का उपयोग करना

~/.aws/amazonq/mcp.json संपादित करें या निम्नलिखित के साथ .amazonq/mcp.json बनाएं:

{
  "mcpServers": {
    "circleci-local": {
      "command": "npx",
      "args": [
        "-y",
        "@circleci/mcp-server-circleci@latest"
      ],
      "env": {
        "CIRCLECI_TOKEN": "YOUR_CIRCLECI_TOKEN",
        "CIRCLECI_BASE_URL": "https://circleci.com",
        "MAX_MCP_OUTPUT_LENGTH": "50000"
      },
      "timeout": 60000
    }
  }
}

सेल्फ-मैनेज्ड रिमोट MCP सर्वर का उपयोग करना

सेल्फ-मैनेज्ड रिमोट MCP सर्वर देखें। Claude Desktop और CLI क्लाइंट में दिखाए अनुसार एक रैपर स्क्रिप्ट का उपयोग करें, फिर इसे MCP कॉन्फ़िगरेशन UI के माध्यम से जोड़ें:

  1. MCP कॉन्फ़िगरेशन UI तक पहुँचें
  2. + प्रतीक चुनें
  3. स्कोप चुनें: ग्लोबल या लोकल
  4. एक नाम दर्ज करें (जैसे circleci-remote-mcp)
  5. ट्रांसपोर्ट प्रोटोकॉल चुनें: stdio
  6. अपनी स्क्रिप्ट का कमांड पथ दर्ज करें
  7. Save पर क्लिक करें
Smithery

Smithery के माध्यम से Claude Desktop के लिए CircleCI MCP सर्वर स्वचालित रूप से इंस्टॉल करने के लिए:

npx -y @smithery/cli install @CircleCI-Public/mcp-server-circleci --client claude

सेल्फ-मैनेज्ड रिमोट MCP सर्वर

MCP सर्वर को केंद्रीय रूप से चलाएं (उदाहरण के लिए Kubernetes या Docker पर) ताकि आपकी टीम एक डिप्लॉयमेंट साझा करे। चुनें कि डेवलपर कैसे प्रमाणित करते हैं:

डिप्लॉयमेंट मोड चुनें

मोडकब उपयोग करेंसर्वर सेटअपक्लाइंट सेटअपCircleCI ऑडिट ट्रेल
प्रति-उपयोगकर्ता टोकन (अनुशंसित)SSO-समर्थित पर्सनल API टोकन वाली टीमेंREQUIRE_REQUEST_TOKEN=true, कोई सर्वर PAT नहींप्रत्येक डेवलपर अपना PAT फॉरवर्ड करता हैप्रति डेवलपर
साझा टोकन (अंतरिम)त्वरित रोलआउट, एकल सेवा पहचान ठीक हैसर्वर पर CIRCLECI_TOKEN, REQUIRE_REQUEST_TOKEN=false (स्पष्ट ऑप्ट-आउट)कोई प्रमाणीकरण हेडर आवश्यक नहींएकल साझा पहचान

सुरक्षा: रिमोट मोड में अनुरोध प्रमाणीकरण डिफ़ॉल्ट रूप से चालू है। साझा-टोकन मोड इसे अक्षम करता है (REQUIRE_REQUEST_TOKEN=false), जिससे कोई भी कॉलर बिना किसी क्रेडेंशियल के सर्वर की CIRCLECI_TOKEN पहचान के रूप में कार्य कर सकता है — जिसमें मनमाना कॉन्फ़िग वाली पाइपलाइन ट्रिगर करना भी शामिल है। इसे केवल उस नेटवर्क पर सक्षम करें जिस पर आप पूरी तरह भरोसा करते हैं, और अन्यथा प्रति-उपयोगकर्ता टोकन पसंद करें। इनग्रेस पर TLS समाप्त करना एन्क्रिप्शन प्रदान करता है, प्रमाणीकरण नहीं।

क्योंकि यह संयोजन सार्वजनिक इंटरफ़ेस पर असुरक्षित है, सर्वर शुरू होने से इनकार करता है जब REQUIRE_REQUEST_TOKEN=false को गैर-लूपबैक बाइंड पते के साथ जोड़ा जाता है, जब तक कि आप MCP_ALLOW_UNAUTHENTICATED_NETWORK_ACCESS=true के साथ जोखिम को स्पष्ट रूप से स्वीकार नहीं करते। Host/Origin जाँच प्रमाणीकरण का विकल्प नहीं है — नीचे DNS-रीबाइंडिंग सुरक्षा देखें।

1. सर्वर डिप्लॉय करें

दोनों मोड रिमोट HTTP मोड (start=remote) का उपयोग करते हैं। पोर्ट 8000 (या अपना चुना हुआ पोर्ट) प्रकाशित करें।

प्रति-उपयोगकर्ता टोकन (अनुशंसित) — localhost से mcp-remote के माध्यम से एक्सेस किया गया:

docker run --rm -p 8000:8000 \
  -e start=remote \
  -e port=8000 \
  -e REQUIRE_REQUEST_TOKEN=true \
  circleci/mcp-server-circleci

प्रति-उपयोगकर्ता टोकन (अनुशंसित) — सार्वजनिक होस्टनाम से mcp-remote के माध्यम से एक्सेस किया गया:

docker run --rm -p 8000:8000 \
  -e start=remote \
  -e port=8000 \
  -e REQUIRE_REQUEST_TOKEN=true \
  -e MCP_ALLOWED_HOSTS=my-mcp.example.com \
  circleci/mcp-server-circleci

साझा टोकन (अंतरिम) — सार्वजनिक होस्टनाम से mcp-remote के माध्यम से एक्सेस किया गया:

क्योंकि यह मोड बिना किसी क्रेडेंशियल के किसी भी कॉलर को org का PAT प्रदान करता है, इसे केवल वहीं चलाया जाना चाहिए जहाँ प्रकाशित पोर्ट अविश्वसनीय नेटवर्क से अप्राप्य हो, और आपको इसे स्पष्ट रूप से स्वीकार करना होगा अन्यथा सर्वर शुरू होने से इनकार कर देगा:

docker run --rm -p 8000:8000 \
  -e start=remote \
  -e port=8000 \
  -e CIRCLECI_TOKEN=your-shared-circleci-pat \
  -e REQUIRE_REQUEST_TOKEN=false \
  -e MCP_ALLOW_UNAUTHENTICATED_NETWORK_ACCESS=true \
  -e MCP_ALLOWED_HOSTS=my-mcp.example.com \
  circleci/mcp-server-circleci

इसके बजाय पोर्ट के सामने प्रमाणीकरण लगाना पसंद करें — एक इनग्रेस जो SSO, mTLS, या API कुंजी की आवश्यकता रखता है — या ऊपर दिए गए प्रति-उपयोगकर्ता टोकन पर स्विच करें।

पर्यावरण चर:

चरविवरण
start=remotestdio के बजाय HTTP+SSE MCP सर्वर शुरू करता है
portकंटेनर के अंदर सुनने का पोर्ट (डिफ़ॉल्ट: 8000)
REQUIRE_REQUEST_TOKENबिना Authorization: Bearer या Circle-Token हेडर के अनुरोध अस्वीकार करें। डिफ़ॉल्ट रूप से आवश्यक है; बिना प्रमाणीकरण के अनुरोधों की अनुमति देने के लिए REQUIRE_REQUEST_TOKEN=false सेट करें (साझा-टोकन मोड)
CIRCLECI_TOKENजब प्रति-उपयोगकर्ता हेडर नहीं भेजे जाते हैं तो सभी अनुरोधों के लिए साझा फ़ॉलबैक PAT
CIRCLECI_BASE_URLवैकल्पिक — केवल ऑन-प्रिम के लिए आवश्यक (डिफ़ॉल्ट: https://circleci.com)
DISABLE_TELEMETRY=trueउपयोग मेट्रिक्स निर्यात से बाहर निकलें
MCP_ALLOWED_HOSTSअनुमति देने के लिए अतिरिक्त Host हेडर मानों की अल्पविराम-पृथक सूची (जैसे my-mcp.example.com,my-mcp.example.com:443)। लूपबैक होस्टनाम हमेशा अनुमत होते हैं। किसी भी गैर-लूपबैक तैनाती के लिए आवश्यक।
MCP_ALLOWED_ORIGINSअनुमति देने के लिए अतिरिक्त Origin हेडर मानों की अल्पविराम-पृथक सूची (जैसे https://my-app.example.com)। लूपबैक उत्पत्ति हमेशा अनुमत होती हैं। केवल तब आवश्यक है जब ब्राउज़र सीधे इस सर्वर तक पहुँचता है (mcp-remote के माध्यम से नहीं)।
MCP_BIND_HOSTबाइंड करने के लिए नेटवर्क इंटरफ़ेस (डिफ़ॉल्ट: 0.0.0.0)। केवल लूपबैक तक सीमित करने के लिए 127.0.0.1 सेट करें (Docker -p पोर्ट मैपिंग के साथ संगत नहीं)।
MCP_ALLOW_UNAUTHENTICATED_NETWORK_ACCESSगैर-लूपबैक बाइंड एड्रेस पर REQUIRE_REQUEST_TOKEN=false के साथ शुरू करने के लिए आवश्यक (=true)। यह स्वीकार करता है कि पोर्ट तक पहुँचने में सक्षम कोई भी सहकर्मी बिना क्रेडेंशियल के सर्वर की CIRCLECI_TOKEN पहचान के रूप में कार्य करता है। जब अनुरोध टोकन की आवश्यकता होती है तो इसका कोई प्रभाव नहीं पड़ता।
MCP_FILE_OUTPUT_ROOTSफ़ाइल-पठन/लेखन उपकरण जिन अतिरिक्त निर्देशिकाओं का उपयोग कर सकते हैं, उनकी अल्पविराम-पृथक सूची (जैसे /srv/reports,/data/exports)। कार्यशील निर्देशिका, होम निर्देशिका और अस्थायी निर्देशिका हमेशा अनुमत हैं। नीचे दिया गया नोट देखें।

फ़ाइल आउटपुट स्थान (stdio और रिमोट ट्रांसपोर्ट दोनों पर लागू होता है): फ़ाइल सिस्टम पथ स्वीकार करने वाले उपकरण — get_build_failure_logs (outputDir), download_usage_api_data (outputDir) और find_underused_resource_classes (csvFilePath) — केवल सर्वर की कार्यशील निर्देशिका, उपयोगकर्ता की होम निर्देशिका और सिस्टम अस्थायी निर्देशिका के अंदर पढ़ और लिख सकते हैं। इन रूट्स के भीतर, छिपी हुई कॉन्फ़िगरेशन निर्देशिकाएँ (~/.ssh, ~/.aws, ~/.config, .git, …), node_modules और लॉन्च-एजेंट निर्देशिकाएँ अस्वीकार कर दी जाती हैं, साथ ही वे सिमलिंक भी अस्वीकार किए जाते हैं जो अनुमत रूट्स के बाहर हल करते हैं। सिस्टम निर्देशिकाएँ (/etc, /usr, /bin, /System, /Library, %SystemRoot%, …) बिना शर्त अस्वीकार कर दी जाती हैं और उन्हें पुनः सक्षम नहीं किया जा सकता। आउटपुट फ़ाइलें कभी भी सिमलिंक के माध्यम से नहीं लिखी जाती हैं।

यदि आपका चेकआउट उन रूट्स के बाहर रहता है — /workspace एक कंटेनर में, /srv, /opt, एक द्वितीयक वॉल्यूम जैसे /Volumes/work — तो उस निर्देशिका पर MCP_FILE_OUTPUT_ROOTS सेट करें, अन्यथा उन पथों को अस्वीकार कर दिया जाता है। stdio सर्वर के लिए कार्यशील निर्देशिका आमतौर पर पहले से ही प्रोजेक्ट रूट होती है, इसलिए किसी कॉन्फ़िगरेशन की आवश्यकता नहीं होती। यह रिमोट ट्रांसपोर्ट के लिए सबसे महत्वपूर्ण है, जहाँ पथ स्थानीय उपयोगकर्ता के बजाय नेटवर्क क्लाइंट से आते हैं।

DNS-रीबाइंडिंग सुरक्षा (प्रमाणीकरण नहीं): रिमोट ट्रांसपोर्ट प्रत्येक /mcp अनुरोध पर Host हेडर को मान्य करता है। डिफ़ॉल्ट रूप से केवल लूपबैक पते (localhost, 127.0.0.1, [::1]) स्वीकार किए जाते हैं। सार्वजनिक तैनातियों में MCP_ALLOWED_HOSTS को उस होस्टनाम पर सेट करना चाहिए जिसका क्लाइंट उपयोग करते हैं, अन्यथा सभी /mcp अनुरोधों को 403 Forbidden प्राप्त होगा। /ping स्वास्थ्य-जांच एंडपॉइंट सुरक्षित नहीं है, इसलिए लोड-बैलेंसर प्रोब Host की परवाह किए बिना काम करते रहते हैं।

Origin हेडर (ब्राउज़र द्वारा भेजा गया) भी मौजूद होने पर मान्य किया जाता है। mcp-remote जैसे गैर-ब्राउज़र क्लाइंट कभी भी Origin नहीं भेजते, इसलिए वे इस जाँच से प्रभावित नहीं होते।

यह जाँच एक एक्सेस नियंत्रण नहीं है और इसे ऐसा मानकर भरोसा नहीं करना चाहिए। दोनों हेडर कॉलर द्वारा चुने जाते हैं, इसलिए कोई भी गैर-ब्राउज़र क्लाइंट — curl, एक स्क्रिप्ट, एक कच्चा सॉकेट — संतुष्ट करने के लिए एक अनुमत Host भेज सकता है और Origin को छोड़ सकता है। इसका एकमात्र उद्देश्य एक ब्राउज़र को हमलावर-नियंत्रित DNS द्वारा सर्वर पर लक्षित होने से रोकना है, जो DNS-रीबाइंडिंग खतरा है। कॉलर्स को प्रमाणित करना REQUIRE_REQUEST_TOKEN (या पोर्ट के सामने एक प्रमाणित प्रॉक्सी) का काम है। Origin हेडर की आवश्यकता हर वैध CLI क्लाइंट को तोड़ देगी जबकि कोई हमलावर नहीं रुकेगा।

रिवर्स प्रॉक्सी के पीछे: यदि आपका प्रॉक्सी Host को बैकएंड पते पर फिर से लिखता है (nginx का डिफ़ॉल्ट), तो मूल होस्टनाम को पास करने के लिए proxy_set_header Host $host; जोड़ें, फिर MCP_ALLOWED_HOSTS को उस सार्वजनिक होस्टनाम पर सेट करें। वैकल्पिक रूप से, MCP_ALLOWED_HOSTS को उस होस्टनाम पर सेट करें जो प्रॉक्सी आगे भेजता है।

सर्वर प्रति-अनुरोध टोकन इस प्रकार स्वीकार करता है:

  • Authorization: Bearer <circleci-pat>
  • Circle-Token: <circleci-pat>

यदि कोई क्लाइंट एक हेडर टोकन भेजता है, तो यह सर्वर पर CIRCLECI_TOKEN पर पूर्वता लेता है।

किसी अनुरोध के दौरान दर्ज किए गए टेलीमेट्री मेट्रिक्स उसी टोकन का उपयोग करके निर्यात किए जाते हैं।

2. क्लाइंट कॉन्फ़िगर करें

अधिकांश MCP क्लाइंट केवल स्थानीय (stdio) प्रक्रियाओं का समर्थन करते हैं। उन्हें अपने रिमोट सर्वर से जोड़ने के लिए mcp-remote, एक तृतीय-पक्ष stdio-to-HTTP ब्रिज, का उपयोग करें।

URL स्कीम: स्थानीय परीक्षण के लिए --allow-http के साथ http://localhost:8000/mcp का उपयोग करें। उत्पादन में, अपने इनग्रेस/लोड बैलेंसर पर TLS समाप्त करें और --allow-http के बिना https://your-host/mcp का उपयोग करें।

Windows: --header मानों में कोलन के आसपास स्थानों से बचें। पूर्ण Bearer <token> मान को एक पर्यावरण चर में रखें।

सुरक्षा: उदाहरण सुविधा के लिए npx का उपयोग करते हैं। उत्पादन या टीम रोलआउट के लिए, अपने MCP कॉन्फ़िग में एक विशिष्ट संस्करण पिन करें (उदाहरण के लिए mcp-remote@0.1.38 के बजाय mcp-remote)। 0.1.16 से नीचे के संस्करणों का उपयोग न करें (CVE-2025-6514)।

क्लाइंट कॉन्फ़िगरेशन: प्रति-उपयोगकर्ता टोकन

प्रत्येक डेवलपर प्रत्येक अनुरोध पर अपना स्वयं का CircleCI पर्सनल API टोकन अग्रेषित करता है:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "circleci-token",
      "description": "CircleCI API Token",
      "password": true
    }
  ],
  "mcpServers": {
    "circleci-mcp-server-remote": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:8000/mcp",
        "--allow-http",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer ${input:circleci-token}"
      }
    }
  }
}

http://localhost:8000/mcp को अपनी टीम के सर्वर URL से बदलें। Cursor और VS Code ${input:...} प्रॉम्प्ट का समर्थन करते हैं; अन्य क्लाइंट AUTH_HEADER को सीधे सेट कर सकते हैं।

क्लाइंट कॉन्फ़िगरेशन: साझा टोकन

जब सर्वर पर CIRCLECI_TOKEN सेट होता है और इसे REQUIRE_REQUEST_TOKEN=false के साथ शुरू किया जाता है (अनुरोध प्रमाणीकरण डिफ़ॉल्ट रूप से चालू होता है और इसे स्पष्ट रूप से अक्षम किया जाना चाहिए, और एक गैर-लूपबैक बाइंड को अतिरिक्त रूप से MCP_ALLOW_UNAUTHENTICATED_NETWORK_ACCESS=true की आवश्यकता होती है), तो क्लाइंट को टोकन भेजने की आवश्यकता नहीं होती:

{
  "mcpServers": {
    "circleci-mcp-server-remote": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:8000/mcp",
        "--allow-http"
      ]
    }
  }
}

Claude Desktop और CLI क्लाइंट

एक रैपर स्क्रिप्ट बनाएं (जैसे circleci-remote-mcp.sh):

#!/bin/bash
export AUTH_HEADER="Bearer your-circleci-token"
npx mcp-remote http://localhost:8000/mcp --allow-http --header "Authorization:${AUTH_HEADER}"

इसे निष्पादन योग्य बनाएं (chmod +x circleci-remote-mcp.sh), फिर इसे अपने MCP कॉन्फ़िग से संदर्भित करें:

{
  "mcpServers": {
    "circleci-remote-mcp-server": {
      "command": "/full/path/to/circleci-remote-mcp.sh"
    }
  }
}

Claude Code

claude mcp add circleci-mcp-server \
  -e AUTH_HEADER="Bearer your-circleci-token" \
  -- npx mcp-remote http://localhost:8000/mcp --allow-http --header "Authorization:${AUTH_HEADER}"

साझा-टोकन सर्वर का उपयोग करते समय --header और AUTH_HEADER को छोड़ दें।

3. तैनाती सत्यापित करें

# Health check (no auth required)
curl http://localhost:8000/ping

# Should return 401 when REQUIRE_REQUEST_TOKEN=true and no token is sent
curl -s -o /dev/null -w "%{http_code}\n" -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

# Should return 200 with a valid Bearer token and MCP Accept headers
curl -s -o /dev/null -w "%{http_code}\n" -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer your-circleci-pat" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

डेमो

इसे क्रियाशील देखें

उदाहरण: "मेरी शाखा पर नवीनतम विफल पाइपलाइन खोजें और लॉग प्राप्त करें" — अधिक उदाहरणों के लिए विकी देखें।

https://github.com/user-attachments/assets/3c765985-8827-442a-a8dc-5069e01edb74

टूल विवरण

config_helper

CircleCI कॉन्फ़िगरेशन कार्यों में मार्गदर्शन और सत्यापन प्रदान करके सहायता करता है।

  • सिंटैक्स और सिमेंटिक त्रुटियों के लिए आपके .circleci/config.yml को मान्य करता है
  • विस्तृत सत्यापन परिणाम और कॉन्फ़िगरेशन अनुशंसाएँ प्रदान करता है
  • उदाहरण: "मेरे CircleCI कॉन्फ़िग को मान्य करें"
download_usage_api_data

किसी दिए गए संगठन के लिए CircleCI उपयोग API से उपयोग डेटा डाउनलोड करता है। लचीले दिनांक इनपुट स्वीकार करता है (जैसे, "मार्च 2025" या "पिछला महीना")। केवल क्लाउड-सुविधा।

विकल्प 1: नया निर्यात कार्य शुरू करें:

  • orgId, startDate, endDate (अधिकतम 32 दिन), outputDir

विकल्प 2: मौजूदा निर्यात कार्य की जाँच/डाउनलोड करें:

  • orgId, jobId, outputDir

निर्दिष्ट समय सीमा के लिए CircleCI उपयोग डेटा के साथ एक CSV फ़ाइल लौटाता है।

[!NOTE] उपयोग डेटा को लागत अनुकूलन विश्लेषण के लिए find_underused_resource_classes टूल में फीड किया जा सकता है।

find_flaky_tests

टेस्ट निष्पादन इतिहास का विश्लेषण करके आपके CircleCI प्रोजेक्ट में अस्थिर (flaky) टेस्टों की पहचान करता है। CircleCI में flaky टेस्ट डिटेक्शन फीचर का लाभ उठाता है।

इस टूल का तीन तरीकों से उपयोग किया जा सकता है:

  1. प्रोजेक्ट स्लग का उपयोग करना (अनुशंसित):

    • पहले अपनी परियोजनाओं को प्राप्त करने के लिए list_followed_projects का उपयोग करें, फिर:
    • उदाहरण: "मेरे-प्रोजेक्ट के लिए flaky टेस्ट प्राप्त करें"
  2. CircleCI प्रोजेक्ट URL का उपयोग करना:

  3. स्थानीय प्रोजेक्ट संदर्भ का उपयोग करना:

    • वर्कस्पेस रूट और git रिमोट URL प्रदान करके आपके स्थानीय वर्कस्पेस से काम करता है
    • उदाहरण: "मेरे वर्तमान प्रोजेक्ट में flaky टेस्ट खोजें"

आउटपुट मोड:

  • टेक्स्ट (डिफ़ॉल्ट): flaky टेस्ट विवरण टेक्स्ट प्रारूप में लौटाता है
  • फ़ाइल (FILE_OUTPUT_DIRECTORY env var की आवश्यकता है): flaky टेस्ट विवरण के साथ एक निर्देशिका बनाता है
find_underused_resource_classes

एक CircleCI उपयोग डेटा CSV फ़ाइल का विश्लेषण करता है ताकि औसत या अधिकतम CPU/RAM उपयोग किसी दिए गए थ्रेशोल्ड (डिफ़ॉल्ट: 40%) से नीचे वाले जॉब्स खोजे जा सकें।

download_usage_api_data से प्राप्त एक CSV फ़ाइल प्रदान करें।

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

get_build_failure_logs

CircleCI बिल्ड्स से विस्तृत विफलता लॉग प्राप्त करता है। इस टूल का तीन तरीकों से उपयोग किया जा सकता है:

  1. प्रोजेक्ट स्लग और शाखा का उपयोग करना (अनुशंसित):

    • पहले अपनी परियोजनाओं को प्राप्त करने के लिए list_followed_projects का उपयोग करें, फिर:
    • उदाहरण: "मुख्य शाखा पर मेरे-प्रोजेक्ट के लिए बिल्ड विफलताएँ प्राप्त करें"
  2. CircleCI URL का उपयोग करना:

  3. स्थानीय प्रोजेक्ट संदर्भ का उपयोग करना:

    • वर्कस्पेस रूट, git रिमोट URL, और शाखा नाम प्रदान करके आपके स्थानीय वर्कस्पेस से काम करता है
    • उदाहरण: "मेरी वर्तमान शाखा पर नवीनतम विफल पाइपलाइन खोजें"

टूल फ़ॉर्मेट किए गए लॉग लौटाता है जिनमें शामिल हैं:

  • जॉब नाम
  • चरण-दर-चरण निष्पादन विवरण
  • विफलता संदेश और संदर्भ
get_job_test_results

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

  1. प्रोजेक्ट स्लग और शाखा का उपयोग करना (अनुशंसित):

    • उदाहरण: "मुख्य शाखा पर मेरे-प्रोजेक्ट के लिए टेस्ट परिणाम प्राप्त करें"
  2. CircleCI URL का उपयोग करना:

    • जॉब URL: https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def/jobs/789
    • वर्कफ़्लो URL: https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def
    • पाइपलाइन URL: https://app.circleci.com/pipelines/github/org/repo/123
  3. स्थानीय प्रोजेक्ट संदर्भ का उपयोग करना:

    • वर्कस्पेस रूट, git रिमोट URL, और शाखा नाम प्रदान करके आपके सचिव वर्कस्पेस से काम करता है

टूल लौटाता है:

  • सभी टेस्टों का सारांश (कुल, सफल, विफल)
  • विफल टेस्टों पर विस्तृत जानकारी: नाम, वर्ग, फ़ाइल, त्रुटि संदेश, अवधि
  • समय के साथ सफल टेस्टों की सूची
  • टेस्ट परिणाम द्वारा फ़िल्टर करें

[!NOTE] टेस्ट मेटाडेटा आपके CircleCI कॉन्फ़िग में कॉन्फ़िगर किया जाना चाहिए। सेटअप निर्देशों के लिए टेस्ट डेटा एकत्र करें देखें।

get_latest_pipeline_status किसी दिए गए ब्रांच के लिए नवीनतम पाइपलाइन की स्थिति प्राप्त करता है। इस टूल का उपयोग तीन तरीकों से किया जा सकता है:
  1. प्रोजेक्ट स्लग और ब्रांच का उपयोग करके (अनुशंसित):

    • उदाहरण: "मुख्य ब्रांच पर my-project के लिए नवीनतम पाइपलाइन की स्थिति प्राप्त करें"
  2. CircleCI प्रोजेक्ट URL का उपयोग करके:

  3. स्थानीय प्रोजेक्ट संदर्भ का उपयोग करके:

    • वर्कस्पेस रूट, git रिमोट URL, और ब्रांच नाम प्रदान करके आपके स्थानीय वर्कस्पेस से काम करता है

उदाहरण आउटपुट:

---
Workflow: build
Status: success
Duration: 5 minutes
Created: 4/20/2025, 10:15:30 AM
Stopped: 4/20/2025, 10:20:45 AM
---
Workflow: test
Status: running
Duration: unknown
Created: 4/20/2025, 10:21:00 AM
Stopped: in progress
list_artifacts

CircleCI जॉब द्वारा उत्पादित आर्टिफैक्ट्स की सूची प्राप्त करता है। इस टूल का उपयोग तीन तरीकों से किया जा सकता है:

  1. प्रोजेक्ट स्लग और ब्रांच का उपयोग करके (अनुशंसित):

    • पहले अपने प्रोजेक्ट्स पाने के लिए list_followed_projects का उपयोग करें, फिर:
    • उदाहरण: "मुख्य ब्रांच पर my-project के लिए आर्टिफैक्ट्स सूचीबद्ध करें"
  2. CircleCI URL का उपयोग करके:

    • जॉब URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def/jobs/789
    • वर्कफ़्लो URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def
    • पाइपलाइन URL: https://app.circleci.com/pipelines/gh/organization/project/123
  3. स्थानीय प्रोजेक्ट संदर्भ का उपयोग करके:

    • वर्कस्पेस रूट, git रिमोट URL, और ब्रांच नाम प्रदान करके आपके स्थानीय वर्कस्पेस से काम करता है

इसके लिए उपयोगी:

  • बिल्ड आर्टिफैक्ट्स (बाइनरी, रिपोर्ट, लॉग) के लिए डाउनलोड URL ढूँढना
  • यह जाँचना कि पाइपलाइन रन द्वारा कौन से आर्टिफैक्ट उत्पन्न हुए
list_component_versions

किसी वातावरण में किसी विशिष्ट CircleCI घटक के लिए सभी संस्करणों को सूचीबद्ध करता है। इसमें डिप्लॉयमेंट स्थिति, कमिट जानकारी और टाइमस्टैम्प शामिल होते हैं।

यदि प्रदान नहीं किया गया है तो टूल आपको घटक और वातावरण चुनने के लिए संकेत देगा।

इसके लिए उपयोगी:

  • यह पहचानना कि कौन सा संस्करण वर्तमान में लाइव है
  • रोलबैक ऑपरेशनों के लिए लक्ष्य संस्करण चुनना
  • डिप्लॉयमेंट विवरण प्राप्त करना (पाइपलाइन, वर्कफ़्लो, जॉब)
list_followed_projects

उन सभी प्रोजेक्ट्स को सूचीबद्ध करता है जिन्हें उपयोगकर्ता CircleCI पर फॉलो कर रहा है।

  • आपके पास उनकी projectSlug के साथ सभी प्रोजेक्ट्स दिखाता है
  • उदाहरण: "मेरे CircleCI प्रोजेक्ट्स सूचीबद्ध करें"

उदाहरण आउटपुट:

Projects followed:
1. my-project (projectSlug: gh/organization/my-project)
2. another-project (projectSlug: gh/organization/another-project)

[!NOTE] कई अन्य CircleCI टूल्स के लिए projectSlug (प्रोजेक्ट नाम नहीं) आवश्यक है।

rerun_workflow

किसी वर्कफ़्लो को उसकी शुरुआत से या असफल जॉब से फिर से चलाता है।

नव-निर्मित वर्कफ़्लो का आईडी और उसे मॉनिटर करने के लिए एक लिंक लौटाता है।

run_pipeline

पाइपलाइन चलाने के लिए ट्रिगर करता है। इस टूल का उपयोग तीन तरीकों से किया जा सकता है:

  1. प्रोजेक्ट स्लग और ब्रांच का उपयोग करके (अनुशंसित):

    • उदाहरण: "मुख्य ब्रांच पर my-project के लिए पाइपलाइन चलाएं"
  2. CircleCI URL का उपयोग करके:

    • पाइपलाइन URL, वर्कफ़्लो URL, जॉब URL, या ब्रांच के साथ प्रोजेक्ट URL
    • उदाहरण: "https://app.circleci.com/pipelines/github/org/repo/123 के लिए पाइपलाइन चलाएं"
  3. स्थानीय प्रोजेक्ट संदर्भ का उपयोग करके:

    • वर्कस्पेस रूट, git रिमोट URL, और ब्रांच नाम प्रदान करके आपके स्थानीय वर्कस्पेस से काम करता है

टूल पाइपलाइन निष्पादन की निगरानी के लिए एक लिंक लौटाता है।

run_rollback_pipeline

किसी CircleCI प्रोजेक्ट के लिए रोलबैक ट्रिगर करता है। टूल आपको इंटरैक्टिव रूप से निम्नलिखित के माध्यम से मार्गदर्शन करता है:

  1. प्रोजेक्ट चयन — चुनने के लिए फॉलो किए गए प्रोजेक्ट्स की सूची दिखाता है
  2. पर्यावरण चयन — उपलब्ध पर्यावरणों की सूची दिखाता है (यदि केवल एक है तो ऑटो-चयन करता है)
  3. घटक चयन — उपलब्ध घटकों की सूची दिखाता है (यदि केवल एक है तो ऑटो-चयन करता है)
  4. संस्करण चयन — उपलब्ध संस्करण दिखाता है; आप रोलबैक के लिए लक्ष्य चुनते हैं
  5. रोलबैक मोड डिटेक्शन — जाँचता है कि क्या कोई रोलबैक पाइपलाइन कॉन्फ़िगर है
  6. रोलबैक निष्पादित करें — दो विकल्प:
    • पाइपलाइन रोलबैक: रोलबैक पाइपलाइन को ट्रिगर करता है
    • वर्कफ़्लो पुनः चलाना: अपने वर्कफ़्लो आईडी का उपयोग करके पिछले वर्कफ़्लो को फिर से चलाता है
  7. पुष्टि — निष्पादन से पहले सारांश और पुष्टि करता है

समस्या निवारण

त्वरित समाधान

सबसे सामान्य समस्याएँ:

  1. पैकेज कैश साफ़ करें:

    npx clear-npx-cache
    npm cache clean --force
    
  2. नवीनतम संस्करण को बाध्य करें: अपने कॉन्फ़िगरेशन में @latest जोड़ें:

    "args": ["-y", "@circleci/mcp-server-circleci@latest"]
    
  3. अपने IDE को पूरी तरह से पुनरारंभ करें (सिर्फ विंडो को रीलोड न करें)

प्रमाणीकरण समस्याएँ
  • अमान्य टोकन त्रुटियाँ: व्यक्तिगत API टोकन में अपने CIRCLECI_TOKEN की जाँच करें
  • अनुमति त्रुटियाँ: सुनिश्चित करें कि टोकन के पास आपके प्रोजेक्ट्स तक पढ़ने की पहुँच है
  • पर्यावरण चर लोड नहीं हो रहे: echo $CIRCLECI_TOKEN (Mac/Linux) या echo %CIRCLECI_TOKEN% (Windows) के साथ परीक्षण करें
कनेक्शन और नेटवर्क समस्याएँ
  • बेस URL: पुष्टि करें कि CIRCLECI_BASE_URL https://circleci.com है
  • कॉर्पोरेट नेटवर्क: फ़ायरवॉल के पीछे होने पर npm प्रॉक्सी सेटिंग्स कॉन्फ़िगर करें
  • फ़ायरवॉल ब्लॉकिंग: जाँचें कि क्या सुरक्षा सॉफ़्टवेयर पैकेज डाउनलोड को ब्लॉक करता है
सिस्टम आवश्यकताएँ
  • Node.js संस्करण: सुनिश्चित करें कि node --version के साथ >= 18.0.0 है
  • Node.js अपडेट करें: संगतता समस्याओं का अनुभव होने पर नवीनतम LTS पर विचार करें
  • पैकेज मैनेजर: सत्यापित करें कि npm/pnpm काम कर रहा है: npm --version
IDE-विशिष्ट समस्याएँ
  • कॉन्फ़िगरेशन फ़ाइल स्थान: अपने OS के लिए पथ की दोबारा जाँच करें
  • सिंटैक्स त्रुटियाँ: अपनी कॉन्फ़िगरेशन फ़ाइल में JSON सिंटैक्स सत्यापित करें
  • कंसोल लॉग: विशिष्ट त्रुटियों के लिए IDE डेवलपर कंसोल की जाँच करें
  • एक अलग IDE आज़माएँ: समस्या को अलग करने के लिए किसी अन्य समर्थित संपादक में परीक्षण करें
प्रक्रिया समस्याएँ

लटकी हुई प्रक्रियाएँ — मौजूदा MCP प्रक्रियाओं को समाप्त करें:

# Mac/Linux:
pkill -f "mcp-server-circleci"

# Windows:
taskkill /f /im node.exe

पोर्ट विरोध: यदि कनेक्शन अवरुद्ध लगता है तो अपने IDE को पुनरारंभ करें।

उन्नत डिबगिंग
  • पैकेज को सीधे परीक्षण करें: npx @circleci/mcp-server-circleci@latest --help
  • विस्तृत लॉगिंग: DEBUG=* npx @circleci/mcp-server-circleci@latest
  • Docker फ़ॉलबैक: यदि npx लगातार विफल होता है तो Docker इंस्टॉलेशन का प्रयास करें

फिर भी सहायता चाहिए?

  1. समान समस्याओं के लिए GitHub Issues देखें
  2. समस्याओं की रिपोर्ट करते समय अपना OS, Node संस्करण और IDE शामिल करें
  3. IDE कंसोल से प्रासंगिक त्रुटि संदेश साझा करें

टेलीमेट्री

सर्वर टूल उपयोग को ट्रैक करने के लिए OpenTelemetry मेट्रिक्स का समर्थन करता है। जब तक आप DISABLE_TELEMETRY=true सेट नहीं करते, मेट्रिक्स निर्यात किए जाते हैं। दूरस्थ तैनाती पर, मेट्रिक्स अनुरोध के समान टोकन (प्रति-उपयोगकर्ता PAT या साझा सर्वर PAT) का उपयोग करते हैं।

मेट्रिकविवरण
circleci.mcp.tool.invocationsटूल आमंत्रण गणना
circleci.mcp.tool.duration_msनिष्पादन समय (ms में)
circleci.mcp.tool.errorsत्रुटि गणना

विकास

प्रारंभ करना

  1. रिपॉज़िटरी क्लोन करें:

    git clone https://github.com/CircleCI-Public/mcp-server-circleci.git
    cd mcp-server-circleci
    
  2. निर्भरताएँ स्थापित करें:

    pnpm install
    
  3. प्रोजेक्ट बनाएँ:

    pnpm build
    

Docker कंटेनर बनाना

आप निम्न का उपयोग करके Docker कंटेनर को स्थानीय रूप से बना सकते हैं:

docker build -t circleci:mcp-server-circleci .

यह circleci:mcp-server-circleci के रूप में टैग की गई एक Docker छवि बनाएगा जिसे आप किसी भी MCP क्लाइंट के साथ उपयोग कर सकते हैं।

स्थानीय stdio मोड (एकल डेवलपर, क्लाइंट पर टोकन):

docker run --rm -i \
  -e CIRCLECI_TOKEN=your-circleci-token \
  -e CIRCLECI_BASE_URL=https://circleci.com \
  circleci/mcp-server-circleci

दूरस्थ मोड (टीम के लिए केंद्रीकृत सर्वर): सेल्फ-मैनेज्ड रिमोट MCP सर्वर देखें।

MCP इंस्पेक्टर के साथ विकास

MCP सर्वर पर पुनरावृत्ति करने का सबसे आसान तरीका MCP इंस्पेक्टर का उपयोग करना है। आप https://modelcontextprotocol.io/docs/tools/inspector पर MCP इंस्पेक्टर के बारे में अधिक जान सकते हैं

  1. विकास सर्वर प्रारंभ करें:

    pnpm watch # Keep this running in one terminal
    
  2. एक अलग टर्मिनल में, इंस्पेक्टर लॉन्च करें:

    pnpm inspector
    
  3. पर्यावरण कॉन्फ़िगर करें:

    • इंस्पेक्टर UI के पर्यावरण चर अनुभाग में अपना CIRCLECI_TOKEN जोड़ें
    • टोकन को आपके CircleCI प्रोजेक्ट्स तक पढ़ने की पहुँच की आवश्यकता है
    • वैकल्पिक रूप से अपना CircleCI बेस URL सेट करें (डिफ़ॉल्ट https://circleci.com है)

परीक्षण

  • परीक्षण सूट चलाएँ:

    pnpm test
    
  • विकास के दौरान वॉच मोड में परीक्षण चलाएँ:

    pnpm test:watch
    

अधिक विस्तृत योगदान दिशानिर्देशों के लिए, CONTRIBUTING.md देखें