Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
BuildPulse for AI agents: CI runner usage, cost and savings, plus flaky tests, failures, coverage.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
BUILDPULSE_TOKEN, PLATFORM_API_URL, Authorization「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"buildpulse": {
"command": "npx",
"args": [
"-y",
"@buildpulse/mcp"
],
"env": {
"BUILDPULSE_TOKEN": "your-value",
"PLATFORM_API_URL": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add --transport http buildpulse https://mcp.buildpulse.io/mcp --header 'Authorization: your-value'claude mcp add buildpulse --env BUILDPULSE_TOKEN=your-value --env PLATFORM_API_URL=your-value -- npx -y @buildpulse/mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"buildpulse": {
"url": "https://mcp.buildpulse.io/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"buildpulse": {
"command": "npx",
"args": [
"-y",
"@buildpulse/mcp"
],
"env": {
"BUILDPULSE_TOKEN": "your-value",
"PLATFORM_API_URL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"buildpulse": {
"type": "http",
"url": "https://mcp.buildpulse.io/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"buildpulse": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@buildpulse/mcp"
],
"env": {
"BUILDPULSE_TOKEN": "your-value",
"PLATFORM_API_URL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
PLATFORM_API_URL envAuthorization 秘密 必須 HTTP headerこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーは、ツール一覧を表示する前にサインインを求めます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント BuildPulseLLC で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
696ミリ秒で応答(HTTP 401)
OAuthでのサインインに対応しているため、AIアプリがログイン画面へ案内してくれます
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:BUILDPULSE_TOKEN, Authorization
どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.0)がレジストリに届いたのは一昨日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Tethered Trust
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Model Context Protocol server for BuildPulse:
faster, cheaper CI runners for GitHub Actions, CircleCI and Semaphore,
with Test Intelligence built in. Read runner usage, cost and savings,
find out whether an organization is on BuildPulse runners yet, and
surface flaky tests, CI run history, failures and coverage in Claude,
Cursor, ChatGPT, Cline, Windsurf, Continue, Zed, VS Code Copilot, and
any other MCP-aware AI agent.
BuildPulse runners finish jobs about twice as fast at half the cost of the provider's hosted runners ($0.004 a minute on x64 2 vCPU). Every organization gets 3,000 free minutes a month, no card required, and Test Intelligence (flaky-test detection, coverage, CI metrics) is included with every minute. An organization that has not activated runners can be pointed at https://buildpulse.io/organizations/{orgId}/runners/setup; the estimate_runner_savings prompt works out what they would save.
Hosted (recommended) — nothing to install, no API token. Your client opens a browser and you sign in with your BuildPulse account (Google, GitHub, Bitbucket, Apple, or email):
claude mcp add --transport http buildpulse https://mcp.buildpulse.io/mcp
Claude.ai, ChatGPT, Cursor, VS Code: add https://mcp.buildpulse.io/mcp as an HTTP/remote MCP server and complete the sign-in when prompted.
Local stdio — for clients that only spawn a process, or for scripts and CI where a browser sign-in is not possible. This path needs an API token:
BUILDPULSE_TOKEN=bp_... npx -y @buildpulse/mcp
See Authentication for where tokens come from and when you need one.
web-client? Show me the failing tests from the last run."platform-api have been flakiest this week, and where do they fail?"agents? Give me flakiness and coverage."api?"frontend and tell me which to quarantine first."npx -y @buildpulse/mcp
Or pin globally:
npm install -g @buildpulse/mcp
The package downloads the matching native binary for your platform on first install. Supported platforms: macOS arm64/x64, Linux arm64/x64, Windows x64.
There are two ways to authenticate, and most people only need the first.
| How you sign in | Needs an API token? | Use it for | |
|---|---|---|---|
Hosted SSO (https://mcp.buildpulse.io/mcp) | OAuth 2.1: your client opens the BuildPulse login (Google, GitHub, Bitbucket, Apple, or email) and stores a session for you | No | Claude Code, Claude.ai, ChatGPT, Cursor, VS Code, and any client that supports remote MCP servers with OAuth |
| API token | BUILDPULSE_TOKEN=bp_... for stdio, or an Authorization: Bearer bp_... header against the hosted URL | Yes | Local npx stdio, clients without OAuth support, scripts and CI |
Get a token at https://buildpulse.io → Organization Settings → API Tokens. Tokens look like bp_<64 hex chars>; the older 40-character hex tokens still work. A token grants access to the same organizations your account does.
Hosted snippets sign you in via SSO. Stdio snippets need BUILDPULSE_TOKEN; replace bp_... with your token.
Hosted (SSO, no token):
claude mcp add --transport http buildpulse https://mcp.buildpulse.io/mcp
Stdio (token):
claude mcp add buildpulse -e BUILDPULSE_TOKEN=bp_... -- npx -y @buildpulse/mcp
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "buildpulse": { "command": "npx", "args": ["-y", "@buildpulse/mcp"], "env": { "BUILDPULSE_TOKEN": "bp_..." } } } }
.cursor/mcp.json (per-project) or ~/.cursor/mcp.json (global). Hosted with SSO (Cursor prompts you to sign in the first time):
{
"mcpServers": { "buildpulse": { "url": "https://mcp.buildpulse.io/mcp" } } }
To use a token instead of signing in, add "headers": { "Authorization": "Bearer bp_..." }. For stdio, use the command / args / env shape from the Claude Desktop snippet.
.vscode/mcp.json. Hosted with SSO (VS Code opens the sign-in when the server first starts):
{
"servers": { "buildpulse": { "type": "http", "url": "https://mcp.buildpulse.io/mcp" } } }
To use a token instead, add "headers": { "Authorization": "Bearer bp_..." }. For stdio, use "type": "stdio" with the command / args / env fields from the Claude Desktop snippet.
~/.codeium/windsurf/mcp_config.json — same mcpServers block as Claude Desktop.
Cline → MCP Servers → Configure → paste the same mcpServers block into cline_mcp_settings.json.
ChatGPT → Settings → Connectors → Create → URL https://mcp.buildpulse.io/mcp. ChatGPT completes the SSO sign-in; no token to paste.
Settings → Connectors → Add custom connector → URL https://mcp.buildpulse.io/mcp. Sign in when prompted; no token.
Continue, Zed, and anything else MCP-aware takes the same command / args / env fields. See the install hub for copy-paste snippets per client.
Your BuildPulse token may grant access to more than one organization. Every repo-scoped tool takes an optional organization_id argument (the org's id UUID, discoverable via list_my_organizations):
organization_id. It auto-defaults to your one organization. Nothing changes; you never need to think about orgs.list_my_organizations returns 2+ orgs) — you must pass organization_id on every org- or repo-scoped call (get_runner_status, get_runner_usage, get_runner_configs, list_repositories, find_flaky_tests, get_test_history, list_recent_submissions, get_submission_test_results, get_recent_failures, get_repo_flakiness, get_repo_coverage). The org is not auto-selected — omitting it returns an error that lists every accessible organization and its UUID, so the agent can pick the right one and retry. Call list_my_organizations first to enumerate them.This avoids silently querying the wrong (often empty) organization and getting confusingly empty results.
| Tool | Purpose |
|---|---|
get_runner_status | Whether the organization has activated BuildPulse runners, its billing mode, and when it has not, how_to_start (3,000 free minutes a month) with the setup URL. |
get_runner_usage | Runner jobs, billable minutes, cost before and after free minutes, p50/p90 job duration, queue wait, and the same minutes at GitHub list price with savings_percent, per size and provider; days 1-90 (default 30). The pricing block carries the rate card. |
get_runner_configs | The runner sizes and runs-on labels (or CircleCI resource class / Semaphore agent type) the organization has configured. |
list_my_organizations | Enumerate the organizations this token can access; get the id (UUID) to pass as organization_id. |
list_repositories | List repositories in an organization. |
find_flaky_tests | Search a repository's flaky test inventory; filter by tags, recency, free-text. |
get_test_history | Recent disruption events for a specific test. |
list_recent_submissions | Recent test-result submissions (CI runs) for a repository. |
get_submission_test_results | Per-test results for one submission (one CI run). |
get_recent_failures | Tests that failed across the most recent submissions, aggregated by test identity. |
get_repo_flakiness | Current flakiness % over the last 14 days. -1 means no recent results. |
get_repo_coverage | Current coverage % from the latest uploaded report. -1 means no report. |
Runner tools are organization-scoped (no repository argument). Every org- or repo-scoped tool accepts an organization_id argument, required for multi-org sessions and optional (auto-defaulted) for single-org tokens. See Organizations above.
Every output that names a test or repo includes a web_url deep-link back to the BuildPulse web app — the same polish Sentry / Atlassian use in their MCP responses.
The server also ships five guided prompts (slash-pickable in clients that support them):
/estimate_runner_savings: fetches runner status; with no tenant, estimates CI minutes from recent runs and prices them at BuildPulse versus GitHub list rate (every price read from the API's pricing block), then points at the setup URL; with a tenant, summarises the last 30 days of usage and savings./triage_flaky_tests/ci_health_check/explain_test_failure/whats_red| Transport | Binary | Where it goes |
|---|---|---|
| stdio | cmd/mcp | npm → npx -y @buildpulse/mcp |
| Streamable HTTP | cmd/mcp-remote | hosted at https://mcp.buildpulse.io/mcp |
Same tool surface; same prompts; same resources. Pick whichever your client supports. The stdio path is universal; the hosted variant is the path to Claude.ai web and ChatGPT, and authenticates with OAuth 2.1 SSO by default (PKCE + dynamic client registration; discovery at /.well-known/oauth-authorization-server) or a Bearer API token. The hosted server also publishes a landing page, robots.txt, sitemap.xml, and llms.txt on the bare host.
The server exposes two MCP resource templates so agents can pull state into context without a tool call:
buildpulse://repos/{repo}/flaky-testsbuildpulse://repos/{owner}/{name}/submissions| Variable | Required | Default |
|---|---|---|
BUILDPULSE_TOKEN | stdio only (hosted uses SSO) | — |
PLATFORM_API_URL | no | https://platform.buildpulse.io |
The hosted server (mcp-remote) will refuse to start unless PLATFORM_API_URL is production or development Platform API. Local stdio (npx @buildpulse/mcp) is unchanged. See SECURITY.md for the threat model, tenant isolation, P1 rate limits (120 tool calls / token / minute), the tool audit log, RFC 7009 /oauth/revoke, and what we deliberately do not gate (HITL on reads, hiding tools, killing multi-step triage).
git clone https://github.com/BuildPulseLLC/buildpulse-m冒頭だけを表示しています。続きはリポジトリで読めます