关于 CircleCI MCP Server
CircleCI MCP Server 让编码助手及其他 MCP 客户端通过自然语言查看 CircleCI 构建失败和测试历史,支持本地或自托管远程部署。
主要功能
- 01获取详细的构建失败日志
- 02根据执行历史查找不稳定测试
- 03通过项目、分支、URL 或工作区定位
- 04支持本地运行和远程部署
适用场景
- 01调查分支上的失败流水线
- 02查看测试失败及执行详情
- 03识别 CircleCI 项目中的不稳定测试
MCP 相关
向 MCP 客户端提供 CircleCI 工具,包括构建日志获取和不稳定测试分析。使用时需要 CircleCI Personal API Token。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
CircleCI MCP 服务
Model Context Protocol(MCP)是一种新的标准化协议,用于管理大模型(LLM)与外部系统之间的上下文。本仓库提供了一个适用于 CircleCI 的 MCP 服务。
这样一来,你就可以使用 Cursor IDE、Windsurf、Copilot 或任何支持 MCP 的客户端,通过自然语言完成 CircleCI 相关操作,例如:
Find the latest failed pipeline on my branch and get logshttps://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
要求
使用 NPX 安装:
- pnpm 包管理器 - 了解详情
- Node.js >= v18.0.0
使用 Docker 安装:
- 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
在本地 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 构建中检索详细的失败日志。此工具可通过以下三种方式使用:
-
使用 Project Slug 和分支(推荐工作流):
- 首先,列出可用项目:
- 使用 list_followed_projects 工具获取项目
- 示例:“列出我的 CircleCI 项目”
- 然后选择一个项目,该项目关联有 projectSlug
- 示例:“使用 my-project”
- 然后请求检索特定分支的构建失败日志:
- 示例:“获取 my-project 在 main 分支上的构建失败信息”
- 首先,列出可用项目:
-
使用 CircleCI URL:
- 直接提供失败作业 URL 或流水线 URL
- 示例:“从 https://app.circleci.com/pipelines/github/org/repo/123 获取日志”
-
使用本地项目上下文:
- 在本地工作区中提供以下信息即可使用:
- 工作区根路径
- Git 远程 URL
- 分支名称
- 示例:“查找我当前分支上最新的失败流水线”
- 在本地工作区中提供以下信息即可使用:
该工具会返回格式化日志,包括:
- 作业名称
- 分步执行详情
- 失败消息和上下文
这对于以下情况尤其有用:
- 调试失败的构建
- 分析测试失败
- 调查部署问题
- 无需离开 IDE 即可快速访问构建日志
-
-
find_flaky_tests通过分析测试执行历史,识别 CircleCI 项目中的不稳定测试。此功能使用了此处介绍的不稳定测试检测功能:https://circleci.com/blog/introducing-test-insights-with-flaky-test-detection/#flaky-test-detection
此工具可通过以下三种方式使用:
-
使用 Project Slug(推荐工作流):
- 首先,列出可用项目:
- 使用 list_followed_projects 工具获取项目
- 示例:“列出我的 CircleCI 项目”
- 然后选择一个项目,该项目关联有 projectSlug
- 示例:“使用 my-project”
- 然后请求检索不稳定测试:
- 示例:“获取 my-project 的不稳定测试”
- 首先,列出可用项目:
-
使用 CircleCI 项目 URL:
- 直接提供 CircleCI 中的项目 URL
- 示例:“查找 https://app.circleci.com/pipelines/github/org/repo 中的不稳定测试”
-
使用本地项目上下文:
- 在本地工作区中提供以下信息即可使用:
- 工作区根路径
- Git 远程 URL
- 示例:“查找我当前项目中的不稳定测试”
- 在本地工作区中提供以下信息即可使用:
该工具可通过以下两种方式使用:
- 使用文本输出模式(默认):
- 以文本格式返回不稳定测试及其详细信息
- 使用文件输出模式:(需要设置
FILE_OUTPUT_DIRECTORY环境变量)- 创建一个包含不稳定测试及其详细信息的目录
该工具会返回不稳定测试的详细信息,包括:
- 测试名称和文件位置
- 失败消息和上下文
这有助于你:
- 识别测试套件中的不稳定测试
- 获取有关测试失败的详细上下文
- 基于数据做出改进测试的决策
-
-
get_latest_pipeline_status获取指定分支最新流水线的状态。此工具有三种使用方式:
-
使用项目 Slug 和分支(推荐工作流):
- 首先,列出可用项目:
- 使用 list_followed_projects 工具获取你的项目
- 示例:“列出我的 CircleCI 项目”
- 然后选择一个项目,该项目关联有 projectSlug
- 示例:“我们使用 my-project”
- 然后请求获取指定分支的最新流水线状态:
- 示例:“获取 my-project 在 main 分支上的最新流水线状态”
- 首先,列出可用项目:
-
使用 CircleCI 项目 URL:
- 直接提供 CircleCI 项目 URL
- 示例:“获取 https://app.circleci.com/pipelines/github/org/repo 的最新流水线状态”
-
使用本地项目信息:
- 在本地工作区中使用,需提供:
- 工作区根路径
- 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 即可分析测试结果。此工具有三种使用方式:
-
使用项目 Slug 和分支(推荐工作流):
- 首先,列出可用项目:
- 使用 list_followed_projects 工具获取你的项目
- 示例:“列出我的 CircleCI 项目”
- 然后选择一个项目,该项目关联有 projectSlug
- 示例:“我们使用 my-project”
- 然后请求获取指定分支的测试结果:
- 示例:“获取 my-project 在 main 分支上的测试结果”
- 首先,列出可用项目:
-
使用 CircleCI URL:
- 提供以下任一格式的 CircleCI URL:
- 示例:“获取 https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def 的测试结果”
-
使用本地项目信息:
- 在本地工作区中使用,需提供:
- 工作区根路径
- Git 远程 URL
- 分支名称
- 示例:“获取我当前项目在 main 分支上的测试结果”
- 在本地工作区中使用,需提供:
此工具会返回详细的测试结果信息:
- 所有测试的摘要(总数、成功数、失败数)
- 失败测试的详细信息,包括:
- 测试名称和类
- 文件位置
- 错误消息
- 运行时长
- 成功测试列表及其耗时信息
- 按测试结果筛选
以下场景尤其适用:
- 无需访问 CircleCI 网页界面即可快速分析测试失败
- 识别测试失败中的模式
- 找出可能需要优化的耗时测试
- 检查项目的测试覆盖率
- 排查不稳定测试
注意:此工具要求在 CircleCI 配置中正确设置测试元数据。有关如何设置测试元数据收集的更多信息,请参阅: https://circleci.com/docs/collect-test-data/
-
-
config_helper通过提供指导和验证,协助完成 CircleCI 配置任务。此工具可帮助你:- 验证 CircleCI 配置:
- 检查你的 .circleci/config.yml 是否存在语法和语义错误
- 示例:“验证我的 CircleCI 配置”
此工具会提供:
- 详细的验证结果
- 配置建议
这有助于你:
- 在推送前发现配置错误
- 学习 CircleCI 配置最佳实践
- 排查配置问题
- 正确实现 CircleCI 功能
- 验证 CircleCI 配置:
-
create_prompt_template根据功能需求,为启用 AI 的应用生成结构化提示词模板。此工具:
- 将功能需求转换为结构化提示词:
- 将用户需求转换为经过优化的提示词模板
- 示例:“创建一个提示词模板,根据年龄和主题生成睡前故事”
此工具会提供:
- 结构化提示词模板
- 定义必需输入参数的上下文架构
这有助于你:
- 为 AI 应用创建有效的提示词
- 标准化输入参数,确保结果一致
- 构建稳健的 AI 驱动功能
- 将功能需求转换为结构化提示词:
-
recommend_prompt_template_tests为提示词模板生成测试用例,确保其产生预期结果。此工具:
- 为提示词模板提供测试用例:
- 根据你的提示词模板和上下文架构创建多样化的测试场景
- 示例:“为我的睡前故事提示词模板生成测试用例”
此工具会提供:
- 推荐测试用例数组
- 用于测试模板稳健性的各种参数组合
这有助于你:
- 验证提示词模板功能
- 确保不同输入下的 AI 响应一致
- 发现边缘情况和潜在问题
- 提升 AI 应用的整体质量
- 为提示词模板提供测试用例:
-
list_followed_projects列出用户在 CircleCI 上关注的所有项目。此工具:
- 检索并显示项目:
- 显示用户有权访问并关注的所有项目
- 为每个条目提供项目名称和 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触发流水线运行。此工具有三种使用方式:
-
使用项目 Slug 和分支(推荐工作流):
- 首先,列出可用项目:
- 使用 list_followed_projects 工具获取项目
- 示例:“列出我的 CircleCI 项目”
- 然后选择一个项目,该项目会关联一个 projectSlug
- 示例:“我们使用 my-project”
- 然后请求运行指定分支的流水线:
- 示例:“运行 my-project 的 main 分支流水线”
- 首先,列出可用项目:
-
使用 CircleCI URL:
- 提供以下任一格式的 CircleCI URL:
- 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”
- 带分支的项目 URL:“https://app.circleci.com/projects/github/org/repo?branch=main”
- 示例:“运行 https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def 的流水线”
- 提供以下任一格式的 CircleCI URL:
-
使用本地项目上下文:
- 提供以下信息,即可在本地工作区中运行:
- 工作区根路径
- Git 远程 URL
- 分支名称
- 示例:“为我当前的项目运行 main 分支流水线” 该工具会返回一个链接,用于监控流水线执行情况。
- 提供以下信息,即可在本地工作区中运行:
以下场景尤其适用:
- 无需访问 CircleCI 网页界面,即可快速运行流水线
- 从指定分支运行流水线
-
-
rerun_workflow从头开始或从失败的作业重新运行工作流。
该工具会返回新建工作流的 ID,以及监控新工作流的链接。
以下场景尤其适用:
- 无需访问 CircleCI 网页界面,即可从头开始或从失败的作业快速重新运行工作流
-
analyze_diff根据 cursor 规则分析 git 差异,以识别违规情况。
可通过提供以下内容来使用此工具:
-
Git 差异内容:
- 已暂存的更改:
git diff --cached - 未暂存的更改:
git diff - 所有更改:
git diff HEAD - 示例:“根据 cursor 规则分析我暂存的更改”
- 已暂存的更改:
-
仓库规则:
- 仓库根目录下
.cursorrules文件中的规则 .cursor/rules目录中的规则- 使用
---分隔符合并多个规则文件 - 示例:“根据 TypeScript 编码规范检查我的差异”
- 仓库根目录下
该工具会提供:
- 包含置信度评分的详细违规报告
- 对每条规则违规情况的具体说明
使用场景示例:
- “分析我暂存的更改,检查是否存在违规”
- “根据规则检查我未暂存的更改”
以下场景尤其适用:
- 提交前的代码质量检查
- 确保符合团队编码规范
- 在代码审查前发现规则违规
该工具可与现有的 cursor 规则配置集成,并即时反馈代码质量,帮助你在开发过程中尽早发现问题。
-
开发
开始使用
-
克隆仓库:
git clone https://github.com/CircleCI-Public/mcp-server-circleci.git cd mcp-server-circleci -
安装依赖项:
pnpm install -
构建项目:
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 的更多信息。
-
启动开发服务器:
pnpm watch # Keep this running in one terminal -
在另一个终端中启动 inspector:
pnpm inspector -
配置环境:
- 在 inspector UI 的 Environment Variables 部分添加你的
CIRCLECI_TOKEN - 该令牌需要对你的 CircleCI 项目拥有读取权限
- 你也可以选择设置 CircleCI Base URL。默认值为
https//circleci.com
- 在 inspector UI 的 Environment Variables 部分添加你的
测试
-
运行测试套件:
pnpm test -
在开发过程中以监视模式运行测试:
pnpm test:watch
如需了解更详细的贡献指南,请参阅 CONTRIBUTING.md
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。