circleci
CircleCI MCP-сервер разбирает сборки, логи тестов и пайплайны CI/CD прямо из ассистента
Что умеет
- Смотреть статус и логи джобов, воркфлоу и прогонов
- Перезапускать или отменять воркфлоу
- Проверять валидность конфигурации CircleCI
- Выгружать данные использования организации и артефакты сборок
- Читать orb-конфигурации и их исходники
Какие данные видит
Ассистент видит пайплайны, джобы и артефакты организаций CircleCI, к которым у пользователя есть доступ.
Нужен ли аккаунт
Не нужен: сервер работает без входа
CircleCI MCP Server — удалённый сервер, который подключает ассистента к пайплайнам, воркфлоу, джобам и артефактам CircleCI. Через него можно разбирать причины упавших сборок, смотреть логи джобов и тестов, перезапускать или отменять воркфлоу, читать orb-конфигурации и выгружать данные по использованию организации — без переключения в терминал или дашборд.
Как подключить
Как подключить circleci к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://circleci--circleci.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить circleci к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://circleci--circleci.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить circleci к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://circleci--circleci.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (22)
Технические названия из tools/list. Нужны только разработчикам.
| cancel_workflow | Cancel a running CircleCI workflow, given its UUID (a workflow id from list_workflows or get_workflow). Cancellation is asynchronous: a successful call means the request was accepted, not that the workflow has stopped yet. |
| download_usage_data | Export a CircleCI organization's usage data as downloadable CSV files. This is a two-phase, asynchronous tool. Phase 1 — start: call with org (an org slug like "gh/acme" or an org UUID), start_date, and end_date (both YYYY-MM-DD, a window of at most 31 days) and no export_id; it returns an export_id. Phase 2 — poll/download: call again with that export_id and the same org; once the export is ready it returns pre-signed download URLs (no auth needed), or asks you to try again in a minute while it is still being prepared. Optionally include shared_org_ids on Phase 1 to cover additional organizations. |
| get_deploy_component | Fetch a single CircleCI deploy component by its UUID (a component id from list_deploy_components), returning its name and owning project ID. |
| get_deploy_environment | Fetch a single CircleCI deploy environment by its UUID (an environment id from list_deploy_environments), returning its name and owning org ID. |
| get_job | Fetch a single CircleCI job by its UUID (a job id from list_jobs), returning its phase, outcome, and per-step detail including each step's exit code — the signal for which step failed. |
| get_job_logs | Fetch the stdout/stderr of a CircleCI job's steps, given the job's UUID (a job id from list_jobs). When no step is named, the failed steps are read automatically — the fast path from a failing job to the output that explains it. Output is rendered to plain text (ANSI escapes stripped, progress-bar redraws collapsed) unless raw=true. Use tail_lines to keep only the final lines of each step (where errors surface), and execution to pick among a parallel job's executions. |
| get_orb | Fetch a registry orb's metadata and published version history — given the orb as "namespace/name" (e.g. "circleci/go") or an orb UUID. Returns the latest version, 30-day usage stats, categories, and the list of published (stable) versions: the signal for whether a version pinned in a config is stale and what to bump it to. Use get_orb_source to read a specific version's definition. |
| get_orb_source | Fetch the YAML source of an orb version referenced by a CircleCI config — given the orb as "namespace/name" optionally pinned to a version ("circleci/go@1.2.3", "@volatile" for latest, or a dev label "@dev:my-branch"); with no @version the latest published version is read. The source is the definition of the commands, jobs, executors, and parameters the config invokes — read it to learn how to call an orb correctly. Works only for registry orbs (namespace/name), not inline or URL orbs. |
| get_run | Fetch a single CircleCI run by its UUID (a run id from list_runs), returning its phase, outcome, VCS details, and any config errors. The next step in the CI-access chain: a run's id feeds list_workflows. |
| get_workflow | Fetch a single CircleCI workflow by its UUID (a workflow id from list_workflows), returning its name, phase, and outcome. A workflow's id feeds list_jobs. |
| list_artifacts | List the artifacts a CircleCI job produced — the files it persisted beyond the run, such as test reports, coverage, build outputs, or logs — given the job's UUID (a job id from list_jobs or get_job). Each artifact carries its path within the job and a URL to download it. |
| list_deploy_component_versions | List versions of a CircleCI deploy component — given the component's UUID (a component id from list_deploy_components or get_deploy_component). Optionally filter by deploy environment with the environment parameter. |
| list_deploy_components | List CircleCI deploy components for a project — given its slug ("gh/org/repo") or UUID. Deploy components are the deployable units of a project (services, applications, libraries). Each component's id feeds get_deploy_component and list_deploy_component_versions. |
| list_deploy_environments | List CircleCI deploy environments for an organization — given its slug ("gh/myorg") or UUID. Deploy environments represent named targets such as production or staging where components are released. Each environment's id feeds get_deploy_environment and can filter list_deploy_component_versions. |
| list_deployments | List recent CircleCI deployments for a project — given its slug ("gh/org/repo") or UUID. Returns deployments newest-first with component name, version, type, status, and timestamps. Use this to answer "what was last deployed" or "when was version X deployed" without first looking up component or environment IDs. |
| list_job_tests | List a CircleCI job's test results, given the job's UUID (a job id from list_jobs or get_job). By default only failing tests are returned — the ones that explain a failure; set all=true to include passing and skipped tests. Narrow further with filter ("result=...", "name=...", "classname=..."). A job's full test set can be very large, so the number returned is capped by limit (defaults to 100); when more tests matched than were returned, truncated is true — narrow the filter or raise limit for the rest. |
| list_jobs | List the jobs belonging to a CircleCI workflow, given the workflow's UUID (a workflow id from list_workflows or get_workflow). The next step in the CI-access chain: each job's id feeds get_job. |
| list_runs | List CircleCI runs for a project — given its slug ("gh/org/repo") or UUID — or the authenticated user's own runs across all projects (mine=true). Optionally filter by git branch and/or pipeline status. This is the entry point of the CI-access tool chain; each run's id feeds get_run and the workflow/job tools. |
| list_workflows | List the workflows belonging to a CircleCI run, given the run's UUID (a run id from list_runs or get_run). The next step in the CI-access chain: each workflow's id feeds get_workflow and list_jobs. |
| me | Get details of the authenticated CircleCI user. Use this when a request is about the user's own profile, or when information is missing to build other tool calls (for example the caller's id or login). |
| rerun_workflow | Rerun a CircleCI workflow, given its UUID (a workflow id from list_workflows or get_workflow). By default every job reruns from the start; set from_failed=true to rerun only the failed jobs and everything downstream of them, reusing the successful ones. A rerun creates a new workflow, whose id is returned to follow the new run. |
| validate_config | Validate a CircleCI pipeline config by compiling it — the equivalent of the `circleci config validate` CLI command. Pass the raw config YAML (the contents of .circleci/config.yml) as config; the server expands orbs, resolves parameter expressions, and expands matrix jobs, returning valid=true on success or valid=false with the compilation errors on failure. Supply org (a slug like "gh/acme" or a UUID) whenever the config references anything org-scoped: private registry orbs, or URL orbs — any orb whose value is a URL rather than "namespace/name@version", which are gated by the org's URL orb allow-list. Without org, only public registry orbs resolve, so those references fail with errors like "not permitted by the organization's URL orb allow-list" or "orb not found" — these are false negatives from missing org context, NOT real config problems, so before reporting a config invalid, check whether it declares private or URL orbs and if so retry with org. set preview_next=true to preview upcoming, potentially breaking config changes; pass pipeline_parameters to resolve << pipeline.parameters.* >> expressions. |