CircleCI
आधिकारिकAI एजेंटों को CircleCI से बिल्ड विफलताओं को ठीक करने में सक्षम बनाएं।
CircleCI MCP के साथ आप क्या कर सकते हैं?
- Validate CircleCI config — अपने
.circleci/config.ymlमें सिंटैक्स और सिमेंटिक त्रुटियों की जाँचconfig_helperके माध्यम से करवाएँ। - Get pipeline status —
get_latest_pipeline_statusसे किसी ब्रांच के लिए नवीनतम पाइपलाइन स्थिति देखें। - Trigger and rerun pipelines —
run_pipelineसे नई पाइपलाइन शुरू करें याrerun_workflowसे किसी वर्कफ़्लो को शुरू से या असफल जॉब से दोबारा चलाएँ। - Investigate build failures —
get_build_failure_logsसे विस्तृत विफलता लॉग औरget_job_test_resultsसे परीक्षण परिणाम प्राप्त करें। - Find flaky tests —
find_flaky_testsका उपयोग करके परीक्षण निष्पादन इतिहास का विश्लेषण करके अस्थिर परीक्षणों की पहचान करें। - Analyze usage and costs —
download_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 सर्वर
मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) बड़े भाषा मॉडल (LLMs) और बाहरी सिस्टम के बीच कॉन्टेक्स्ट प्रबंधित करने के लिए एक नया, मानकीकृत प्रोटोकॉल है। इस रिपॉज़िटरी में, हम CircleCI के लिए एक MCP सर्वर प्रदान करते हैं।
Cursor, Windsurf, Copilot, Claude, या किसी भी MCP-संगत क्लाइंट का उपयोग करके प्राकृतिक भाषा में CircleCI के साथ इंटरैक्ट करें — अपने IDE से बाहर निकले बिना।
टूल्स
| टूल | विवरण |
|---|---|
config_helper | अपने CircleCI कॉन्फ़िगरेशन को मान्य करें और मार्गदर्शन प्राप्त करें |
download_usage_api_data | CircleCI उपयोग API से उपयोग डेटा डाउनलोड करें |
find_flaky_tests | टेस्ट निष्पादन इतिहास का विश्लेषण करके फ्लैकी टेस्ट पहचानें |
find_underused_resource_classes | कम उपयोग वाले कंप्यूट संसाधनों वाले जॉब खोजें |
get_build_failure_logs | CircleCI बिल्ड से विस्तृत विफलता लॉग प्राप्त करें |
get_job_test_results | CircleCI जॉब के लिए टेस्ट मेटाडेटा और परिणाम प्राप्त करें |
get_latest_pipeline_status | किसी ब्रांच के लिए नवीनतम पाइपलाइन की स्थिति प्राप्त करें |
list_artifacts | CircleCI जॉब द्वारा उत्पादित आर्टिफैक्ट सूचीबद्ध करें |
list_component_versions | CircleCI घटक के सभी वर्शन सूचीबद्ध करें |
list_followed_projects | आपके द्वारा फॉलो किए जा रहे सभी CircleCI प्रोजेक्ट सूचीबद्ध करें |
rerun_workflow | वर्कफ़्लो को शुरू से या विफल जॉब से फिर से चलाएँ |
run_pipeline | पाइपलाइन चलाने के लिए ट्रिगर करें |
run_rollback_pipeline | किसी प्रोजेक्ट के लिए रोलबैक ट्रिगर करें |
इंस्टॉलेशन
टीम / केंद्रीकृत डिप्लॉयमेंट: अपने org के लिए प्रति-डेवलपर या साझा CircleCI टोकन के साथ एक साझा रिमोट सर्वर (Kubernetes, Docker, आदि) चलाने के लिए, सेल्फ-मैनेज्ड रिमोट MCP सर्वर देखें।
Cursor
पूर्वापेक्षाएँ:
- CircleCI पर्सनल API टोकन (अधिक जानें)
- NPX: Node.js >= v18 और pnpm
- Docker: Docker
स्थानीय 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
पूर्वापेक्षाएँ:
- CircleCI पर्सनल API टोकन (अधिक जानें)
- NPX: Node.js >= v18 और pnpm
- Docker: Docker
स्थानीय 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
पूर्वापेक्षाएँ:
- CircleCI पर्सनल API टोकन (अधिक जानें)
- NPX: Node.js >= v18 और pnpm
- Docker: Docker
स्थानीय 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
पूर्वापेक्षाएँ:
- CircleCI पर्सनल API टोकन (अधिक जानें)
- NPX: Node.js >= v18 और pnpm
- Docker: Docker
स्थानीय 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
पूर्वापेक्षाएँ:
- CircleCI पर्सनल API टोकन (अधिक जानें)
- NPX: Node.js >= v18 और pnpm
- Docker: Docker
स्थानीय 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
पूर्वापेक्षाएँ:
- CircleCI पर्सनल API टोकन (अधिक जानें)
- NPX: Node.js >= v18 और pnpm
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
पूर्वापेक्षाएँ:
- CircleCI पर्सनल API टोकन (अधिक जानें)
- NPX: Node.js >= v18 और pnpm
स्थानीय 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 के माध्यम से जोड़ें:
- MCP कॉन्फ़िगरेशन UI तक पहुँचें
- + प्रतीक चुनें
- स्कोप चुनें: ग्लोबल या लोकल
- एक नाम दर्ज करें (जैसे
circleci-remote-mcp) - ट्रांसपोर्ट प्रोटोकॉल चुनें: stdio
- अपनी स्क्रिप्ट का कमांड पथ दर्ज करें
- 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=remote | stdio के बजाय 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 टेस्ट डिटेक्शन फीचर का लाभ उठाता है।
इस टूल का तीन तरीकों से उपयोग किया जा सकता है:
-
प्रोजेक्ट स्लग का उपयोग करना (अनुशंसित):
- पहले अपनी परियोजनाओं को प्राप्त करने के लिए
list_followed_projectsका उपयोग करें, फिर: - उदाहरण: "मेरे-प्रोजेक्ट के लिए flaky टेस्ट प्राप्त करें"
- पहले अपनी परियोजनाओं को प्राप्त करने के लिए
-
CircleCI प्रोजेक्ट URL का उपयोग करना:
- उदाहरण: "में flaky टेस्ट खोजें https://app.circleci.com/pipelines/github/org/repo"
-
स्थानीय प्रोजेक्ट संदर्भ का उपयोग करना:
- वर्कस्पेस रूट और git रिमोट URL प्रदान करके आपके स्थानीय वर्कस्पेस से काम करता है
- उदाहरण: "मेरे वर्तमान प्रोजेक्ट में flaky टेस्ट खोजें"
आउटपुट मोड:
- टेक्स्ट (डिफ़ॉल्ट): flaky टेस्ट विवरण टेक्स्ट प्रारूप में लौटाता है
- फ़ाइल (
FILE_OUTPUT_DIRECTORYenv var की आवश्यकता है): flaky टेस्ट विवरण के साथ एक निर्देशिका बनाता है
find_underused_resource_classes
एक CircleCI उपयोग डेटा CSV फ़ाइल का विश्लेषण करता है ताकि औसत या अधिकतम CPU/RAM उपयोग किसी दिए गए थ्रेशोल्ड (डिफ़ॉल्ट: 40%) से नीचे वाले जॉब्स खोजे जा सकें।
download_usage_api_data से प्राप्त एक CSV फ़ाइल प्रदान करें।
प्रोजेक्ट और वर्कफ़्लो द्वारा आयोजित कम उपयोग वाले जॉब्स की एक मार्कडाउन सूची लौटाता है — लागत अनुकूलन अवसरों की पहचान के लिए उपयोगी।
get_build_failure_logs
CircleCI बिल्ड्स से विस्तृत विफलता लॉग प्राप्त करता है। इस टूल का तीन तरीकों से उपयोग किया जा सकता है:
-
प्रोजेक्ट स्लग और शाखा का उपयोग करना (अनुशंसित):
- पहले अपनी परियोजनाओं को प्राप्त करने के लिए
list_followed_projectsका उपयोग करें, फिर: - उदाहरण: "मुख्य शाखा पर मेरे-प्रोजेक्ट के लिए बिल्ड विफलताएँ प्राप्त करें"
- पहले अपनी परियोजनाओं को प्राप्त करने के लिए
-
CircleCI URL का उपयोग करना:
- सीधे एक विफल जॉब URL या पाइपलाइन URL प्रदान करें
- उदाहरण: "https://app.circleci.com/pipelines/github/org/repo/123 से लॉग प्राप्त करें"
-
स्थानीय प्रोजेक्ट संदर्भ का उपयोग करना:
- वर्कस्पेस रूट, git रिमोट URL, और शाखा नाम प्रदान करके आपके स्थानीय वर्कस्पेस से काम करता है
- उदाहरण: "मेरी वर्तमान शाखा पर नवीनतम विफल पाइपलाइन खोजें"
टूल फ़ॉर्मेट किए गए लॉग लौटाता है जिनमें शामिल हैं:
- जॉब नाम
- चरण-दर-चरण निष्पादन विवरण
- विफलता संदेश और संदर्भ
get_job_test_results
CircleCI जॉब्स के लिए टेस्ट मेटाडेटा प्राप्त करता है, जिससे आप अपने IDE से बाहर निकले बिना टेस्ट परिणामों का विश्लेषण कर सकते हैं। इस टूल का तीन तरीकों से उपयोग किया जा सकता है:
-
प्रोजेक्ट स्लग और शाखा का उपयोग करना (अनुशंसित):
- उदाहरण: "मुख्य शाखा पर मेरे-प्रोजेक्ट के लिए टेस्ट परिणाम प्राप्त करें"
-
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
- जॉब URL:
-
स्थानीय प्रोजेक्ट संदर्भ का उपयोग करना:
- वर्कस्पेस रूट, git रिमोट URL, और शाखा नाम प्रदान करके आपके सचिव वर्कस्पेस से काम करता है
टूल लौटाता है:
- सभी टेस्टों का सारांश (कुल, सफल, विफल)
- विफल टेस्टों पर विस्तृत जानकारी: नाम, वर्ग, फ़ाइल, त्रुटि संदेश, अवधि
- समय के साथ सफल टेस्टों की सूची
- टेस्ट परिणाम द्वारा फ़िल्टर करें
[!NOTE] टेस्ट मेटाडेटा आपके CircleCI कॉन्फ़िग में कॉन्फ़िगर किया जाना चाहिए। सेटअप निर्देशों के लिए टेस्ट डेटा एकत्र करें देखें।
get_latest_pipeline_status
किसी दिए गए ब्रांच के लिए नवीनतम पाइपलाइन की स्थिति प्राप्त करता है। इस टूल का उपयोग तीन तरीकों से किया जा सकता है:
-
प्रोजेक्ट स्लग और ब्रांच का उपयोग करके (अनुशंसित):
- उदाहरण: "मुख्य ब्रांच पर my-project के लिए नवीनतम पाइपलाइन की स्थिति प्राप्त करें"
-
CircleCI प्रोजेक्ट URL का उपयोग करके:
- उदाहरण: "https://app.circleci.com/pipelines/github/org/repo के लिए नवीनतम पाइपलाइन की स्थिति प्राप्त करें"
-
स्थानीय प्रोजेक्ट संदर्भ का उपयोग करके:
- वर्कस्पेस रूट, 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 जॉब द्वारा उत्पादित आर्टिफैक्ट्स की सूची प्राप्त करता है। इस टूल का उपयोग तीन तरीकों से किया जा सकता है:
-
प्रोजेक्ट स्लग और ब्रांच का उपयोग करके (अनुशंसित):
- पहले अपने प्रोजेक्ट्स पाने के लिए
list_followed_projectsका उपयोग करें, फिर: - उदाहरण: "मुख्य ब्रांच पर my-project के लिए आर्टिफैक्ट्स सूचीबद्ध करें"
- पहले अपने प्रोजेक्ट्स पाने के लिए
-
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
- जॉब URL:
-
स्थानीय प्रोजेक्ट संदर्भ का उपयोग करके:
- वर्कस्पेस रूट, 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
पाइपलाइन चलाने के लिए ट्रिगर करता है। इस टूल का उपयोग तीन तरीकों से किया जा सकता है:
-
प्रोजेक्ट स्लग और ब्रांच का उपयोग करके (अनुशंसित):
- उदाहरण: "मुख्य ब्रांच पर my-project के लिए पाइपलाइन चलाएं"
-
CircleCI URL का उपयोग करके:
- पाइपलाइन URL, वर्कफ़्लो URL, जॉब URL, या ब्रांच के साथ प्रोजेक्ट URL
- उदाहरण: "https://app.circleci.com/pipelines/github/org/repo/123 के लिए पाइपलाइन चलाएं"
-
स्थानीय प्रोजेक्ट संदर्भ का उपयोग करके:
- वर्कस्पेस रूट, git रिमोट URL, और ब्रांच नाम प्रदान करके आपके स्थानीय वर्कस्पेस से काम करता है
टूल पाइपलाइन निष्पादन की निगरानी के लिए एक लिंक लौटाता है।
run_rollback_pipeline
किसी CircleCI प्रोजेक्ट के लिए रोलबैक ट्रिगर करता है। टूल आपको इंटरैक्टिव रूप से निम्नलिखित के माध्यम से मार्गदर्शन करता है:
- प्रोजेक्ट चयन — चुनने के लिए फॉलो किए गए प्रोजेक्ट्स की सूची दिखाता है
- पर्यावरण चयन — उपलब्ध पर्यावरणों की सूची दिखाता है (यदि केवल एक है तो ऑटो-चयन करता है)
- घटक चयन — उपलब्ध घटकों की सूची दिखाता है (यदि केवल एक है तो ऑटो-चयन करता है)
- संस्करण चयन — उपलब्ध संस्करण दिखाता है; आप रोलबैक के लिए लक्ष्य चुनते हैं
- रोलबैक मोड डिटेक्शन — जाँचता है कि क्या कोई रोलबैक पाइपलाइन कॉन्फ़िगर है
- रोलबैक निष्पादित करें — दो विकल्प:
- पाइपलाइन रोलबैक: रोलबैक पाइपलाइन को ट्रिगर करता है
- वर्कफ़्लो पुनः चलाना: अपने वर्कफ़्लो आईडी का उपयोग करके पिछले वर्कफ़्लो को फिर से चलाता है
- पुष्टि — निष्पादन से पहले सारांश और पुष्टि करता है
समस्या निवारण
त्वरित समाधान
सबसे सामान्य समस्याएँ:
-
पैकेज कैश साफ़ करें:
npx clear-npx-cache npm cache clean --force -
नवीनतम संस्करण को बाध्य करें: अपने कॉन्फ़िगरेशन में
@latestजोड़ें:"args": ["-y", "@circleci/mcp-server-circleci@latest"] -
अपने IDE को पूरी तरह से पुनरारंभ करें (सिर्फ विंडो को रीलोड न करें)
प्रमाणीकरण समस्याएँ
- अमान्य टोकन त्रुटियाँ: व्यक्तिगत API टोकन में अपने
CIRCLECI_TOKENकी जाँच करें - अनुमति त्रुटियाँ: सुनिश्चित करें कि टोकन के पास आपके प्रोजेक्ट्स तक पढ़ने की पहुँच है
- पर्यावरण चर लोड नहीं हो रहे:
echo $CIRCLECI_TOKEN(Mac/Linux) याecho %CIRCLECI_TOKEN%(Windows) के साथ परीक्षण करें
कनेक्शन और नेटवर्क समस्याएँ
- बेस URL: पुष्टि करें कि
CIRCLECI_BASE_URLhttps://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 इंस्टॉलेशन का प्रयास करें
फिर भी सहायता चाहिए?
- समान समस्याओं के लिए GitHub Issues देखें
- समस्याओं की रिपोर्ट करते समय अपना OS, Node संस्करण और IDE शामिल करें
- IDE कंसोल से प्रासंगिक त्रुटि संदेश साझा करें
टेलीमेट्री
सर्वर टूल उपयोग को ट्रैक करने के लिए OpenTelemetry मेट्रिक्स का समर्थन करता है। जब तक आप DISABLE_TELEMETRY=true सेट नहीं करते, मेट्रिक्स निर्यात किए जाते हैं। दूरस्थ तैनाती पर, मेट्रिक्स अनुरोध के समान टोकन (प्रति-उपयोगकर्ता PAT या साझा सर्वर PAT) का उपयोग करते हैं।
| मेट्रिक | विवरण |
|---|---|
circleci.mcp.tool.invocations | टूल आमंत्रण गणना |
circleci.mcp.tool.duration_ms | निष्पादन समय (ms में) |
circleci.mcp.tool.errors | त्रुटि गणना |
विकास
प्रारंभ करना
-
रिपॉज़िटरी क्लोन करें:
git clone https://github.com/CircleCI-Public/mcp-server-circleci.git cd mcp-server-circleci -
निर्भरताएँ स्थापित करें:
pnpm install -
प्रोजेक्ट बनाएँ:
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 इंस्पेक्टर के बारे में अधिक जान सकते हैं
-
विकास सर्वर प्रारंभ करें:
pnpm watch # Keep this running in one terminal -
एक अलग टर्मिनल में, इंस्पेक्टर लॉन्च करें:
pnpm inspector -
पर्यावरण कॉन्फ़िगर करें:
- इंस्पेक्टर UI के पर्यावरण चर अनुभाग में अपना
CIRCLECI_TOKENजोड़ें - टोकन को आपके CircleCI प्रोजेक्ट्स तक पढ़ने की पहुँच की आवश्यकता है
- वैकल्पिक रूप से अपना CircleCI बेस URL सेट करें (डिफ़ॉल्ट
https://circleci.comहै)
- इंस्पेक्टर UI के पर्यावरण चर अनुभाग में अपना
परीक्षण
-
परीक्षण सूट चलाएँ:
pnpm test -
विकास के दौरान वॉच मोड में परीक्षण चलाएँ:
pnpm test:watch
अधिक विस्तृत योगदान दिशानिर्देशों के लिए, CONTRIBUTING.md देखें