mcpField
B
BuildPulse

BuildPulse

远程服务
platform.buildpulse.io开发工具01 天前更新

关于 BuildPulse

BuildPulse 是 MCP 服务,供 AI Agent 和 MCP 客户端查询 BuildPulse 的 CI 测试分析。它通过托管或本地传输方式提供仓库级的易抖动测试、CI 运行、失败和覆盖率信息。

主要功能

  1. 01列出组织和代码仓库
  2. 02搜索易抖动测试清单
  3. 03查看测试及 CI 运行历史
  4. 04汇总近期测试失败
  5. 05检查仓库易抖动率和覆盖率
  6. 06打开 BuildPulse 结果链接

适用场景

  1. 01调查失败的 CI 运行
  2. 02查找反复出现的易抖动测试
  3. 03查看多次提交中的近期失败
  4. 04评估仓库的易抖动率和覆盖率

MCP 相关

向 MCP 客户端提供 BuildPulse 工具、引导提示词和资源模板。支持使用 OAuth 2.1 登录或令牌的托管 Streamable HTTP,也支持使用 API 令牌的本地 stdio。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.buildpulse.io/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.buildpulse.io/mcp需要授权
安装包
npm@buildpulse/mcp0.1.7

工具

详细介绍

buildpulse-mcp,来自 BuildPulse

运行于 BuildPulse

适用于 BuildPulse Platform API 的 Model Context Protocol 服务。在 Claude Desktop、Cursor、ChatGPT、Cline、Windsurf、Continue、Zed、 VS Code Copilot 以及其他任何兼容 MCP 的 AI Agent 中查看不稳定测试、CI 运行历史和覆盖率健康状况。

npm version npm downloads License: MIT MCP Registry Install on Smithery Docs

快速开始

托管版(推荐)——无需安装,也无需 API 令牌。客户端 会打开浏览器,你只需使用 BuildPulse 账户登录(Google、 GitHub、Bitbucket、Apple 或电子邮件):

claude mcp add --transport http buildpulse https://mcp.buildpulse.io/mcp

Claude.ai、ChatGPT、Cursor、VS Code:添加 https://mcp.buildpulse.io/mcp 作为 HTTP/远程 MCP 服务,并按提示完成登录。

本地 stdio——适用于只能启动进程的客户端,或无法通过浏览器 登录的脚本和 CI。此方式需要 API 令牌:

BUILDPULSE_TOKEN=bp_... npx -y @buildpulse/mcp

请参阅身份验证,了解令牌的获取方式以及 何时需要使用令牌。

试着这样提问

  • “为什么 web-client 的 CI 是红色的?显示上次运行中的失败测试。”
  • “这周 platform-api 中哪些测试最不稳定?它们在哪里失败?”
  • “agents 的测试覆盖得怎么样?给我不稳定性和覆盖率数据。”
  • “api 最近 10 次运行中,哪些测试失败过不止一次?”
  • “对 frontend 中的不稳定测试进行分类,并告诉我哪些应该优先隔离。”

安装

npx -y @buildpulse/mcp

或者进行全局固定安装:

npm install -g @buildpulse/mcp

安装时,软件包会下载与你的平台匹配的原生二进制文件。支持的平台:macOS arm64/x64、Linux arm64/x64、Windows x64。

身份验证

有两种身份验证方式,大多数人只需要第一种。

登录方式需要 API 令牌?适用场景
托管 SSO (https://mcp.buildpulse.io/mcp)OAuth 2.1:客户端会打开 BuildPulse 登录页面(Google、GitHub、Bitbucket、Apple 或电子邮件),并为你保存会话不需要Claude Code、Claude.ai、ChatGPT、Cursor、VS Code,以及任何支持通过 OAuth 使用远程 MCP 服务的客户端
API 令牌用于 stdio 的 BUILDPULSE_TOKEN=bp_...,或发送到托管 URL 的 Authorization: Bearer bp_... 标头需要本地 npx stdio、不支持 OAuth 的客户端、脚本和 CI

请前往 https://buildpulse.io → Organization Settings → API Tokens 获取令牌。令牌格式为 bp_<64 hex chars>;旧版 40 位 十六进制令牌仍然有效。令牌可访问与你账户相同的组织。

配置

托管版配置片段通过 SSO 登录。stdio 配置片段需要 BUILDPULSE_TOKEN;请将 bp_... 替换为你的令牌。

Claude Code

托管版(SSO,无需令牌):

claude mcp add --transport http buildpulse https://mcp.buildpulse.io/mcp

stdio(令牌):

claude mcp add buildpulse -e BUILDPULSE_TOKEN=bp_... -- npx -y @buildpulse/mcp
Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):

{
  "mcpServers": {
    "buildpulse": {
      "command": "npx",
      "args": ["-y", "@buildpulse/mcp"],
      "env": { "BUILDPULSE_TOKEN": "bp_..." }
    }
  }
}
Cursor

.cursor/mcp.json(每个项目)或 ~/.cursor/mcp.json(全局)。 通过 SSO 托管(Cursor 会在首次使用时提示你登录):

{
  "mcpServers": {
    "buildpulse": {
      "url": "https://mcp.buildpulse.io/mcp"
    }
  }
}

若要使用令牌而非登录,请添加 "headers": { "Authorization": "Bearer bp_..." }。对于 stdio,请使用 Claude Desktop 代码片段中的 command / args / env 结构。

VS Code(GitHub Copilot Agent 模式)

.vscode/mcp.json。通过 SSO 托管(服务首次启动时,VS Code 会打开登录界面):

{
  "servers": {
    "buildpulse": {
      "type": "http",
      "url": "https://mcp.buildpulse.io/mcp"
    }
  }
}

若要改用令牌,请添加 "headers": { "Authorization": "Bearer bp_..." }。 对于 stdio,请使用 "type": "stdio",以及 Claude Desktop 代码片段中的 command / args / env 字段。

Windsurf

~/.codeium/windsurf/mcp_config.json — 使用与 Claude Desktop 相同的 mcpServers 块。

Cline

Cline → MCP 服务 → 配置 → 将相同的 mcpServers 块粘贴到 cline_mcp_settings.json 中。

ChatGPT

ChatGPT → 设置 → 连接器 → 创建 → URL https://mcp.buildpulse.io/mcp。ChatGPT 会完成 SSO 登录; 无需粘贴令牌。

Claude.ai

设置 → 连接器 → 添加自定义连接器 → URL https://mcp.buildpulse.io/mcp。按提示登录;无需令牌。

其他客户端

Continue、Zed 以及其他所有兼容 MCP 的客户端都使用相同的 command / args / env 字段。请参阅 安装中心,查看各客户端可直接复制粘贴的代码片段。

组织(多租户)

你的 BuildPulse 令牌可能允许访问多个组织。 每个作用于仓库的工具都接受可选的 organization_id 参数(组织的 id UUID,可通过 list_my_organizations 查找):

  • 单组织令牌 — 省略 organization_id。系统会自动默认使用你唯一的组织。无需更改;你不必考虑组织问题。
  • 多组织会话(list_my_organizations 返回 2 个或更多组织)— 每次调用作用于仓库的工具时,必须传入 organization_id (list_repositories、find_flaky_tests、get_test_history、 list_recent_submissions、get_submission_test_results、 get_recent_failures、get_repo_flakiness、get_repo_coverage)。系统不会自动选择组织 — 省略该参数会返回一条错误,其中列出所有可访问的组织及其 UUID,以便 Agent 选择正确的组织并重试。请先调用 list_my_organizations 枚举组织。

这样可以避免系统悄悄查询错误的组织(通常是空组织),导致结果为空且令人困惑。

工具

工具用途
list_my_organizations枚举此令牌可访问的组织;获取要作为 organization_id 传入的 id(UUID)。
list_repositories列出组织中的仓库。
find_flaky_tests搜索仓库中的不稳定测试清单;可按标签、最近程度和自由文本筛选。
get_test_history查看特定测试最近的中断事件。
list_recent_submissions查看仓库最近提交的测试结果(CI 运行)。
get_submission_test_results查看一次提交(一次 CI 运行)中每个测试的结果。
get_recent_failures查看最近几次提交中失败的测试,并按测试标识聚合。
get_repo_flakiness查看过去 14 天的当前不稳定率。-1 表示没有近期结果。
get_repo_coverage查看最新上传报告中的当前覆盖率。-1 表示没有报告。

作用于仓库的工具接受 organization_id 参数 — 多组织会话中必填,单组织令牌中可选(会自动默认)。请参阅上文的 组织。

所有包含测试或仓库名称的输出都带有指向 BuildPulse Web 应用的 web_url 深层链接 — 与 Sentry / Atlassian 在其 MCP 响应中采用的做法一样精致。

提示词

此服务还提供四个引导式提示词(在支持此功能的客户端中可通过斜杠菜单选择):

  • /triage_flaky_tests
  • /ci_health_check
  • /explain_test_failure
  • /whats_red

两种传输方式

传输方式二进制文件运行位置
stdiocmd/mcpnpm → npx -y @buildpulse/mcp
Streamable HTTPcmd/mcp-remote托管于 https://mcp.buildpulse.io/mcp

工具接口相同;提示词相同;资源相同。请选择客户端支持的方式。stdio 方式通用;托管版本用于 Claude.ai 网页版和 ChatGPT,默认通过 OAuth 2.1 SSO 进行身份验证(PKCE + 动态客户端注册;发现端点为 /.well-known/oauth-authorization-server),也可使用 Bearer API 令牌。托管服务还会在主机根路径发布着陆页、robots.txt、sitemap.xml 和 llms.txt。

资源

该服务提供两个 MCP 资源模板,让 Agent 无需调用工具即可将状态载入上下文:

  • buildpulse://repos/{repo}/flaky-tests
  • buildpulse://repos/{owner}/{name}/submissions

环境变量

变量必需默认值
BUILDPULSE_TOKEN仅 stdio 需要(托管服务使用 SSO)—
PLATFORM_API_URL否https://platform.buildpulse.io

托管服务(mcp-remote)只有在 PLATFORM_API_URL 指向生产环境或开发环境的 Platform API 时才会启动。本地 stdio(npx @buildpulse/mcp)不变。有关威胁模型、租户隔离、P1 速率限制(每个令牌每分钟 120 次工具调用)、工具审计日志、RFC 7009 /oauth/revoke,以及我们有意不加以限制的内容(读取操作的 HITL、隐藏工具、终止多步分诊),请参阅 SECURITY.md。

从源代码构建

git clone https://github.com/BuildPulseLLC/buildpulse-mcp
cd buildpulse-mcp
go build -o ./bin/buildpulse-mcp ./cmd/mcp
go build -o ./bin/buildpulse-mcp-remote ./cmd/mcp-remote

需要 Go 1.26+(参见 go.mod)。

运行测试

go test -race ./...

有关开发工作流,请参阅 CONTRIBUTING.md;有关发布历史,请参阅 CHANGELOG.md。

许可证

MIT — 参见 LICENSE。

相关链接

评论

支持 Markdown

第一次接触 MCP?

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

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