Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

CircleCI

REMOTE · MCP.CIRCLECI.COM · SCANNED OCT 3

CircleCI's MCP server: inspect projects, runs, workflows, jobs, logs, tests, and artifacts.

Available components

0 this week 38 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security94
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
  • Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
  • Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified

Unverified: 6 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.

Install

How do I install the CircleCI MCP server?

CircleCI is a hosted endpoint at https://mcp.circleci.com/v1/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.circleci.com

# add to Claude Code
claude mcp add --transport http com-circleci-mcp 'https://mcp.circleci.com/v1/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-circleci-mcp": {
      "url": "https://mcp.circleci.com/v1/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-circleci-mcp": {
      "type": "http",
      "url": "https://mcp.circleci.com/v1/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-circleci-mcp]
url = "https://mcp.circleci.com/v1/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-circleci-mcp": {
      "type": "remote",
      "url": "https://mcp.circleci.com/v1/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-circleci-mcp --url 'https://mcp.circleci.com/v1/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-circleci-mcp:
    url: "https://mcp.circleci.com/v1/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-circleci-mcp": {
      "Transport": "http",
      "Url": "https://mcp.circleci.com/v1/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-circleci-mcp -t streamable-http -u 'https://mcp.circleci.com/v1/mcp'
// mcp.json
{
  "mcpServers": {
    "com-circleci-mcp": {
      "type": "http",
      "url": "https://mcp.circleci.com/v1/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 12 Aug 26 0
    • Endpoint reachability: reachable → behind authorisation ▼ security
    • Transport: pass → unverified ▼ security
    • Stability: 0.03 → unverified ▼ security
    • Authorization: unverified → pass ▲ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 10 Aug 26 0
    • Authorization: pass → unverified ▼ security
    • Transport: unverified → pass ▲ security
    • MCP protocol: unverified → pass ▲ functional
    • Tool coverage: unverified → 100 ▲ functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 100 functional
    • First check of Tool coverage: 100 functional
  • 4 Aug 26 0

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Oct 2026 · Probed https://mcp.circleci.com/v1/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.circleci.com CN=Amazon RSA 2048 M01,O=Amazon,C=US 16 Jul 2026 29 Jan 2027 RSA 2048 SHA256-RSA 550dc733df2ed1b07a2cd0372782687
SANs: mcp.circleci.com
CN=Amazon RSA 2048 M01,O=Amazon,C=US (CA) CN=Amazon Root CA 1,O=Amazon,C=US 23 Aug 2022 23 Aug 2030 RSA 2048 SHA256-RSA 77312380b9d6688a33b1ed9bf9ccda68e0e0f
CN=Amazon Root CA 1,O=Amazon,C=US (CA) CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US 25 May 2015 31 Dec 2037 RSA 2048 SHA256-RSA 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.circleci.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
circleci.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On connection
HTTP status 401

WWW-Authenticate challenge Bearer resource_metadata="https://mcp.circleci.com/.well-known/oauth-protected-resource/v1/mcp"

Bearer resource_metadata="https://mcp.circleci.com/.well-known/oauth-protected-resource/v1/mcp"
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options SAMEORIGIN
www-authenticate Bearer resource_metadata="https://mcp.circleci.com/.well-known/oauth-protected-resource/v1/mcp"

Protected resource metadata

Document https://mcp.circleci.com/.well-known/oauth-protected-resource/v1/mcp
Retrieved Yes
Resource https://mcp.circleci.com/v1/mcp
Authorisation server https://app.circleci.com

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.circleci.com/v1/mcp Auth required 401
http (plaintext) http://mcp.circleci.com/v1/mcp HTTPS enforced 301 https://mcp.circleci.com/v1/mcp
MCP tools · 22 exposed · ~3,332 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
cancel_workflow ~85

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.

NameTypeReqDescription
workflowstringyesThe workflow UUID to cancel, as returned by list_workflows or get_workflow (each workflow's id).
NameTypeReqDescription
workflowstringyes–

No examples provided.

download_usage_data ~319

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.

NameTypeReqDescription
end_datestring–End of the export window, as YYYY-MM-DD. Required to start an export (Phase 1). The window must not exceed 31 days.
export_idstring–The export id returned by a prior start call. Supply it together with org_id to poll for status and download URLs (Phase 2).
orgstring–The billing organization whose usage to export, as either an org slug ("gh/acme") or an org UUID. Required on both phases.
shared_org_idsnull|array–Optional additional organization UUIDs whose usage to include in the export (Phase 1).
start_datestring–Start of the export window, as YYYY-MM-DD. Required to start an export (Phase 1).
NameTypeReqDescription
download_urlsnull|array––
export_idstring––
outcomestring––
phasestring––

No examples provided.

get_deploy_component ~58

Fetch a single CircleCI deploy component by its UUID (a component id from list_deploy_components), returning its name and owning project ID.

NameTypeReqDescription
componentstringyesThe deploy component UUID, as returned by list_deploy_components.
NameTypeReqDescription
idstringyes–
namestringyes–
project_idstringyes–

No examples provided.

get_deploy_environment ~60

Fetch a single CircleCI deploy environment by its UUID (an environment id from list_deploy_environments), returning its name and owning org ID.

NameTypeReqDescription
environmentstringyesThe deploy environment UUID, as returned by list_deploy_environments.
NameTypeReqDescription
idstringyes–
namestringyes–
org_idstringyes–

No examples provided.

get_job ~72

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.

NameTypeReqDescription
jobstringyesThe job UUID, as returned by list_jobs (each job's id).
NameTypeReqDescription
attributesobjectyes–
idstringyes–
referencesobjectyes–

No examples provided.

get_job_logs ~347

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.

NameTypeReqDescription
executioninteger–For a job that ran with parallelism, the zero-based execution index to read. Defaults to 0 (the first execution).
jobstringyesThe job UUID, as returned by list_jobs (each job's id).
rawboolean–Return the raw terminal capture verbatim, keeping ANSI escapes and progress-bar redraws. Defaults to false, which renders the plain text a human would have seen. Because output is trimmed to its fina…
stepnull|integer–A specific step to read, identified by its num from get_job. When omitted, the job's failed steps are read automatically; if no step failed, the last step is read. Name a step to read any other.
tail_linesinteger–Return only the last N lines of each step's output — where errors usually surface. Defaults to 500, capped at 5000. Output is limited by total size regardless of this value, and the truncated flag re…
NameTypeReqDescription
jobstringyes–
stepsnull|arrayyes–

No examples provided.

get_orb ~145

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.

NameTypeReqDescription
orbstringyesThe orb to look up, as "namespace/name" (e.g. "circleci/go") or an orb UUID. Any @version suffix is ignored — the metadata is for the whole orb.
NameTypeReqDescription
orbobjectyes–
versionsnull|arrayyes–

No examples provided.

get_orb_source ~201

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.

NameTypeReqDescription
orbstringyesThe orb to read, as "namespace/name" optionally pinned to a version: a semver ("circleci/go@1.2.3"), "@volatile" for the latest published version, or a dev label ("circleci/go@dev:my-branch"). With n…
NameTypeReqDescription
orbstringyes–
sourcestringyes–
versionstringyes–

No examples provided.

get_run ~81

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.

NameTypeReqDescription
runstringyesThe run UUID, as returned by list_runs (each run's id).
NameTypeReqDescription
attributesobjectyes–
idstringyes–
referencesobjectyes–

No examples provided.

get_workflow ~68

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.

NameTypeReqDescription
workflowstringyesThe workflow UUID, as returned by list_workflows (each workflow's id).
NameTypeReqDescription
attributesobjectyes–
idstringyes–
referencesobjectyes–

No examples provided.

hello ~16

Verify connectivity to the CircleCI MCP server

Input schema present but exposes no named parameters.

NameTypeReqDescription
avatar_urlstringyes–
idstringyes–
loginstringyes–
namestringyes–

No examples provided.

list_artifacts ~102

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.

NameTypeReqDescription
jobstringyesThe job UUID whose artifacts to list, as returned by list_jobs or get_job (each job's id).
NameTypeReqDescription
artifactsnull|arrayyes–

No examples provided.

list_deploy_component_versions ~138

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.

NameTypeReqDescription
componentstringyesThe deploy component UUID, as returned by list_deploy_components or get_deploy_component.
environmentstring–Optional: filter versions to those deployed in this environment UUID.
limitinteger–Maximum number of versions to return, newest first. Defaults to 20; an actively deployed component can have far more, so any beyond the limit are omitted and reported via the truncated flag.
NameTypeReqDescription
truncatedbooleanyes–
versionsnull|arrayyes–

No examples provided.

list_deploy_components ~126

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.

NameTypeReqDescription
limitinteger–Maximum number of components to return. Defaults to 20; any beyond the limit are omitted and reported via the truncated flag.
projectstringyesThe project to list deploy components for, as a project slug ("gh/org/repo") or project UUID.
NameTypeReqDescription
componentsnull|arrayyes–
truncatedbooleanyes–

No examples provided.

list_deploy_environments ~125

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.

NameTypeReqDescription
limitinteger–Maximum number of environments to return. Defaults to 20; any beyond the limit are omitted and reported via the truncated flag.
orgstringyesThe organization to list deploy environments for, as an org slug ("gh/myorg") or org UUID.
NameTypeReqDescription
environmentsnull|arrayyes–
truncatedbooleanyes–

No examples provided.

list_deployments ~137

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.

NameTypeReqDescription
limitinteger–Maximum number of deployments to return, newest first. Defaults to 20; any beyond the limit are omitted and reported via the truncated flag.
projectstringyesThe project to list deployments for, as a project slug ("gh/org/repo") or project UUID.
NameTypeReqDescription
deploymentsnull|arrayyes–
truncatedbooleanyes–

No examples provided.

list_job_tests ~306

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.

NameTypeReqDescription
allboolean–Include tests of every result (passing, skipped, failing), not just failing ones. Defaults to false — only failing tests are returned, which is almost always what you want when investigating a failur…
filternull|array–Extra exact-match filters, each "key=value" where key is one of result, name, or classname (e.g. "classname=com.example.FooTest"). Repeatable; the filters are ANDed. Giving a result filter overrides…
jobstringyesThe job UUID whose test results to list, as returned by list_jobs or get_job (each job's id).
limitinteger–Maximum number of tests to return. Defaults to 100; a job's full test set can be very large, so any matches beyond the limit are omitted and reported via the truncated flag.
NameTypeReqDescription
matchedintegeryes–
testsnull|arrayyes–
truncatedbooleanyes–

No examples provided.

list_jobs ~85

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.

NameTypeReqDescription
workflowstringyesThe workflow UUID whose jobs to list, as returned by list_workflows or get_workflow (each workflow's id).
NameTypeReqDescription
jobsnull|arrayyes–

No examples provided.

list_runs ~207

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.

NameTypeReqDescription
branchstring–Only list runs on this git branch. Ignored when mine is true.
limitinteger–Maximum number of runs to return. Defaults to 10.
mineboolean–List runs the authenticated user triggered across all projects, instead of a single project. When true, project and branch are ignored.
projectstring–Project locator: either a slug ("gh/org/repo") or a project UUID. Required unless mine is true.
statusstring–Only list runs with this pipeline status, e.g. "success", "failed", "running", "on_hold".
NameTypeReqDescription
runsnull|arrayyes–

No examples provided.

list_workflows ~84

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.

NameTypeReqDescription
runstringyesThe run UUID whose workflows to list, as returned by list_runs or get_run (each run's id).
NameTypeReqDescription
workflowsnull|arrayyes–

No examples provided.

rerun_workflow ~159

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.

NameTypeReqDescription
from_failedboolean–Rerun only the failed jobs (and everything downstream of them), reusing the successful jobs. Defaults to false, which reruns every job from the start.
workflowstringyesThe workflow UUID to rerun, as returned by list_workflows or get_workflow (each workflow's id).
NameTypeReqDescription
workflowstringyes–

No examples provided.

validate_config ~411

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.

NameTypeReqDescription
configstringyesThe raw CircleCI pipeline config YAML to validate (the contents of .circleci/config.yml). Required.
orgstring–Organization slug ("gh/acme") or UUID. Optional; supply it to resolve the org's private orbs during compilation. Without it, only public orbs resolve.
pipeline_parametersobject–Values injected at << pipeline.parameters.* >> expressions, as a map of parameter name to value. Optional.
pipeline_valuesobject–Advanced: the << pipeline.* >> template context (e.g. "pipeline.git.branch"), as a flat map of CircleCI template identifier to value. Optional; usually unnecessary.
preview_nextboolean–Enable "config next" to preview upcoming, potentially breaking config changes. Defaults to false.
NameTypeReqDescription
errorsnull|array––
outcomestringyes–
validbooleanyes–

No examples provided.

Common questions

What is the CircleCI MCP server?

CircleCI is an MCP server listed in the public MCP registry as com.circleci/mcp. CircleCI's MCP server: inspect projects, runs, workflows, jobs, logs, tests, and artifacts. This page covers its hosted endpoint (https://mcp.circleci.com/v1/mcp).

Is the CircleCI MCP server safe to use?

CircleCI scores 38 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the CircleCI MCP server expose?

CircleCI exposes 22 tools: cancel_workflow, download_usage_data, get_deploy_component, get_deploy_environment, get_job, and 17 more. Their descriptions and schemas cost roughly 3,332 tokens of context every time the server is loaded.

Does the CircleCI MCP server require authentication?

Yes. CircleCI asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the CircleCI MCP server still maintained?

CircleCI is still listed as active in the MCP registry. We last reached this channel on 3 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.