CircleCI
आधिकारिकAI एजेंटों को CircleCI से बिल्ड विफलताओं को ठीक करने में सक्षम बनाएं।
CircleCI MCP के साथ आप क्या कर सकते हैं?
- कॉन्फ़िगरेशन की पुष्टि करें — सहायक से अपने
.circleci/config.ymlकी पुष्टि करने औरconfig_helperके ज़रिए सिंटैक्स तथा अर्थ-संबंधी त्रुटियों पर मार्गदर्शन पाने के लिए कहें। - बिल्ड विफलताओं का निदान करें —
get_build_failure_logsसे CircleCI बिल्ड के विस्तृत विफलता लॉग प्राप्त करें। - अस्थिर टेस्ट खोजें — किसी प्रोजेक्ट के टेस्ट निष्पादन इतिहास का विश्लेषण करके
find_flaky_testsसे अस्थिर टेस्ट पहचानें। - पाइपलाइन की स्थिति जाँचें —
get_latest_pipeline_statusका उपयोग करके किसी ब्रांच की नवीनतम पाइपलाइन की स्थिति जानें। - वर्कफ़्लो फिर से चलाएँ —
rerun_workflowसे वर्कफ़्लो को शुरुआत से या विफल जॉब से फिर से चलाएँ। - पाइपलाइन ट्रिगर करें —
run_pipelineऔरrun_rollback_pipelineका उपयोग करके पाइपलाइन चलाएँ या प्रोजेक्ट रोलबैक ट्रिगर करें।
दस्तावेज़
[!IMPORTANT] यह पैकेज अब अप्रचलित है। कृपया माइग्रेट करें।
@circleci/mcp-server-circleciपर अब नई सुविधाओं का काम नहीं हो रहा है। इसके बजाय CircleCI के hosted MCP server या CircleCI CLI MCP का उपयोग करें — CircleCI MCP overview देखें।यह रिपॉज़िटरी संग्रहित कर दी जाएगी। मौजूदा संस्करण npm से इंस्टॉल किए जा सकते हैं, लेकिन ऐसा अनुरक्षण-रहित सर्वर चलाने की अनुशंसा नहीं की जाती जिसके पास CircleCI Personal API Token हो।
यदि आप self-managed remote transport (
start=remote) चला रहे हैं, तो पहले माइग्रेट करें: hosted server इसका सीधा विकल्प है और आपके org के token को प्रॉक्सी करने वाली नेटवर्क-सुलभ सेवा चलाने की आवश्यकता समाप्त करता है।
CircleCI MCP Server
Model Context Protocol (MCP), बड़े भाषा मॉडल (LLM) और बाहरी सिस्टम के बीच संदर्भ प्रबंधित करने के लिए एक नया, मानकीकृत प्रोटोकॉल है। इस रिपॉज़िटरी में, हम CircleCI के लिए एक MCP Server प्रदान करते हैं।
Cursor, Windsurf, Copilot, Claude या किसी भी MCP-संगत क्लाइंट का उपयोग करके प्राकृतिक भाषा में CircleCI के साथ इंटरैक्ट करें — अपना IDE छोड़े बिना।
Tools
| Tool | विवरण |
|---|---|
config_helper | अपने CircleCI कॉन्फ़िगरेशन को मान्य करें और उसके लिए मार्गदर्शन प्राप्त करें |
download_usage_api_data | CircleCI Usage 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 | किसी प्रोजेक्ट के लिए रोलबैक ट्रिगर करें |
Installation
टीम / केंद्रीकृत डिप्लॉयमेंट: अपने org के लिए प्रति-डेवलपर या साझा CircleCI token के साथ एक साझा रिमोट सर्वर (Kubernetes, Docker आदि) चलाने के लिए, Self-Managed Remote MCP Server देखें।
Cursor
आवश्यकताएँ:
- CircleCI Personal API token (और जानें)
- NPX: Node.js
^22.23.4 || ^24.22.1 || >=26.12.1और pnpm - Docker: Docker
स्थानीय MCP Server में 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 Server में 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"
}
}
}
}
Self-Managed Remote MCP Server का उपयोग
Self-Managed Remote MCP Server देखें। प्रति-उपयोगकर्ता क्लाइंट कॉन्फ़िगरेशन का उपयोग करें और उसे अपने Cursor MCP कॉन्फ़िगरेशन (Cursor Settings → MCP) में जोड़ें।
VS Code
आवश्यकताएँ:
- CircleCI Personal API token (और जानें)
- NPX: Node.js
^22.23.4 || ^24.22.1 || >=26.12.1और pnpm - Docker: Docker
स्थानीय MCP Server में 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 Server में 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}"
}
}
}
}
Self-Managed Remote MCP Server का उपयोग
Self-Managed Remote MCP Server देखें। .vscode/mcp.json में प्रति-उपयोगकर्ता क्लाइंट कॉन्फ़िगरेशन का उपयोग करें।
Claude Desktop
आवश्यकताएँ:
- CircleCI Personal API token (और जानें)
- NPX: Node.js
^22.23.4 || ^24.22.1 || >=26.12.1और pnpm - Docker: Docker
स्थानीय MCP Server में 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 Server में 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"
}
}
}
}
Self-Managed Remote MCP Server का उपयोग
Self-Managed Remote MCP Server देखें। Claude Desktop and CLI clients में दिखाए अनुसार एक wrapper script बनाएँ, फिर अपने 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 Personal API token (और जानें)
- NPX: Node.js
^22.23.4 || ^24.22.1 || >=26.12.1और pnpm - Docker: Docker
स्थानीय MCP Server में NPX का उपयोग
claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -- npx -y @circleci/mcp-server-circleci@latest
स्थानीय MCP Server में 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
Self-Managed Remote MCP Server का उपयोग
Self-Managed Remote MCP Server और वहाँ दिए गए Claude Code क्लाइंट सेटअप को देखें।
Windsurf
आवश्यकताएँ:
- CircleCI Personal API token (और जानें)
- NPX: Node.js
^22.23.4 || ^24.22.1 || >=26.12.1और pnpm - Docker: Docker
स्थानीय MCP Server में 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 Server में 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"
}
}
}
}
Self-Managed Remote MCP Server का उपयोग
Self-Managed Remote MCP Server देखें। अपने Windsurf mcp_config.json में प्रति-उपयोगकर्ता क्लाइंट कॉन्फ़िगरेशन का उपयोग करें।
अधिक जानकारी के लिए: https://docs.windsurf.com/windsurf/mcp
Amazon Q Developer CLI
आवश्यकताएँ:
- CircleCI Personal API token (और जानें)
- NPX: Node.js
^22.23.4 || ^24.22.1 || >=26.12.1और pnpm
Amazon Q Developer में MCP क्लाइंट कॉन्फ़िगरेशन JSON फ़ॉर्मैट में mcp.json नाम की फ़ाइल में संग्रहीत होता है। कॉन्फ़िगरेशन के दो स्तर समर्थित हैं:
- Global:
~/.aws/amazonq/mcp.json— सभी वर्कस्पेस पर लागू - Workspace:
.amazonq/mcp.json— केवल मौजूदा वर्कस्पेस के लिए
यदि दोनों फ़ाइलें मौजूद हैं, तो उनकी सामग्री मर्ज की जाती है। टकराव की स्थिति में, वर्कस्पेस कॉन्फ़िगरेशन को प्राथमिकता मिलती है।
स्थानीय MCP Server में 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
}
}
}
Self-Managed Remote MCP Server का उपयोग
Self-Managed Remote MCP Server देखें। Claude Desktop and CLI clients में दिखाए अनुसार wrapper script का उपयोग करें, फिर उसे q mcp add के साथ रजिस्टर करें।
Amazon Q Developer in the IDE
आवश्यकताएँ:
- CircleCI Personal API token (और जानें)
- NPX: Node.js
^22.23.4 || ^24.22.1 || >=26.12.1और pnpm
स्थानीय MCP Server में 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
}
}
}
Self-Managed Remote MCP Server का उपयोग
Self-Managed Remote MCP Server देखें। Claude Desktop and CLI clients में दिखाए अनुसार wrapper script का उपयोग करें, फिर MCP कॉन्फ़िगरेशन UI के माध्यम से उसे जोड़ें:
- MCP कॉन्फ़िगरेशन UI खोलें
- + चिह्न चुनें
- स्कोप चुनें: global या local
- नाम दर्ज करें (उदा.
circleci-remote-mcp) - ट्रांसपोर्ट प्रोटोकॉल चुनें: stdio
- अपनी स्क्रिप्ट का कमांड पाथ दर्ज करें
- Save पर क्लिक करें
Smithery
Smithery के माध्यम से Claude Desktop के लिए CircleCI MCP Server को स्वचालित रूप से इंस्टॉल करने हेतु:
npx -y @smithery/cli install @CircleCI-Public/mcp-server-circleci --client claude
Self-Managed Remote MCP Server
MCP server को केंद्रीय रूप से चलाएँ (उदाहरण के लिए Kubernetes या Docker पर), ताकि आपकी टीम एक ही डिप्लॉयमेंट साझा करे। चुनें कि डेवलपर कैसे प्रमाणित होंगे:
डिप्लॉयमेंट मोड चुनें
| मोड | कब उपयोग करें | सर्वर सेटअप | क्लाइंट सेटअप | CircleCI ऑडिट ट्रेल |
|---|---|---|---|---|
| प्रति-उपयोगकर्ता token (अनुशंसित) | SSO-समर्थित Personal API Token वाली टीमें | REQUIRE_REQUEST_TOKEN=true, सर्वर PAT नहीं | हर डेवलपर अपना PAT फ़ॉरवर्ड करता है | प्रति डेवलपर |
| साझा token (अंतरिम) | त्वरित रोलआउट, एकल सेवा पहचान स्वीकार्य | सर्वर पर CIRCLECI_TOKEN, REQUIRE_REQUEST_TOKEN=false (स्पष्ट ऑप्ट-आउट) | ऑथ हेडर की आवश्यकता नहीं | एक साझा पहचान |
सुरक्षा: रिमोट मोड में अनुरोध प्रमाणीकरण डिफ़ॉल्ट रूप से चालू होता है। साझा-token मोड इसे बंद कर देता है (
REQUIRE_REQUEST_TOKEN=false), जिससे बिना किसी क्रेडेंशियल के हर कॉलर सर्वर कीCIRCLECI_TOKENपहचान के रूप में कार्य कर सकता है — इसमें मनमाने कॉन्फ़िगरेशन के साथ पाइपलाइन ट्रिगर करना भी शामिल है। इसे केवल ऐसे नेटवर्क पर सक्षम करें जिस पर आपको पूरा भरोसा हो; अन्यथा प्रति-उपयोगकर्ता token को प्राथमिकता दें। Ingress पर TLS समाप्त करने से एन्क्रिप्शन मिलता है, प्रमाणीकरण नहीं।सार्वजनिक इंटरफ़ेस पर यह संयोजन असुरक्षित है, इसलिए जब
REQUIRE_REQUEST_TOKEN=falseको non-loopback bind address के साथ जोड़ा जाता है, तो सर्वर शुरू होने से इनकार कर देता है, जब तक कि आपMCP_ALLOW_UNAUTHENTICATED_NETWORK_ACCESS=trueके साथ स्पष्ट रूप से जोखिम स्वीकार न करें।Host/Originजाँच प्रमाणीकरण का विकल्प नहीं है — नीचे DNS-rebinding protection देखें।
1. सर्वर डिप्लॉय करें
दोनों मोड रिमोट HTTP मोड (start=remote) का उपयोग करते हैं। पोर्ट 8000 (या आपके चुने हुए पोर्ट) को प्रकाशित करें।
प्रति-उपयोगकर्ता token (अनुशंसित) — localhost से mcp-remote के माध्यम से एक्सेस किया गया:
docker run --rm -p 8000:8000 \
-e start=remote \
-e port=8000 \
-e REQUIRE_REQUEST_TOKEN=true \
circleci/mcp-server-circleci
प्रति-उपयोगकर्ता token (अनुशंसित) — सार्वजनिक hostname से 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
साझा token (अंतरिम) — सार्वजनिक hostname से 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
इसके बजाय पोर्ट के सामने प्रमाणीकरण लगाना बेहतर है — ऐसा ingress जो SSO, mTLS या API key की आवश्यकता रखता हो — या ऊपर दिए गए प्रति-उपयोगकर्ता token पर स्विच करें।
पर्यावरण वेरिएबल:
| Variable | विवरण |
|---|---|
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का उपयोग करें। प्रोडक्शन में, अपने ingress/load balancer पर TLS समाप्त करें और--allow-httpके बिनाhttps://your-host/mcpका उपयोग करें।
Windows:
--headerमानों में कोलन के आसपास रिक्त स्थान न रखें। पूराBearer <token>मान किसी एनवायरनमेंट वेरिएबल में रखें।
सुरक्षा: उदाहरणों में सुविधा के लिए
npxका उपयोग किया गया है। प्रोडक्शन या टीम में रोलआउट के लिए, अपने MCP कॉन्फ़िगरेशन में कोई विशिष्ट संस्करण पिन करें (उदाहरण के लिए,mcp-remoteके बजायmcp-remote@0.1.38)।0.1.16से पुराने संस्करणों का उपयोग न करें (CVE-2025-6514)।
क्लाइंट कॉन्फ़िगरेशन: प्रति-उपयोगकर्ता टोकन
हर डेवलपर प्रत्येक अनुरोध पर अपना CircleCI Personal API Token भेजता है:
{
"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 Usage API से उपयोग डेटा डाउनलोड करता है। तारीख के लचीले इनपुट स्वीकार करता है (उदा. "मार्च 2025" या "पिछला महीना")। केवल Cloud में उपलब्ध सुविधा।
विकल्प 1: ये विवरण देकर नया एक्सपोर्ट जॉब शुरू करें:
orgId,startDate,endDate(अधिकतम 32 दिन),outputDir
विकल्प 2: मौजूदा एक्सपोर्ट जॉब की स्थिति जाँचने/उसे डाउनलोड करने के लिए ये विवरण दें:
orgId,jobId,outputDir
निर्दिष्ट समयावधि के लिए CircleCI उपयोग डेटा वाली CSV फ़ाइल लौटाता है।
[!NOTE] लागत अनुकूलन विश्लेषण के लिए उपयोग डेटा को
find_underused_resource_classesटूल में दिया जा सकता है।
find_flaky_tests
टेस्ट निष्पादन इतिहास का विश्लेषण करके आपके CircleCI प्रोजेक्ट में अस्थिर टेस्ट की पहचान करता है। CircleCI की अस्थिर टेस्ट पहचान सुविधा का उपयोग करता है।
इस टूल का उपयोग तीन तरीकों से किया जा सकता है:
-
Project Slug का उपयोग करके (अनुशंसित):
- पहले अपने प्रोजेक्ट प्राप्त करने के लिए
list_followed_projectsका उपयोग करें, फिर: - उदाहरण: "my-project के अस्थिर टेस्ट प्राप्त करें"
- पहले अपने प्रोजेक्ट प्राप्त करने के लिए
-
CircleCI Project URL का उपयोग करके:
- उदाहरण: "https://app.circleci.com/pipelines/github/org/repo में अस्थिर टेस्ट ढूँढ़ें"
-
स्थानीय प्रोजेक्ट संदर्भ का उपयोग करके:
- वर्कस्पेस रूट और git रिमोट URL देकर अपने स्थानीय वर्कस्पेस से काम करता है
- उदाहरण: "मेरे मौजूदा प्रोजेक्ट में अस्थिर टेस्ट ढूँढ़ें"
आउटपुट मोड:
- टेक्स्ट (डिफ़ॉल्ट): अस्थिर टेस्ट का विवरण टेक्स्ट फ़ॉर्मेट में लौटाता है
- फ़ाइल (
FILE_OUTPUT_DIRECTORYenv var आवश्यक): अस्थिर टेस्ट के विवरण वाली डायरेक्टरी बनाता है
find_underused_resource_classes
CircleCI उपयोग डेटा वाली CSV फ़ाइल का विश्लेषण करके ऐसे जॉब ढूँढ़ता है जिनका औसत या अधिकतम CPU/RAM उपयोग दी गई सीमा (डिफ़ॉल्ट: 40%) से कम हो।
download_usage_api_data से प्राप्त CSV फ़ाइल दें।
प्रोजेक्ट और वर्कफ़्लो के अनुसार व्यवस्थित, कम उपयोग वाले जॉब की Markdown सूची लौटाता है — लागत अनुकूलन के अवसरों की पहचान करने के लिए उपयोगी।
get_build_failure_logs
CircleCI बिल्ड से विफलता के विस्तृत लॉग प्राप्त करता है। इस टूल का उपयोग तीन तरीकों से किया जा सकता है:
-
Project Slug और ब्रांच का उपयोग करके (अनुशंसित):
- पहले अपने प्रोजेक्ट प्राप्त करने के लिए
list_followed_projectsका उपयोग करें, फिर: - उदाहरण: "main ब्रांच पर my-project की बिल्ड विफलताएँ प्राप्त करें"
- पहले अपने प्रोजेक्ट प्राप्त करने के लिए
-
CircleCI URL का उपयोग करके:
- सीधे किसी विफल जॉब URL या पाइपलाइन URL दें
- उदाहरण: "https://app.circleci.com/pipelines/github/org/repo/123 से लॉग प्राप्त करें"
-
स्थानीय प्रोजेक्ट संदर्भ का उपयोग करके:
- वर्कस्पेस रूट, git रिमोट URL और ब्रांच का नाम देकर अपने स्थानीय वर्कस्पेस से काम करता है
- उदाहरण: "मेरी मौजूदा ब्रांच पर नवीनतम विफल पाइपलाइन ढूँढ़ें"
यह टूल फ़ॉर्मेट किए गए लॉग लौटाता है, जिनमें शामिल हैं:
- जॉब के नाम
- चरण-दर-चरण निष्पादन विवरण
- विफलता संदेश और संदर्भ
get_job_test_results
CircleCI जॉब के लिए टेस्ट मेटाडेटा प्राप्त करता है, जिससे आप IDE छोड़े बिना टेस्ट परिणामों का विश्लेषण कर सकते हैं। इस टूल का उपयोग तीन तरीकों से किया जा सकता है:
-
Project Slug और ब्रांच का उपयोग करके (अनुशंसित):
- उदाहरण: "main ब्रांच पर my-project के टेस्ट परिणाम प्राप्त करें"
-
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
किसी दी गई शाखा के लिए नवीनतम पाइपलाइन की स्थिति प्राप्त करता है। इस टूल का उपयोग तीन तरीकों से किया जा सकता है:
-
प्रोजेक्ट स्लग और शाखा का उपयोग करके (अनुशंसित):
- उदाहरण: "main शाखा पर 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का उपयोग करें, फिर: - उदाहरण: "main शाखा पर 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
किसी वर्कफ़्लो को शुरुआत से या विफल जॉब से फिर से चलाता है।
नए बनाए गए वर्कफ़्लो का ID और उसकी निगरानी के लिए एक लिंक लौटाता है।
run_pipeline
पाइपलाइन चलाने के लिए ट्रिगर करता है। इस टूल का उपयोग तीन तरीकों से किया जा सकता है:
-
प्रोजेक्ट स्लग और शाखा का उपयोग करके (अनुशंसित):
- उदाहरण: "main शाखा पर my-project की पाइपलाइन चलाएँ"
-
CircleCI URL का उपयोग करके:
- शाखा सहित पाइपलाइन URL, वर्कफ़्लो URL, जॉब URL या प्रोजेक्ट URL
- उदाहरण: "https://app.circleci.com/pipelines/github/org/repo/123" के लिए पाइपलाइन चलाएँ
-
स्थानीय प्रोजेक्ट संदर्भ का उपयोग करके:
- वर्कस्पेस रूट, git रिमोट URL और शाखा का नाम देकर अपने स्थानीय वर्कस्पेस से काम करता है
टूल पाइपलाइन के निष्पादन की निगरानी के लिए एक लिंक लौटाता है।
run_rollback_pipeline
CircleCI प्रोजेक्ट के लिए रोलबैक ट्रिगर करता है। टूल इंटरैक्टिव तरीके से इन चरणों में आपका मार्गदर्शन करता है:
- प्रोजेक्ट चुनना — चुनने के लिए फ़ॉलो किए गए प्रोजेक्ट की सूची दिखाता है
- परिवेश चुनना — उपलब्ध परिवेशों की सूची दिखाता है (केवल एक होने पर उसे अपने-आप चुनता है)
- कंपोनेंट चुनना — उपलब्ध कंपोनेंट की सूची दिखाता है (केवल एक होने पर उसे अपने-आप चुनता है)
- संस्करण चुनना — उपलब्ध संस्करण दिखाता है; आप रोलबैक के लिए लक्षित संस्करण चुनते हैं
- रोलबैक मोड का पता लगाना — जाँचता है कि रोलबैक पाइपलाइन कॉन्फ़िगर की गई है या नहीं
- रोलबैक निष्पादित करना — दो विकल्प:
- पाइपलाइन रोलबैक: रोलबैक पाइपलाइन ट्रिगर करता है
- वर्कफ़्लो फिर से चलाना: वर्कफ़्लो ID का उपयोग करके पिछला वर्कफ़्लो फिर से चलाता है
- पुष्टि — निष्पादन से पहले सारांश दिखाता है और पुष्टि लेता है
समस्या निवारण
त्वरित समाधान
सबसे आम समस्याएँ:
-
पैकेज कैश साफ़ करें:
npx clear-npx-cache npm cache clean --force -
नवीनतम संस्करण को बाध्य करें: अपने कॉन्फ़िगरेशन में
@latestजोड़ें:"args": ["-y", "@circleci/mcp-server-circleci@latest"] -
अपने IDE को पूरी तरह से रीस्टार्ट करें (सिर्फ़ विंडो रीलोड न करें)
प्रमाणीकरण संबंधी समस्याएँ
- अमान्य टोकन त्रुटियाँ: Personal API Tokens में अपना
CIRCLECI_TOKENसत्यापित करें - अनुमति संबंधी त्रुटियाँ: सुनिश्चित करें कि टोकन को आपके प्रोजेक्ट का रीड एक्सेस प्राप्त है
- पर्यावरण वेरिएबल लोड नहीं हो रहे:
echo $CIRCLECI_TOKEN(Mac/Linux) याecho %CIRCLECI_TOKEN%(Windows) से जाँचें
कनेक्शन और नेटवर्क संबंधी समस्याएँ
- बेस URL: पुष्टि करें कि
CIRCLECI_BASE_URL,https://circleci.comहै - कॉर्पोरेट नेटवर्क: फ़ायरवॉल के पीछे होने पर npm प्रॉक्सी सेटिंग कॉन्फ़िगर करें
- फ़ायरवॉल द्वारा अवरोध: जाँचें कि सुरक्षा सॉफ़्टवेयर पैकेज डाउनलोड को तो नहीं रोक रहा
सिस्टम आवश्यकताएँ
- Node.js संस्करण: सुनिश्चित करें कि यह
node --versionके साथ^22.23.4 || ^24.22.1 || >=26.12.1को पूरा करता है - 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
रिमोट मोड (टीम के लिए केंद्रीकृत सर्वर): Self-Managed Remote MCP Server देखें।
MCP Inspector के साथ विकास
MCP Server पर काम करने का सबसे आसान तरीका MCP inspector का उपयोग करना है। MCP inspector के बारे में अधिक जानकारी यहाँ प्राप्त करें: https://modelcontextprotocol.io/docs/tools/inspector
-
डेवलपमेंट सर्वर शुरू करें:
pnpm watch # Keep this running in one terminal -
अलग टर्मिनल में inspector लॉन्च करें:
pnpm inspector -
परिवेश कॉन्फ़िगर करें:
- inspector UI के Environment Variables सेक्शन में अपना
CIRCLECI_TOKENजोड़ें - टोकन को आपके CircleCI प्रोजेक्ट का रीड एक्सेस चाहिए
- वैकल्पिक रूप से अपना CircleCI Base URL सेट करें (डिफ़ॉल्ट
https://circleci.comहै)
- inspector UI के Environment Variables सेक्शन में अपना
परीक्षण
-
टेस्ट सूट चलाएँ:
pnpm test -
विकास के दौरान वॉच मोड में टेस्ट चलाएँ:
pnpm test:watch
योगदान संबंधी अधिक विस्तृत दिशानिर्देशों के लिए CONTRIBUTING.md देखें।