mcpField
C
CircleCI MCP Server

CircleCI MCP Server

本地服务
github.com/mikeysrecipes云与基础设施066 周前更新

关于 CircleCI MCP Server

CircleCI MCP Server 让编码助手及其他 MCP 客户端通过自然语言查看 CircleCI 构建失败和测试历史,支持本地或自托管远程部署。

主要功能

  1. 01获取详细的构建失败日志
  2. 02根据执行历史查找不稳定测试
  3. 03通过项目、分支、URL 或工作区定位
  4. 04支持本地运行和远程部署

适用场景

  1. 01调查分支上的失败流水线
  2. 02查看测试失败及执行详情
  3. 03识别 CircleCI 项目中的不稳定测试

MCP 相关

向 MCP 客户端提供 CircleCI 工具,包括构建日志获取和不稳定测试分析。使用时需要 CircleCI Personal API Token。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"circleci-mikeysrecipes": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

CircleCI MCP 服务

GitHub CircleCI npm

Model Context Protocol(MCP)是一种新的标准化协议,用于管理大模型(LLM)与外部系统之间的上下文。本仓库提供了一个适用于 CircleCI 的 MCP 服务。

这样一来,你就可以使用 Cursor IDE、Windsurf、Copilot 或任何支持 MCP 的客户端,通过自然语言完成 CircleCI 相关操作,例如:

https://github.com/user-attachments/assets/3c765985-8827-442a-a8dc-5069e01edb74

要求

使用 NPX 安装:

使用 Docker 安装:

安装

Cursor
在本地 MCP 服务中使用 NPX

将以下内容添加到你的 Cursor MCP 配置中:

{
  "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
      }
    }
  }
}
在本地 MCP 服务中使用 Docker

将以下内容添加到你的 Cursor MCP 配置中:

{
  "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
      }
    }
  }
}
使用自管理的远程 MCP 服务

将以下内容添加到你的 Cursor MCP 配置中:

{
  "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:8080/sse"
    }
  }
}
VS Code
在本地 MCP 服务中使用 NPX

在 .vscode/mcp.json 中为 VS Code 安装 CircleCI MCP 服务:

{
  // 💡 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}"
      }
    }
  }
}
在本地 MCP 服务中使用 Docker

使用 Docker 在 .vscode/mcp.json 中为 VS Code 安装 CircleCI MCP 服务:

{
  // 💡 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}"
      }
    }
  }
}
使用自管理的远程 MCP 服务

使用自管理的远程 MCP 服务,在 .vscode/mcp.json 中为 VS Code 安装 CircleCI MCP 服务:

{
  "servers": {
    "circleci-mcp-server-remote": {
      "type": "sse",
      "url": "http://your-circleci-remote-mcp-server-endpoint:8080/sse"
    }
  }
}
Claude Desktop
在本地 MCP 服务中使用 NPX

将以下内容添加到你的 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
      }
    }
  }
}

查找此文件的位置:

macOS:~/Library/Application Support/Claude/claude_desktop_config.json

Windows:%APPDATA%\Claude\claude_desktop_config.json

Claude Desktop 设置

在本地 MCP 服务中使用 Docker

将以下内容添加到你的 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
      }
    }
  }
}

要查找或创建此文件,请先打开 Claude Desktop 设置。然后点击设置面板左侧栏中的“Developer”,再点击“Edit Config”。

这将在以下位置创建配置文件:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

有关在 Claude Desktop 中使用 MCP 服务的更多信息,请参阅以下指南: https://modelcontextprotocol.io/quickstart/user

使用自管理的远程 MCP 服务

先创建一个包装脚本

创建一个脚本文件,例如 'circleci-remote-mcp.sh':

#!/bin/bash
export CIRCLECI_TOKEN="your-circleci-token"
npx mcp-remote http://your-circleci-remote-mcp-server-endpoint:8080/sse --allow-http 

使其可执行:

chmod +x circleci-remote-mcp.sh

然后将以下内容添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "circleci-remote-mcp-server": {
      "command": "/full/path/to/circleci-remote-mcp.sh"
    }
  }
}

要查找或创建此文件,请先打开 Claude Desktop 设置。然后点击「设置」窗格左侧栏中的「Developer」,再点击「Edit Config」。

这将在以下位置创建一个配置文件:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

请参阅以下指南,了解如何在 Claude Desktop 中使用 MCP 服务: https://modelcontextprotocol.io/quickstart/user

Claude Code
在本地 MCP 服务中使用 NPX

安装 Claude Code 后,运行以下命令:

claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -- npx -y @circleci/mcp-server-circleci
在本地 MCP 服务中使用 Docker

安装 Claude Code 后,运行以下命令:

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

请参阅以下指南,了解如何在 Claude Code 中使用 MCP 服务: https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/tutorials#set-up-model-context-protocol-mcp

使用自管理的远程 MCP 服务

安装 Claude Code 后,运行以下命令:

claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -- npx mcp-remote http://your-circleci-remote-mcp-server-endpoint:8080/sse --allow-http

请参阅以下指南,了解如何在 Claude Code 中使用 MCP 服务: https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/tutorials#set-up-model-context-protocol-mcp

Windsurf
在本地 MCP 服务中使用 NPX

将以下内容添加到 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
      }
    }
  }
}
在本地 MCP 服务中使用 Docker

将以下内容添加到 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
      }
    }
  }
}
使用自管理的远程 MCP 服务

将以下内容添加到 Windsurf 的 mcp_config.json:

{
  "mcpServers": {
    "circleci": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://your-circleci-remote-mcp-server-endpoint:8080/sse",
        "--allow-http"
      ],
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

请参阅以下指南,了解如何在 Windsurf 中使用 MCP 服务: https://docs.windsurf.com/windsurf/mcp

通过 Smithery 安装

要通过 Smithery 自动为 Claude Desktop 安装 CircleCI MCP Server:

npx -y @smithery/cli install @CircleCI-Public/mcp-server-circleci --client claude
Amazon Q Developer CLI

Amazon Q Developer 中的 MCP 客户端配置以 JSON 格式存储在名为 mcp.json 的文件中。

Amazon Q Developer CLI 支持两个级别的 MCP 配置:

全局配置:~/.aws/amazonq/mcp.json - 适用于所有工作区

工作区配置:.amazonq/mcp.json - 仅适用于当前工作区

这两个文件都是可选的;可以都不存在、存在其中一个,或同时存在。如果两个文件都存在,Amazon Q Developer 会读取两者中的 MCP 配置并合并,取其内容的并集。如果存在冲突(即全局配置中定义的服务也出现在工作区配置中),系统会显示警告,并且仅使用工作区配置中的服务条目。

在本地 MCP 服务中使用 NPX

编辑全局配置文件 ~/.aws/amazonq/mcp.json,或在当前工作区中创建新的 .amazonq/mcp.json 文件,并添加以下内容:

{
  "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
    }
  }
}
使用自管理的远程 MCP 服务

先创建一个包装脚本

创建一个脚本文件,例如 'circleci-remote-mcp.sh':

#!/bin/bash
export CIRCLECI_TOKEN="your-circleci-token"
npx mcp-remote http://your-circleci-remote-mcp-server-endpoint:8080/sse --allow-http

使其可执行:

chmod +x circleci-remote-mcp.sh

然后添加:

q mcp add --name circleci --command "/full/path/to/circleci-remote-mcp.sh"
IDE 中的 Amazon Q Developer
在本地 MCP 服务中使用 NPX

编辑全局配置文件 ~/.aws/amazonq/mcp.json,或在当前工作区中创建新的 .amazonq/mcp.json 文件,并添加以下内容:

{
  "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
    }
  }
}
使用自托管的远程 MCP 服务

先创建包装脚本

创建一个脚本文件,例如 circleci-remote-mcp.sh:

#!/bin/bash
npx mcp-remote http://your-circleci-remote-mcp-server-endpoint:8080/sse --allow-http

将其设为可执行文件:

chmod +x circleci-remote-mcp.sh

然后将其添加到 IDE 中的 Q Developer:

访问 MCP 配置界面(https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/mcp-ide.html#mcp-ide-configuration-access-ui)。

选择加号(+)。

选择范围:全局或本地。

如果选择全局范围,MCP 服务配置将存储在 ~/.aws/amazonq/mcp.json 中,并可用于所有项目。如果选择本地范围,配置将存储在当前项目中的 .amazonq/mcp.json 内。

在 Name 字段中,输入 CircleCI 远程 MCP 服务的名称(例如,circleci-remote-mcp)。

选择传输协议(stdio)。

在 Command 字段中,输入之前创建的 shell 命令,MCP 服务将在初始化时运行该命令(例如,/full/path/to/circleci-remote-mcp.sh)。

点击 Save 按钮。

功能

支持的工具

  • get_build_failure_logs

    从 CircleCI 构建中检索详细的失败日志。此工具可通过以下三种方式使用:

    1. 使用 Project Slug 和分支(推荐工作流):

      • 首先,列出可用项目:
        • 使用 list_followed_projects 工具获取项目
        • 示例:“列出我的 CircleCI 项目”
        • 然后选择一个项目,该项目关联有 projectSlug
        • 示例:“使用 my-project”
      • 然后请求检索特定分支的构建失败日志:
        • 示例:“获取 my-project 在 main 分支上的构建失败信息”
    2. 使用 CircleCI URL:

    3. 使用本地项目上下文:

      • 在本地工作区中提供以下信息即可使用:
        • 工作区根路径
        • Git 远程 URL
        • 分支名称
      • 示例:“查找我当前分支上最新的失败流水线”

    该工具会返回格式化日志,包括:

    • 作业名称
    • 分步执行详情
    • 失败消息和上下文

    这对于以下情况尤其有用:

    • 调试失败的构建
    • 分析测试失败
    • 调查部署问题
    • 无需离开 IDE 即可快速访问构建日志
  • find_flaky_tests

    通过分析测试执行历史,识别 CircleCI 项目中的不稳定测试。此功能使用了此处介绍的不稳定测试检测功能:https://circleci.com/blog/introducing-test-insights-with-flaky-test-detection/#flaky-test-detection

    此工具可通过以下三种方式使用:

    1. 使用 Project Slug(推荐工作流):

      • 首先,列出可用项目:
        • 使用 list_followed_projects 工具获取项目
        • 示例:“列出我的 CircleCI 项目”
        • 然后选择一个项目,该项目关联有 projectSlug
        • 示例:“使用 my-project”
      • 然后请求检索不稳定测试:
        • 示例:“获取 my-project 的不稳定测试”
    2. 使用 CircleCI 项目 URL:

    3. 使用本地项目上下文:

      • 在本地工作区中提供以下信息即可使用:
        • 工作区根路径
        • Git 远程 URL
      • 示例:“查找我当前项目中的不稳定测试”

    该工具可通过以下两种方式使用:

    1. 使用文本输出模式(默认):
      • 以文本格式返回不稳定测试及其详细信息
    2. 使用文件输出模式:(需要设置 FILE_OUTPUT_DIRECTORY 环境变量)
      • 创建一个包含不稳定测试及其详细信息的目录

    该工具会返回不稳定测试的详细信息,包括:

    • 测试名称和文件位置
    • 失败消息和上下文

    这有助于你:

    • 识别测试套件中的不稳定测试
    • 获取有关测试失败的详细上下文
    • 基于数据做出改进测试的决策
  • get_latest_pipeline_status

    获取指定分支最新流水线的状态。此工具有三种使用方式:

    1. 使用项目 Slug 和分支(推荐工作流):

      • 首先,列出可用项目:
        • 使用 list_followed_projects 工具获取你的项目
        • 示例:“列出我的 CircleCI 项目”
        • 然后选择一个项目,该项目关联有 projectSlug
        • 示例:“我们使用 my-project”
      • 然后请求获取指定分支的最新流水线状态:
        • 示例:“获取 my-project 在 main 分支上的最新流水线状态”
    2. 使用 CircleCI 项目 URL:

    3. 使用本地项目信息:

      • 在本地工作区中使用,需提供:
        • 工作区根路径
        • Git 远程 URL
        • 分支名称
      • 示例:“获取我当前项目的最新流水线状态”

    此工具会以格式化的形式返回最新流水线状态:

    • 工作流名称及其当前状态
    • 每个工作流的持续时间
    • 创建和完成时间戳
    • 流水线整体健康状况

    输出示例:

    ---
    Workflow: build
    Status: success
    Duration: 5 minutes
    Created: 4/20/2025, 10:15:30 AM
    Stopped: 4/20/2025, 10:20:45 AM
    ---
    Workflow: test
    Status: running
    Duration: unknown
    Created: 4/20/2025, 10:21:00 AM
    Stopped: in progress
    

    以下场景尤其适用:

    • 检查最新流水线的状态
    • 获取指定分支最新流水线的状态
    • 无需离开 IDE 即可快速检查最新流水线的状态
  • get_job_test_results

    获取 CircleCI 作业的测试元数据,让你无需离开 IDE 即可分析测试结果。此工具有三种使用方式:

    1. 使用项目 Slug 和分支(推荐工作流):

      • 首先,列出可用项目:
        • 使用 list_followed_projects 工具获取你的项目
        • 示例:“列出我的 CircleCI 项目”
        • 然后选择一个项目,该项目关联有 projectSlug
        • 示例:“我们使用 my-project”
      • 然后请求获取指定分支的测试结果:
        • 示例:“获取 my-project 在 main 分支上的测试结果”
    2. 使用 CircleCI URL:

    3. 使用本地项目信息:

      • 在本地工作区中使用,需提供:
        • 工作区根路径
        • Git 远程 URL
        • 分支名称
      • 示例:“获取我当前项目在 main 分支上的测试结果”

    此工具会返回详细的测试结果信息:

    • 所有测试的摘要(总数、成功数、失败数)
    • 失败测试的详细信息,包括:
      • 测试名称和类
      • 文件位置
      • 错误消息
      • 运行时长
    • 成功测试列表及其耗时信息
    • 按测试结果筛选

    以下场景尤其适用:

    • 无需访问 CircleCI 网页界面即可快速分析测试失败
    • 识别测试失败中的模式
    • 找出可能需要优化的耗时测试
    • 检查项目的测试覆盖率
    • 排查不稳定测试

    注意:此工具要求在 CircleCI 配置中正确设置测试元数据。有关如何设置测试元数据收集的更多信息,请参阅: https://circleci.com/docs/collect-test-data/

  • config_helper 通过提供指导和验证,协助完成 CircleCI 配置任务。此工具可帮助你:

    1. 验证 CircleCI 配置:
      • 检查你的 .circleci/config.yml 是否存在语法和语义错误
      • 示例:“验证我的 CircleCI 配置”

    此工具会提供:

    • 详细的验证结果
    • 配置建议

    这有助于你:

    • 在推送前发现配置错误
    • 学习 CircleCI 配置最佳实践
    • 排查配置问题
    • 正确实现 CircleCI 功能
  • create_prompt_template

    根据功能需求,为启用 AI 的应用生成结构化提示词模板。此工具:

    1. 将功能需求转换为结构化提示词:
      • 将用户需求转换为经过优化的提示词模板
      • 示例:“创建一个提示词模板,根据年龄和主题生成睡前故事”

    此工具会提供:

    • 结构化提示词模板
    • 定义必需输入参数的上下文架构

    这有助于你:

    • 为 AI 应用创建有效的提示词
    • 标准化输入参数,确保结果一致
    • 构建稳健的 AI 驱动功能
  • recommend_prompt_template_tests

    为提示词模板生成测试用例,确保其产生预期结果。此工具:

    1. 为提示词模板提供测试用例:
      • 根据你的提示词模板和上下文架构创建多样化的测试场景
      • 示例:“为我的睡前故事提示词模板生成测试用例”

    此工具会提供:

    • 推荐测试用例数组
    • 用于测试模板稳健性的各种参数组合

    这有助于你:

    • 验证提示词模板功能
    • 确保不同输入下的 AI 响应一致
    • 发现边缘情况和潜在问题
    • 提升 AI 应用的整体质量
  • list_followed_projects

    列出用户在 CircleCI 上关注的所有项目。此工具:

    1. 检索并显示项目:
      • 显示用户有权访问并关注的所有项目
      • 为每个条目提供项目名称和 projectSlug
      • 示例:“列出我的 CircleCI 项目”

    此工具会返回格式化的项目列表,输出示例:

    Projects followed:
    1. my-project (projectSlug: gh/organization/my-project)
    2. another-project (projectSlug: gh/organization/another-project)
    

    此工具特别适用于:

    • 确认你可以使用哪些 CircleCI 项目
    • 获取其他 CircleCI 工具所需的 projectSlug
    • 为后续操作选择项目

    注意:许多其他 CircleCI 工具需要的是 projectSlug(而非项目名称)。选择项目后,后续工具调用将使用此值。

  • run_pipeline

    触发流水线运行。此工具有三种使用方式:

    1. 使用项目 Slug 和分支(推荐工作流):

      • 首先,列出可用项目:
        • 使用 list_followed_projects 工具获取项目
        • 示例:“列出我的 CircleCI 项目”
        • 然后选择一个项目,该项目会关联一个 projectSlug
        • 示例:“我们使用 my-project”
      • 然后请求运行指定分支的流水线:
        • 示例:“运行 my-project 的 main 分支流水线”
    2. 使用 CircleCI URL:

    3. 使用本地项目上下文:

      • 提供以下信息,即可在本地工作区中运行:
        • 工作区根路径
        • Git 远程 URL
        • 分支名称
      • 示例:“为我当前的项目运行 main 分支流水线” 该工具会返回一个链接,用于监控流水线执行情况。

    以下场景尤其适用:

    • 无需访问 CircleCI 网页界面,即可快速运行流水线
    • 从指定分支运行流水线
  • rerun_workflow

    从头开始或从失败的作业重新运行工作流。

    该工具会返回新建工作流的 ID,以及监控新工作流的链接。

    以下场景尤其适用:

    • 无需访问 CircleCI 网页界面,即可从头开始或从失败的作业快速重新运行工作流
  • analyze_diff

    根据 cursor 规则分析 git 差异,以识别违规情况。

    可通过提供以下内容来使用此工具:

    1. Git 差异内容:

      • 已暂存的更改:git diff --cached
      • 未暂存的更改:git diff
      • 所有更改:git diff HEAD
      • 示例:“根据 cursor 规则分析我暂存的更改”
    2. 仓库规则:

      • 仓库根目录下 .cursorrules 文件中的规则
      • .cursor/rules 目录中的规则
      • 使用 --- 分隔符合并多个规则文件
      • 示例:“根据 TypeScript 编码规范检查我的差异”

    该工具会提供:

    • 包含置信度评分的详细违规报告
    • 对每条规则违规情况的具体说明

    使用场景示例:

    • “分析我暂存的更改,检查是否存在违规”
    • “根据规则检查我未暂存的更改”

    以下场景尤其适用:

    • 提交前的代码质量检查
    • 确保符合团队编码规范
    • 在代码审查前发现规则违规

    该工具可与现有的 cursor 规则配置集成,并即时反馈代码质量,帮助你在开发过程中尽早发现问题。

开发

开始使用

  1. 克隆仓库:

    git clone https://github.com/CircleCI-Public/mcp-server-circleci.git
    cd mcp-server-circleci
    
  2. 安装依赖项:

    pnpm install
    
  3. 构建项目:

    pnpm build
    

构建 Docker 容器

你可以使用以下命令在本地构建 Docker 容器:

docker build -t circleci:mcp-server-circleci .

这将创建一个标记为 circleci:mcp-server-circleci 的 Docker 镜像,你可以将其与任何 MCP 客户端配合使用。

运行容器:

docker run --rm -i -e CIRCLECI_TOKEN=your-circleci-token -e CIRCLECI_BASE_URL=https://circleci.com circleci:mcp-server-circleci

使用 MCP Inspector 进行开发

使用 MCP inspector 是迭代开发 MCP 服务最简单的方式。你可以在 https://modelcontextprotocol.io/docs/tools/inspector 了解有关 MCP inspector 的更多信息。

  1. 启动开发服务器:

    pnpm watch # Keep this running in one terminal
    
  2. 在另一个终端中启动 inspector:

    pnpm inspector
    
  3. 配置环境:

    • 在 inspector UI 的 Environment Variables 部分添加你的 CIRCLECI_TOKEN
    • 该令牌需要对你的 CircleCI 项目拥有读取权限
    • 你也可以选择设置 CircleCI Base URL。默认值为 https//circleci.com

测试

  • 运行测试套件:

    pnpm test
    
  • 在开发过程中以监视模式运行测试:

    pnpm test:watch
    

如需了解更详细的贡献指南,请参阅 CONTRIBUTING.md

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。