
CircleCI MCP Server
Enables natural language interactions with CircleCI through Model Context Protocol, allowing users to retrieve build logs, find flaky tests, check pipeline statuses, and manage workflows without leaving their IDE.
Tools
get_build_failure_logs
This tool helps debug CircleCI build failures by retrieving failure logs. CRITICAL REQUIREMENTS: 1. Truncation Handling (HIGHEST PRIORITY): - ALWAYS check for <MCPTruncationWarning> in the output - When present, you MUST start your response with: "WARNING: The logs have been truncated. Only showing the most recent entries. Earlier build failures may not be visible." - Only proceed with log analysis after acknowledging the truncation Input options (EXACTLY ONE of these THREE options must be used): Option 1 - Project Slug and branch (BOTH required): - projectSlug: The project slug obtained from listFollowedProjects tool (e.g., "gh/organization/project") - branch: The name of the branch (required when using projectSlug) Option 2 - Direct URL (provide ONE of these): - projectURL: The URL of the CircleCI project in any of these formats: * Project URL: https://app.circleci.com/pipelines/gh/organization/project * Pipeline URL: https://app.circleci.com/pipelines/gh/organization/project/123 * Legacy Job URL: https://circleci.com/pipelines/gh/organization/project/123 * Workflow URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def * Job URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def/jobs/xyz Option 3 - Project Detection (ALL of these must be provided together): - workspaceRoot: The absolute path to the workspace root - gitRemoteURL: The URL of the git remote repository - branch: The name of the current branch Recommended Workflow: 1. Use listFollowedProjects tool to get a list of projects 2. Extract the projectSlug from the chosen project (format: "gh/organization/project") 3. Use that projectSlug with a branch name for this tool Additional Requirements: - Never call this tool with incomplete parameters - If using Option 1, make sure to extract the projectSlug exactly as provided by listFollowedProjects - If using Option 2, the URLs MUST be provided by the user - do not attempt to construct or guess URLs - If using Option 3, ALL THREE parameters (workspaceRoot, gitRemoteURL, branch) must be provided - If none of the options can be fully satisfied, ask the user for the missing information before making the tool call
find_flaky_tests
This tool retrieves information about flaky tests in a CircleCI project. The agent receiving this output MUST analyze the flaky test data and implement appropriate fixes based on the specific issues identified. CRITICAL REQUIREMENTS: 1. Truncation Handling (HIGHEST PRIORITY): - ALWAYS check for <MCPTruncationWarning> in the output - When present, you MUST start your response with: "WARNING: The logs have been truncated. Only showing the most recent entries. Earlier build failures may not be visible." - Only proceed with log analysis after acknowledging the truncation Input options (EXACTLY ONE of these THREE options must be used): Option 1 - Project Slug: - projectSlug: The project slug obtained from listFollowedProjects tool (e.g., "gh/organization/project") Option 2 - Direct URL (provide ONE of these): - projectURL: The URL of the CircleCI project in any of these formats: * Project URL: https://app.circleci.com/pipelines/gh/organization/project * Pipeline URL: https://app.circleci.com/pipelines/gh/organization/project/123 * Workflow URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def * Job URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def/jobs/xyz Option 3 - Project Detection (ALL of these must be provided together): - workspaceRoot: The absolute path to the workspace root - gitRemoteURL: The URL of the git remote repository Additional Requirements: - Never call this tool with incomplete parameters - If using Option 1, make sure to extract the projectSlug exactly as provided by listFollowedProjects - If using Option 2, the URLs MUST be provided by the user - do not attempt to construct or guess URLs - If using Option 3, BOTH parameters (workspaceRoot, gitRemoteURL) must be provided - If none of the options can be fully satisfied, ask the user for the missing information before making the tool call
get_latest_pipeline_status
This tool retrieves the status of the latest pipeline for a CircleCI project. It can be used to check pipeline status, get latest build status, or view current pipeline state. Common use cases: - Check latest pipeline status - Get current build status - View pipeline state - Check build progress - Get pipeline information Input options (EXACTLY ONE of these THREE options must be used): Option 1 - Project Slug and branch (BOTH required): - projectSlug: The project slug obtained from listFollowedProjects tool (e.g., "gh/organization/project") - branch: The name of the branch (required when using projectSlug) Option 2 - Direct URL (provide ONE of these): - projectURL: The URL of the CircleCI project in any of these formats: * Project URL: https://app.circleci.com/pipelines/gh/organization/project * Pipeline URL: https://app.circleci.com/pipelines/gh/organization/project/123 * Workflow URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def * Job URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def/jobs/xyz * Legacy Job URL: https://circleci.com/gh/organization/project/123 Option 3 - Project Detection (ALL of these must be provided together): - workspaceRoot: The absolute path to the workspace root - gitRemoteURL: The URL of the git remote repository - branch: The name of the current branch Recommended Workflow: 1. Use listFollowedProjects tool to get a list of projects 2. Extract the projectSlug from the chosen project (format: "gh/organization/project") 3. Use that projectSlug with a branch name for this tool Additional Requirements: - Never call this tool with incomplete parameters - If using Option 1, make sure to extract the projectSlug exactly as provided by listFollowedProjects - If using Option 2, the URLs MUST be provided by the user - do not attempt to construct or guess URLs - If using Option 3, ALL THREE parameters (workspaceRoot, gitRemoteURL, branch) must be provided - If none of the options can be fully satisfied, ask the user for the missing information before making the tool call
get_job_test_results
This tool retrieves test metadata for a CircleCI job. PRIORITY USE CASE: - When asked "are tests passing in CI?" or similar questions about test status - When asked to "fix failed tests in CI" or help with CI test failures - Use this tool to check if tests are passing in CircleCI and identify failed tests Common use cases: - Get test metadata for a specific job - Get test metadata for all jobs in a project - Get test metadata for a specific branch - Get test metadata for a specific pipeline - Get test metadata for a specific workflow - Get test metadata for a specific job CRITICAL REQUIREMENTS: 1. Truncation Handling (HIGHEST PRIORITY): - ALWAYS check for <MCPTruncationWarning> in the output - When present, you MUST start your response with: "WARNING: The test results have been truncated. Only showing the most recent entries. Some test data may not be visible." - Only proceed with test result analysis after acknowledging the truncation 2. Test Result Filtering: - Use filterByTestsResult parameter to filter test results: * filterByTestsResult: 'failure' - Show only failed tests * filterByTestsResult: 'success' - Show only successful tests - When looking for failed tests, ALWAYS set filterByTestsResult to 'failure' - When checking if tests are passing, set filterByTestsResult to 'success' Input options (EXACTLY ONE of these THREE options must be used): Option 1 - Project Slug and branch (BOTH required): - projectSlug: The project slug obtained from listFollowedProjects tool (e.g., "gh/organization/project") - branch: The name of the branch (required when using projectSlug) Option 2 - Direct URL (provide ONE of these): - projectURL: The URL of the CircleCI job in any of these formats: * Job URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def/jobs/789 * Workflow URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def * Pipeline URL: https://app.circleci.com/pipelines/gh/organization/project/123 Option 3 - Project Detection (ALL of these must be provided together): - workspaceRoot: The absolute path to the workspace root - gitRemoteURL: The URL of the git remote repository - branch: The name of the current branch For simple test status checks (e.g., "are tests passing in CI?") or fixing failed tests, prefer Option 1 with a recent pipeline URL if available. Additional Requirements: - Never call this tool with incomplete parameters - If using Option 1, make sure to extract the projectSlug exactly as provided by listFollowedProjects and include the branch parameter - If using Option 2, the URL MUST be provided by the user - do not attempt to construct or guess URLs - If using Option 3, ALL THREE parameters (workspaceRoot, gitRemoteURL, branch) must be provided - If none of the options can be fully satisfied, ask the user for the missing information before making the tool call
config_helper
This tool helps analyze and validate and fix CircleCI configuration files. Parameters: - params: An object containing: - configFile: string - The full contents of the CircleCI config file as a string. This should be the raw YAML content, not a file path. Example usage: { "params": { "configFile": "version: 2.1 orbs: node: circleci/node@7 ..." } } Note: The configFile content should be provided as a properly escaped string with newlines represented as . Tool output instructions: - If the config is invalid, the tool will return the errors and the original config. Use the errors to fix the config. - If the config is valid, do nothing.
create_prompt_template
ABOUT THIS TOOL: - This tool is part of a toolchain that generates and provides test cases for a prompt template. - This tool helps an AI assistant to generate a prompt template based on one of the following: 1. feature requirements defined by a user - in which case the tool will generate a new prompt template based on the feature requirements. 2. a pre-existing prompt or prompt template that a user wants to test, evaluate, or modify - in which case the tool will convert it into a more structured and testable prompt template while leaving the original prompt language relatively unchanged. - This tool will return a structured prompt template (e.g. `template`) along with a context schema (e.g. ``contextSchema``) that defines the expected input parameters for the prompt template. - In some cases, a user will want to add test coverage for ALL of the prompts in a given application. In these cases, the AI agent should use this tool to generate a prompt template for each prompt in the application, and should check the entire application for AI prompts that are not already covered by a prompt template in the `./prompts` directory. WHEN SHOULD THIS TOOL BE TRIGGERED? - This tool should be triggered whenever the user provides requirements for a new AI-enabled application or a new AI-enabled feature of an existing application (i.e. one that requires a prompt request to an LLM or any AI model). - This tool should also be triggered if the user provides a pre-existing prompt or prompt template from their codebase that they want to test, evaluate, or modify. - This tool should be triggered even if there are pre-existing files in the `./prompts` directory with the `<relevant-name>.prompt.yml` convention (e.g. `bedtime-story-generator.prompt.yml`, `plant-care-assistant.prompt.yml`, `customer-support-chatbot.prompt.yml`, etc.). Similar files should NEVER be generated directly by the AI agent. Instead, the AI agent should use this tool to first generate a new prompt template. PARAMETERS: - params: object - prompt: string (the feature requirements or pre-existing prompt/prompt template that will be used to generate a prompt template. Can be a multi-line string.) - promptOrigin: "codebase" | "requirements" (indicates whether the prompt comes from an existing codebase or from new requirements) - model: string (the model that the prompt template will be tested against. Explicitly specify the model if it can be inferred from the codebase. Otherwise, defaults to `gpt-4.1-mini`.) - temperature: number (the temperature of the prompt template. Explicitly specify the temperature if it can be inferred from the codebase. Otherwise, defaults to 1.) EXAMPLE USAGE (from new requirements): { "params": { "prompt": "Create an app that takes any topic and an age (in years), then renders a 1-minute bedtime story for a person of that age.", "promptOrigin": "requirements" "model": "gpt-4.1-mini" "temperature": 1.0 } } EXAMPLE USAGE (from pre-existing prompt/prompt template in codebase): { "params": { "prompt": "The user wants a bedtime story about {{topic}} for a person of age {{age}} years old. Please craft a captivating tale that captivates their imagination and provides a delightful bedtime experience.", "promptOrigin": "codebase" "model": "claude-3-5-sonnet-latest" "temperature": 0.7 } } TOOL OUTPUT INSTRUCTIONS: - The tool will return... - a `template` that reformulates the user's prompt into a more structured format. - a ``contextSchema`` that defines the expected input parameters for the template. - a `promptOrigin` that indicates whether the prompt comes from an existing prompt or prompt template in the user's codebase or from new requirements. - The tool output -- the `template`, ``contextSchema``, and `promptOrigin` -- will also be used as input to the `recommend_prompt_template_tests` tool to generate a list of recommended tests that can be used to test the prompt template.
recommend_prompt_template_tests
About this tool: - This tool is part of a toolchain that generates and provides test cases for a prompt template. - This tool generates an array of recommended tests for a given prompt template. Parameters: - params: object - promptTemplate: string (the prompt template to be tested) - contextSchema: object (the context schema that defines the expected input parameters for the prompt template) - promptOrigin: "codebase" | "requirements" (indicates whether the prompt comes from an existing codebase or from new requirements) - model: string (the model that the prompt template will be tested against) Example usage: { "params": { "promptTemplate": "The user wants a bedtime story about {{topic}} for a person of age {{age}} years old. Please craft a captivating tale that captivates their imagination and provides a delightful bedtime experience.", "contextSchema": { "topic": "string", "age": "number" }, "promptOrigin": "codebase" } } The tool will return a structured array of test cases that can be used to test the prompt template. Tool output instructions: - The tool will return a `recommendedTests` array that can be used to test the prompt template.
run_pipeline
This tool triggers a new CircleCI pipeline and returns the URL to monitor its progress. Input options (EXACTLY ONE of these THREE options must be used): Option 1 - Project Slug and branch (BOTH required): - projectSlug: The project slug obtained from listFollowedProjects tool (e.g., "gh/organization/project") - branch: The name of the branch (required when using projectSlug) Option 2 - Direct URL (provide ONE of these): - projectURL: The URL of the CircleCI project in any of these formats: * Project URL with branch: https://app.circleci.com/pipelines/gh/organization/project?branch=feature-branch * Pipeline URL: https://app.circleci.com/pipelines/gh/organization/project/123 * Workflow URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def * Job URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def/jobs/xyz Option 3 - Project Detection (ALL of these must be provided together): - workspaceRoot: The absolute path to the workspace root - gitRemoteURL: The URL of the git remote repository - branch: The name of the current branch Configuration: - an optional configContent parameter can be provided to override the default pipeline configuration Pipeline Selection: - If the project has multiple pipeline definitions, the tool will return a list of available pipelines - You must then make another call with the chosen pipeline name using the pipelineChoiceName parameter - The pipelineChoiceName must exactly match one of the pipeline names returned by the tool - If the project has only one pipeline definition, pipelineChoiceName is not needed Additional Requirements: - Never call this tool with incomplete parameters - If using Option 1, make sure to extract the projectSlug exactly as provided by listFollowedProjects - If using Option 2, the URLs MUST be provided by the user - do not attempt to construct or guess URLs - If using Option 3, ALL THREE parameters (workspaceRoot, gitRemoteURL, branch) must be provided - If none of the options can be fully satisfied, ask the user for the missing information before making the tool call Returns: - A URL to the newly triggered pipeline that can be used to monitor its progress
list_followed_projects
This tool lists all projects that the user is following on CircleCI. Common use cases: - Identify which CircleCI projects are available to the user - Select a project for subsequent operations - Obtain the projectSlug needed for other CircleCI tools Returns: - A list of projects that the user is following on CircleCI - Each entry includes the project name and its projectSlug Workflow: 1. Run this tool to see available projects 2. User selects a project from the list 3. The LLM should extract and use the projectSlug (not the project name) from the selected project for subsequent tool calls 4. The projectSlug is required for many other CircleCI tools, and will be used for those tool calls after a project is selected Note: If pagination limits are reached, the tool will indicate that not all projects could be displayed. IMPORTANT: Do not automatically run any additional tools after this tool is called. Wait for explicit user instruction before executing further tool calls. The LLM MUST NOT invoke any other CircleCI tools until receiving a clear instruction from the user about what to do next, even if the user selects a project. It is acceptable to list out tool call options for the user to choose from, but do not execute them until instructed.
run_evaluation_tests
This tool allows the users to run evaluation tests on a circleci pipeline. They can be referred to as "Prompt Tests" or "Evaluation Tests". This tool triggers a new CircleCI pipeline and returns the URL to monitor its progress. The tool will generate an appropriate circleci configuration file and trigger a pipeline using this temporary configuration. The tool will return the project slug. Input options (EXACTLY ONE of these THREE options must be used): Option 1 - Project Slug and branch (BOTH required): - projectSlug: The project slug obtained from listFollowedProjects tool (e.g., "gh/organization/project") - branch: The name of the branch (required when using projectSlug) Option 2 - Direct URL (provide ONE of these): - projectURL: The URL of the CircleCI project in any of these formats: * Project URL with branch: https://app.circleci.com/pipelines/gh/organization/project?branch=feature-branch * Pipeline URL: https://app.circleci.com/pipelines/gh/organization/project/123 * Workflow URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def * Job URL: https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def/jobs/xyz Option 3 - Project Detection (ALL of these must be provided together): - workspaceRoot: The absolute path to the workspace root - gitRemoteURL: The URL of the git remote repository - branch: The name of the current branch Test Files: - promptFiles: Array of prompt template file objects from the ./prompts directory, each containing: * fileName: The name of the prompt template file * fileContent: The contents of the prompt template file Pipeline Selection: - If the project has multiple pipeline definitions, the tool will return a list of available pipelines - You must then make another call with the chosen pipeline name using the pipelineChoiceName parameter - The pipelineChoiceName must exactly match one of the pipeline names returned by the tool - If the project has only one pipeline definition, pipelineChoiceName is not needed Additional Requirements: - Never call this tool with incomplete parameters - If using Option 1, make sure to extract the projectSlug exactly as provided by listFollowedProjects - If using Option 2, the URLs MUST be provided by the user - do not attempt to construct or guess URLs - If using Option 3, ALL THREE parameters (workspaceRoot, gitRemoteURL, branch) must be provided - If none of the options can be fully satisfied, ask the user for the missing information before making the tool call Returns: - A URL to the newly triggered pipeline that can be used to monitor its progress
rerun_workflow
This tool is used to rerun a workflow from start or from the failed job. Common use cases: - Rerun a workflow from a failed job - Rerun a workflow from start Input options (EXACTLY ONE of these TWO options must be used): Option 1 - Workflow ID: - workflowId: The ID of the workflow to rerun - fromFailed: true to rerun from failed, false to rerun from start. If omitted, behavior is based on workflow status. (optional) Option 2 - Workflow URL: - workflowURL: The URL of the workflow to rerun * Workflow URL: https://app.circleci.com/pipelines/:vcsType/:orgName/:projectName/:pipelineNumber/workflows/:workflowId * Workflow Job URL: https://app.circleci.com/pipelines/:vcsType/:orgName/:projectName/:pipelineNumber/workflows/:workflowId/jobs/:buildNumber - fromFailed: true to rerun from failed, false to rerun from start. If omitted, behavior is based on workflow status. (optional)
analyze_diff
This tool is used to analyze a git diff (unstaged, staged, or all changes) against IDE rules to identify rule violations. By default, the tool will use the staged changes, unless the user explicitly asks for unstaged or all changes. Parameters: - params: An object containing: - speedMode: boolean - A mode that can be enabled to speed up the analysis. Default value is false. - filterBy: enum - "Violations" | "Compliants" | "Human Review Required" | "None" - A filter that can be applied to set the focus of the analysis. Default is None. - diff: string - A git diff string. - rules: string - Rules to use for analysis, found in the rules subdirectory of the IDE workspace settings. Combine all rules from multiple files by separating them with --- Returns: - A list of rule violations found in the git diff.
run_rollback_pipeline
Run a rollback pipeline for a CircleCI project. This tool guides you through the full rollback process, adapting to the information you provide and prompting for any missing details. **Initial Step:** - First, call the `listFollowedProjects` tool to retrieve the list of projects the user follows. - Then, ask the user to select a project by providing either a `projectID` or the exact `projectSlug` as returned by `listFollowedProjects`. **Typical Flow:** 1. **Start:** User initiates a rollback request. 2. **Project Selection:** If a `projectSlug` or `projectID` is not provided, call `listFollowedProjects` and prompt the user to select a project using the exact value returned. 3. **Execute the tool and list the versions.** 4. **Workflow Rerun:** - Inform the user of the fact that no rollback pipeline is defined for this project. - Ask the user if they want to rerun a workflow. - If the user wants to rerun a workflow, execute the tool with rollback_type set to `WORKFLOW_RERUN`. Do not propose to choose another project. 6. **Component Selection:** - If the project has multiple components, present up to 20 options for the user to choose from. - If there is only one component, proceed automatically and do not ask the user to select a component. 7. **Environment Selection:** - If the project has multiple environments, present up to 20 options for the user to choose from. - If there is only one environment, proceed automatically and do not ask the user to select an environment. 8. **Version Selection:** - Present the user with available versions to rollback to, based on the selected environment and component. Include the namespace for each version. - Ask for both the current deployed version and the target version to rollback to. 9. **Optional Details:** - If the rollback type is `PIPELINE`, prompt the user for an optional reason for the rollback (e.g., "Critical bug fix"). - If the rollback type is `WORKFLOW_RERUN`, provide the workflow ID of the selected version to the tool. - provide the namespace for the selected version to the tool. 10. **Confirmation:** - Summarize the rollback request and confirm with the user before submitting. **Parameters:** - Either `projectSlug` (e.g., "gh/organization/repository") or `projectID` (UUID) must be provided. - `environment_name` (optional at first if multiple environments): The target environment (e.g., "production", "staging"). - `component_name` (optional at first components): The component to rollback (e.g., "frontend", "backend"). - `current_version` (optional at first): The currently deployed version. - `target_version` (optional at first): The version to rollback to. - `reason` (optional): Reason for the rollback. - `parameters` (optional): Additional rollback parameters as key-value pairs. **Behavior:** - If there are more than 20 environments or components, ask the user to refine their selection. - Never attempt to guess or construct project slugs or URLs; always use values provided by the user or from `listFollowedProjects`. - Do not prompt for missing parameters until versions have been listed. - Do not call this tool with incomplete parameters. - If the selected project lacks rollback pipeline configuration, provide a definitive error message without suggesting alternative projects. **Returns:** - On success: The rollback ID or a confirmation in case of workflow rerun. - On error: A clear message describing what is missing or what went wrong. - If the selected project does not have a rollback pipeline configured: The tool will provide a clear error message specific to that project and will NOT suggest trying another project. **Important Note:** - This tool is designed to work only with the specific project provided by the user. - If a project does not have rollback capability configured, the tool will NOT suggest alternatives or recommend trying other projects. - The assistant should NOT suggest trying different projects when a project lacks rollback configuration. - Each project must have its own rollback pipeline configuration to be eligible for rollback operations. - When a project cannot be rolled back, provide only the configuration guidance for THAT specific project. If neither option is fully satisfied, prompt the user for the missing information before making the tool call.
README
CircleCI MCP Server
Model Context Protocol (MCP) is a new, standardized protocol for managing context between large language models (LLMs) and external systems. In this repository, we provide an MCP Server for CircleCI.
This lets you use Cursor IDE, Windsurf, Copilot, or any MCP supported Client, to use natural language to accomplish things with CircleCI, e.g.:
Find the latest failed pipeline on my branch and get logs
https://github.com/CircleCI-Public/mcp-server-circleci/wiki#circleci-mcp-server-with-cursor-ide
https://github.com/user-attachments/assets/3c765985-8827-442a-a8dc-5069e01edb74
Requirements
- CircleCI Personal API Token - you can generate one through the CircleCI. Learn more or click here for quick access.
For NPX installation:
- pnpm package manager - Learn more
- Node.js >= v18.0.0
For Docker installation:
- Docker - Learn more
Installation
Cursor
Using NPX in a local MCP Server
Add the following to your cursor MCP config:
{
"mcpServers": {
"circleci-mcp-server": {
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci"],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com" // Optional - required for on-prem customers only
}
}
}
}
Using Docker in a local MCP Server
Add the following to your cursor MCP config:
{
"mcpServers": {
"circleci-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"CIRCLECI_TOKEN",
"-e",
"CIRCLECI_BASE_URL",
"circleci:mcp-server-circleci"
],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com" // Optional - required for on-prem customers only
}
}
}
}
Using a Self-Managed Remote MCP Server
Add the following to your cursor MCP config:
{
"inputs": [
{
"type": "promptString",
"id": "circleci-token",
"description": "CircleCI API Token",
"password": true
}
],
"servers": {
"circleci-mcp-server-remote": {
"url": "http://your-circleci-remote-mcp-server-endpoint:8000/mcp"
}
}
}
VS Code
Using NPX in a local MCP Server
To install CircleCI MCP Server for VS Code in .vscode/mcp.json
:
{
// 💡 Inputs are prompted on first server start, then stored securely by VS Code.
"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": {
// https://github.com/ppl-ai/modelcontextprotocol/
"circleci-mcp-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci"],
"env": {
"CIRCLECI_TOKEN": "${input:circleci-token}",
"CIRCLECI_BASE_URL": "${input:circleci-base-url}"
}
}
}
}
Using Docker in a local MCP Server
To install CircleCI MCP Server for VS Code in .vscode/mcp.json
using Docker:
{
// 💡 Inputs are prompted on first server start, then stored securely by VS Code.
"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": {
// https://github.com/ppl-ai/modelcontextprotocol/
"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}"
}
}
}
}
Using a Self-Managed Remote MCP Server
To install CircleCI MCP Server for VS Code in .vscode/mcp.json
using a self-managed remote MCP server:
{
"servers": {
"circleci-mcp-server-remote": {
"type": "sse",
"url": "http://your-circleci-remote-mcp-server-endpoint:8000/mcp"
}
}
}
Claude Desktop
Using NPX in a local MCP Server
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"circleci-mcp-server": {
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci"],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com" // Optional - required for on-prem customers only
}
}
}
}
To locate this file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Using Docker in a local MCP Server
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"circleci-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"CIRCLECI_TOKEN",
"-e",
"CIRCLECI_BASE_URL",
"circleci:mcp-server-circleci"
],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com" // Optional - required for on-prem customers only
}
}
}
}
To find/create this file, first open your claude desktop settings. Then click on "Developer" in the left-hand bar of the Settings pane, and then click on "Edit Config"
This will create a configuration file at:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
See the guide below for more information on using MCP servers with Claude Desktop: https://modelcontextprotocol.io/quickstart/user
Using a Self-Managed Remote MCP Server
Create a wrapper script first
Create a script file such as 'circleci-remote-mcp.sh':
#!/bin/bash
export CIRCLECI_TOKEN="your-circleci-token"
npx mcp-remote http://your-circleci-remote-mcp-server-endpoint:8000/mcp --allow-http
Make it executable:
chmod +x circleci-remote-mcp.sh
Then add the following to your claude_desktop_config.json:
{
"mcpServers": {
"circleci-remote-mcp-server": {
"command": "/full/path/to/circleci-remote-mcp.sh"
}
}
}
To find/create this file, first open your Claude Desktop settings. Then click on "Developer" in the left-hand bar of the Settings pane, and then click on "Edit Config"
This will create a configuration file at:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
See the guide below for more information on using MCP servers with Claude Desktop: https://modelcontextprotocol.io/quickstart/user
Claude Code
Using NPX in a local MCP Server
After installing Claude Code, run the following command:
claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -- npx -y @circleci/mcp-server-circleci
Using Docker in a local MCP Server
After installing Claude Code, run the following command:
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
See the guide below for more information on using MCP servers with Claude Code: https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/tutorials#set-up-model-context-protocol-mcp
Using Self-Managed Remote MCP Server
After installing Claude Code, run the following command:
claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -- npx mcp-remote http://your-circleci-remote-mcp-server-endpoint:8000/mcp --allow-http
See the guide below for more information on using MCP servers with Claude Code: https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/tutorials#set-up-model-context-protocol-mcp
Windsurf
Using NPX in a local MCP Server
Add the following to your windsurf mcp_config.json:
{
"mcpServers": {
"circleci-mcp-server": {
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci"],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com" // Optional - required for on-prem customers only
}
}
}
}
Using Docker in a local MCP Server
Add the following to your windsurf mcp_config.json:
{
"mcpServers": {
"circleci-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"CIRCLECI_TOKEN",
"-e",
"CIRCLECI_BASE_URL",
"circleci:mcp-server-circleci"
],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com" // Optional - required for on-prem customers only
}
}
}
}
Using Self-Managed Remote MCP Server
Add the following to your windsurf mcp_config.json:
{
"mcpServers": {
"circleci": {
"command": "npx",
"args": [
"mcp-remote",
"http://your-circleci-remote-mcp-server-endpoint:8000/mcp",
"--allow-http"
],
"disabled": false,
"alwaysAllow": []
}
}
}
See the guide below for more information on using MCP servers with windsurf: https://docs.windsurf.com/windsurf/mcp
Installing via Smithery
To install CircleCI MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @CircleCI-Public/mcp-server-circleci --client claude
Amazon Q Developer CLi
MCP client configuration in Amazon Q Developer is stored in JSON format, in a file named mcp.json.
Amazon Q Developer CLI supports two levels of MCP configuration:
Global Configuration: ~/.aws/amazonq/mcp.json - Applies to all workspaces
Workspace Configuration: .amazonq/mcp.json - Specific to the current workspace
Both files are optional; neither, one, or both can exist. If both files exist, Amazon Q Developer reads MCP configuration from both and combines them, taking the union of their contents. If there is a conflict (i.e., a server defined in the global config is also present in the workspace config), a warning is displayed and only the server entry in the workspace config is used.
Using NPX in a local MCP Server
Edit your global configuration file ~/.aws/amazonq/mcp.json or create a new one in the current workspace .amazonq/mcp.json with the following content:
{
"mcpServers": {
"circleci-local": {
"command": "npx",
"args": [
"-y",
"@circleci/mcp-server-circleci"
],
"env": {
"CIRCLECI_TOKEN": "YOUR_CIRCLECI_TOKEN",
"CIRCLECI_BASE_URL": "https://circleci.com" // Optional - required for on-prem customers only
},
"timeout": 60000
}
}
}
Using a Self-Managed Remote MCP Server
Create a wrapper script first
Create a script file such as 'circleci-remote-mcp.sh':
#!/bin/bash
export CIRCLECI_TOKEN="your-circleci-token"
npx mcp-remote http://your-circleci-remote-mcp-server-endpoint:8000/mcp --allow-http
Make it executable:
chmod +x circleci-remote-mcp.sh
Then add it:
q mcp add --name circleci --command "/full/path/to/circleci-remote-mcp.sh"
Amazon Q Developer in the IDE
Using NPX in a local MCP Server
Edit your global configuration file ~/.aws/amazonq/mcp.json or create a new one in the current workspace .amazonq/mcp.json with the following content:
{
"mcpServers": {
"circleci-local": {
"command": "npx",
"args": [
"-y",
"@circleci/mcp-server-circleci"
],
"env": {
"CIRCLECI_TOKEN": "YOUR_CIRCLECI_TOKEN",
"CIRCLECI_BASE_URL": "https://circleci.com" // Optional - required for on-prem customers only
},
"timeout": 60000
}
}
}
Using a Self-Managed Remote MCP Server
Create a wrapper script first
Create a script file such as 'circleci-remote-mcp.sh':
#!/bin/bash
npx mcp-remote http://your-circleci-remote-mcp-server-endpoint:8000/mcp --allow-http
Make it executable:
chmod +x circleci-remote-mcp.sh
Then add it to the Q Developer in your IDE:
Access the MCP configuration UI (https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/mcp-ide.html#mcp-ide-configuration-access-ui).
Choose the plus (+) symbol.
Select the scope: global or local.
If you select global scope, the MCP server configuration is stored in ~/.aws/amazonq/mcp.json and available across all your projects. If you select local scope, the configuration is stored in .amazonq/mcp.json within your current project.
In the Name field, enter the name of the CircleCI remote MCP server (e.g. circleci-remote-mcp).
Select the transport protocol (stdio).
In the Command field, enter the shell command created previously that the MCP server will run when it initializes (e.g. /full/path/to/circleci-remote-mcp.sh).
Click the Save button.
Features
Supported Tools
-
get_build_failure_logs
Retrieves detailed failure logs from CircleCI builds. This tool can be used in three ways:
-
Using Project Slug and Branch (Recommended Workflow):
- First, list your available projects:
- Use the list_followed_projects tool to get your projects
- Example: "List my CircleCI projects"
- Then choose the project, which has a projectSlug associated with it
- Example: "Lets use my-project"
- Then ask to retrieve the build failure logs for a specific branch:
- Example: "Get build failures for my-project on the main branch"
- First, list your available projects:
-
Using CircleCI URLs:
- Provide a failed job URL or pipeline URL directly
- Example: "Get logs from https://app.circleci.com/pipelines/github/org/repo/123"
-
Using Local Project Context:
- Works from your local workspace by providing:
- Workspace root path
- Git remote URL
- Branch name
- Example: "Find the latest failed pipeline on my current branch"
- Works from your local workspace by providing:
The tool returns formatted logs including:
- Job names
- Step-by-step execution details
- Failure messages and context
This is particularly useful for:
- Debugging failed builds
- Analyzing test failures
- Investigating deployment issues
- Quick access to build logs without leaving your IDE
-
-
find_flaky_tests
Identifies flaky tests in your CircleCI project by analyzing test execution history. This leverages the flaky test detection feature described here: https://circleci.com/blog/introducing-test-insights-with-flaky-test-detection/#flaky-test-detection
This tool can be used in three ways:
-
Using Project Slug (Recommended Workflow):
- First, list your available projects:
- Use the list_followed_projects tool to get your projects
- Example: "List my CircleCI projects"
- Then choose the project, which has a projectSlug associated with it
- Example: "Lets use my-project"
- Then ask to retrieve the flaky tests:
- Example: "Get flaky tests for my-project"
- First, list your available projects:
-
Using CircleCI Project URL:
- Provide the project URL directly from CircleCI
- Example: "Find flaky tests in https://app.circleci.com/pipelines/github/org/repo"
-
Using Local Project Context:
- Works from your local workspace by providing:
- Workspace root path
- Git remote URL
- Example: "Find flaky tests in my current project"
- Works from your local workspace by providing:
The tool can be used in two ways:
- Using text output mode (default):
- This will return the flaky tests and their details in a text format
- Using file output mode: (requires the
FILE_OUTPUT_DIRECTORY
environment variable to be set)- This will create a directory with the flaky tests and their details
The tool returns detailed information about flaky tests, including:
- Test names and file locations
- Failure messages and contexts
This helps you:
- Identify unreliable tests in your test suite
- Get detailed context about test failures
- Make data-driven decisions about test improvements
-
-
get_latest_pipeline_status
Retrieves the status of the latest pipeline for a given branch. This tool can be used in three ways:
-
Using Project Slug and Branch (Recommended Workflow):
- First, list your available projects:
- Use the list_followed_projects tool to get your projects
- Example: "List my CircleCI projects"
- Then choose the project, which has a projectSlug associated with it
- Example: "Lets use my-project"
- Then ask to retrieve the latest pipeline status for a specific branch:
- Example: "Get the status of the latest pipeline for my-project on the main branch"
- First, list your available projects:
-
Using CircleCI Project URL:
- Provide the project URL directly from CircleCI
- Example: "Get the status of the latest pipeline for https://app.circleci.com/pipelines/github/org/repo"
-
Using Local Project Context:
- Works from your local workspace by providing:
- Workspace root path
- Git remote URL
- Branch name
- Example: "Get the status of the latest pipeline for my current project"
- Works from your local workspace by providing:
The tool returns a formatted status of the latest pipeline:
- Workflow names and their current status
- Duration of each workflow
- Creation and completion timestamps
- Overall pipeline health
Example output:
--- 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
This is particularly useful for:
- Checking the status of the latest pipeline
- Getting the status of the latest pipeline for a specific branch
- Quickly checking the status of the latest pipeline without leaving your IDE
-
-
get_job_test_results
Retrieves test metadata for CircleCI jobs, allowing you to analyze test results without leaving your IDE. This tool can be used in three ways:
-
Using Project Slug and Branch (Recommended Workflow):
- First, list your available projects:
- Use the list_followed_projects tool to get your projects
- Example: "List my CircleCI projects"
- Then choose the project, which has a projectSlug associated with it
- Example: "Lets use my-project"
- Then ask to retrieve the test results for a specific branch:
- Example: "Get test results for my-project on the main branch"
- First, list your available projects:
-
Using CircleCI URL:
- Provide a CircleCI URL in any of these formats:
- Job URL: "https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def/jobs/789"
- Workflow URL: "https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def"
- Pipeline URL: "https://app.circleci.com/pipelines/github/org/repo/123"
- Example: "Get test results for https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def"
- Provide a CircleCI URL in any of these formats:
-
Using Local Project Context:
- Works from your local workspace by providing:
- Workspace root path
- Git remote URL
- Branch name
- Example: "Get test results for my current project on the main branch"
- Works from your local workspace by providing:
The tool returns detailed test result information:
- Summary of all tests (total, successful, failed)
- Detailed information about failed tests including:
- Test name and class
- File location
- Error messages
- Runtime duration
- List of successful tests with timing information
- Filter by tests result
This is particularly useful for:
- Quickly analyzing test failures without visiting the CircleCI web UI
- Identifying patterns in test failures
- Finding slow tests that might need optimization
- Checking test coverage across your project
- Troubleshooting flaky tests
Note: The tool requires that test metadata is properly configured in your CircleCI config. For more information on setting up test metadata collection, see: https://circleci.com/docs/collect-test-data/
-
-
config_helper
Assists with CircleCI configuration tasks by providing guidance and validation. This tool helps you:
- Validate CircleCI Config:
- Checks your .circleci/config.yml for syntax and semantic errors
- Example: "Validate my CircleCI config"
The tool provides:
- Detailed validation results
- Configuration recommendations
This helps you:
- Catch configuration errors before pushing
- Learn CircleCI configuration best practices
- Troubleshoot configuration issues
- Implement CircleCI features correctly
- Validate CircleCI Config:
-
create_prompt_template
Helps generate structured prompt templates for AI-enabled applications based on feature requirements. This tool:
- Converts Feature Requirements to Structured Prompts:
- Transforms user requirements into optimized prompt templates
- Example: "Create a prompt template for generating bedtime stories by age and topic"
The tool provides:
- A structured prompt template
- A context schema defining required input parameters
This helps you:
- Create effective prompts for AI applications
- Standardize input parameters for consistent results
- Build robust AI-powered features
- Converts Feature Requirements to Structured Prompts:
-
recommend_prompt_template_tests
Generates test cases for prompt templates to ensure they produce expected results. This tool:
- Provides Test Cases for Prompt Templates:
- Creates diverse test scenarios based on your prompt template and context schema
- Example: "Generate tests for my bedtime story prompt template"
The tool provides:
- An array of recommended test cases
- Various parameter combinations to test template robustness
This helps you:
- Validate prompt template functionality
- Ensure consistent AI responses across inputs
- Identify edge cases and potential issues
- Improve overall AI application quality
- Provides Test Cases for Prompt Templates:
-
list_followed_projects
Lists all projects that the user is following on CircleCI. This tool:
- Retrieves and Displays Projects:
- Shows all projects the user has access to and is following
- Provides the project name and projectSlug for each entry
- Example: "List my CircleCI projects"
The tool returns a formatted list of projects, example output:
Projects followed: 1. my-project (projectSlug: gh/organization/my-project) 2. another-project (projectSlug: gh/organization/another-project)
This is particularly useful for:
- Identifying which CircleCI projects are available to you
- Obtaining the projectSlug needed for other CircleCI tools
- Selecting a project for subsequent operations
Note: The projectSlug (not the project name) is required for many other CircleCI tools, and will be used for those tool calls after a project is selected.
- Retrieves and Displays Projects:
-
run_pipeline
Triggers a pipeline to run. This tool can be used in three ways:
-
Using Project Slug and Branch (Recommended Workflow):
- First, list your available projects:
- Use the list_followed_projects tool to get your projects
- Example: "List my CircleCI projects"
- Then choose the project, which has a projectSlug associated with it
- Example: "Lets use my-project"
- Then ask to run the pipeline for a specific branch:
- Example: "Run the pipeline for my-project on the main branch"
- First, list your available projects:
-
Using CircleCI URL:
- Provide a CircleCI URL in any of these formats:
- Job URL: "https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def/jobs/789"
- Workflow URL: "https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def"
- Pipeline URL: "https://app.circleci.com/pipelines/github/org/repo/123"
- Project URL with branch: "https://app.circleci.com/projects/github/org/repo?branch=main"
- Example: "Run the pipeline for https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def"
- Provide a CircleCI URL in any of these formats:
-
Using Local Project Context:
- Works from your local workspace by providing:
- Workspace root path
- Git remote URL
- Branch name
- Example: "Run the pipeline for my current project on the main branch"
- Works from your local workspace by providing:
The tool returns a link to monitor the pipeline execution.
This is particularly useful for:
- Quickly running pipelines without visiting the CircleCI web UI
- Running pipelines from a specific branch
-
-
run_rollback_pipeline
Run a rollback pipeline for a CircleCI project. This tool guides you through the full rollback process, adapting to the information you provide and prompting for any missing details.
Initial Step:
-
First, call the
list_followed_projects
tool to retrieve the list of projects the user follows. -
Then, ask the user to select a project by providing either a
projectID
or the exactprojectSlug
as returned bylist_followed_projects
.Typical Flow:
- Start: User initiates a rollback request.
- Project Selection: If a `projectSlug` or `projectID` is not provided, call `listFollowedProjects` and prompt the user to select a project using the exact value returned.
- Execute the tool and list the versions.
- Workflow Rerun:
- Inform the user of the fact that no rollback pipeline is defined for this project.
- Ask the user if they want to rerun a workflow.
- If the user wants to rerun a workflow, execute the tool with rollback_type set to `WORKFLOW_RERUN`. Do not propose to choose another project.
- Component Selection:
- If the project has multiple components, present up to 20 options for the user to choose from.
- If there is only one component, proceed automatically and do not ask the user to select a component.
- Environment Selection:
- If the project has multiple environments, present up to 20 options for the user to choose from.
- If there is only one environment, proceed automatically and do not ask the user to select an environment.
- Version Selection:
- Present the user with available versions to rollback to, based on the selected environment and component. Include the namespace for each version.
- Ask for both the current deployed version and the target version to rollback to.
- Optional Details:
- If the rollback type is `PIPELINE`, prompt the user for an optional reason for the rollback (e.g., "Critical bug fix").
- If the rollback type is `WORKFLOW_RERUN`, provide the workflow ID of the selected version to the tool.
- provide the namespace for the selected version to the tool.
- Confirmation:
- Summarize the rollback request and confirm with the user before submitting.
Returns:
- On success: The rollback ID or a confirmation in case of workflow rerun.
- On error: A clear message describing what is missing or what went wrong.
-
-
rerun_workflow
Reruns a workflow from its start or from the failed job.
The tool returns the ID of the newly-created workflow, and a link to monitor the new workflow.
This is particularly useful for:
- Quickly rerunning a workflow from its start or from the failed job without visiting the CircleCI web UI
-
analyze_diff
Analyzes git diffs against cursor rules to identify rule violations.
This tool can be used by providing:
-
Git Diff Content:
- Staged changes:
git diff --cached
- Unstaged changes:
git diff
- All changes:
git diff HEAD
- Example: "Analyze my staged changes against the cursor rules"
- Staged changes:
-
Repository Rules:
- Rules from
.cursorrules
file in your repository root - Rules from
.cursor/rules
directory - Multiple rule files combined with
---
separator - Example: "Check my diff against the TypeScript coding standards"
- Rules from
The tool provides:
- Detailed violation reports with confidence scores
- Specific explanations for each rule violation
Example usage scenarios:
- "Analyze my staged changes for any rule violations"
- "Check my unstaged changes against rules"
This is particularly useful for:
- Pre-commit code quality checks
- Ensuring consistency with team coding standards
- Catching rule violations before code review
The tool integrates with your existing cursor rules setup and provides immediate feedback on code quality, helping you catch issues early in the development process.
-
Development
Getting Started
-
Clone the repository:
git clone https://github.com/CircleCI-Public/mcp-server-circleci.git cd mcp-server-circleci
-
Install dependencies:
pnpm install
-
Build the project:
pnpm build
Building Docker Container
You can build the Docker container locally using:
docker build -t circleci:mcp-server-circleci .
This will create a Docker image tagged as circleci:mcp-server-circleci
that you can use with any MCP client.
To run the container locally:
docker run --rm -i -e CIRCLECI_TOKEN=your-circleci-token -e CIRCLECI_BASE_URL=https://circleci.com circleci:mcp-server-circleci
To run the container as a self-managed remote MCP server you need to add the environment variable start=remote
to the docker run command. You can also define the port to use with the environment variable port=<port>
or else the default port 8000
will be used:
docker run --rm -i -e CIRCLECI_TOKEN=your-circleci-token -e CIRCLECI_BASE_URL=https://circleci.com circleci:mcp-server-circleci -e start=remote -e port=8000
Development with MCP Inspector
The easiest way to iterate on the MCP Server is using the MCP inspector. You can learn more about the MCP inspector at https://modelcontextprotocol.io/docs/tools/inspector
-
Start the development server:
pnpm watch # Keep this running in one terminal
-
In a separate terminal, launch the inspector:
pnpm inspector
-
Configure the environment:
- Add your
CIRCLECI_TOKEN
to the Environment Variables section in the inspector UI - The token needs read access to your CircleCI projects
- Optionally you can set your CircleCI Base URL. Defaults to
https//circleci.com
- Add your
Testing
-
Run the test suite:
pnpm test
-
Run tests in watch mode during development:
pnpm test:watch
For more detailed contribution guidelines, see CONTRIBUTING.md
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.