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

License: Apache 2.0 CircleCI npm

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

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

Tools

Toolविवरण
config_helperअपने CircleCI कॉन्फ़िगरेशन को मान्य करें और उसके लिए मार्गदर्शन प्राप्त करें
download_usage_api_dataCircleCI Usage API से उपयोग डेटा डाउनलोड करें
find_flaky_testsटेस्ट निष्पादन इतिहास का विश्लेषण करके अस्थिर टेस्ट पहचानें
find_underused_resource_classesकम उपयोग किए गए कंप्यूट संसाधनों वाले जॉब खोजें
get_build_failure_logsCircleCI बिल्ड से विफलता के विस्तृत लॉग प्राप्त करें
get_job_test_resultsCircleCI जॉब के लिए टेस्ट मेटाडेटा और परिणाम प्राप्त करें
get_latest_pipeline_statusकिसी ब्रांच की नवीनतम पाइपलाइन की स्थिति प्राप्त करें
list_artifactsCircleCI जॉब द्वारा बनाए गए आर्टिफ़ैक्ट की सूची दें
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

आवश्यकताएँ:

स्थानीय 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

आवश्यकताएँ:

स्थानीय 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

आवश्यकताएँ:

स्थानीय 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

आवश्यकताएँ:

स्थानीय 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

आवश्यकताएँ:

स्थानीय 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

आवश्यकताएँ:

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

आवश्यकताएँ:

स्थानीय 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 के माध्यम से उसे जोड़ें:

  1. MCP कॉन्फ़िगरेशन UI खोलें
  2. + चिह्न चुनें
  3. स्कोप चुनें: global या local
  4. नाम दर्ज करें (उदा. circleci-remote-mcp)
  5. ट्रांसपोर्ट प्रोटोकॉल चुनें: stdio
  6. अपनी स्क्रिप्ट का कमांड पाथ दर्ज करें
  7. 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=remotestdio के बजाय HTTP+SSE MCP सर्वर शुरू करता है
portकंटेनर के अंदर सुनने वाला पोर्ट (डिफ़ॉल्ट: 8000)
REQUIRE_REQUEST_TOKENAuthorization: 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 की अस्थिर टेस्ट पहचान सुविधा का उपयोग करता है।

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

  1. Project Slug का उपयोग करके (अनुशंसित):

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

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

    • वर्कस्पेस रूट और git रिमोट URL देकर अपने स्थानीय वर्कस्पेस से काम करता है
    • उदाहरण: "मेरे मौजूदा प्रोजेक्ट में अस्थिर टेस्ट ढूँढ़ें"

आउटपुट मोड:

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

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

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

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

get_build_failure_logs

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

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

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

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

    • वर्कस्पेस रूट, git रिमोट URL और ब्रांच का नाम देकर अपने स्थानीय वर्कस्पेस से काम करता है
    • उदाहरण: "मेरी मौजूदा ब्रांच पर नवीनतम विफल पाइपलाइन ढूँढ़ें"

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

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

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

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

    • उदाहरण: "main ब्रांच पर my-project के टेस्ट परिणाम प्राप्त करें"
  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. प्रोजेक्ट स्लग और शाखा का उपयोग करके (अनुशंसित):

    • उदाहरण: "main शाखा पर 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 का उपयोग करें, फिर:
    • उदाहरण: "main शाखा पर 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

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

नए बनाए गए वर्कफ़्लो का ID और उसकी निगरानी के लिए एक लिंक लौटाता है।

run_pipeline

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

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

    • उदाहरण: "main शाखा पर 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. रोलबैक निष्पादित करना — दो विकल्प:
    • पाइपलाइन रोलबैक: रोलबैक पाइपलाइन ट्रिगर करता है
    • वर्कफ़्लो फिर से चलाना: वर्कफ़्लो ID का उपयोग करके पिछला वर्कफ़्लो फिर से चलाता है
  7. पुष्टि — निष्पादन से पहले सारांश दिखाता है और पुष्टि लेता है

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

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

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

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

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

    "args": ["-y", "@circleci/mcp-server-circleci@latest"]
    
  3. अपने 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 इंस्टॉलेशन आज़माएँ

अब भी सहायता चाहिए?

  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

रिमोट मोड (टीम के लिए केंद्रीकृत सर्वर): Self-Managed Remote MCP Server देखें।

MCP Inspector के साथ विकास

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

  1. डेवलपमेंट सर्वर शुरू करें:

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

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

    • inspector UI के Environment Variables सेक्शन में अपना CIRCLECI_TOKEN जोड़ें
    • टोकन को आपके CircleCI प्रोजेक्ट का रीड एक्सेस चाहिए
    • वैकल्पिक रूप से अपना CircleCI Base URL सेट करें (डिफ़ॉल्ट https://circleci.com है)

परीक्षण

  • टेस्ट सूट चलाएँ:

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

    pnpm test:watch
    

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