BuildPulse について
BuildPulseは、AIエージェントやMCPクライアントからBuildPulseのCIテスト分析を照会するMCPサーバーです。ホスト型またはローカルのトランスポートで、リポジトリ単位の不安定なテスト、CI実行、失敗、カバレッジを確認できます。
主な機能
- 01組織とリポジトリの一覧表示
- 02不安定なテストの検索
- 03テストとCI実行履歴の確認
- 04最近のテスト失敗の集計
- 05リポジトリの不安定率とカバレッジ確認
- 06BuildPulse結果へのリンク表示
活用シーン
- 01失敗したCI実行の調査
- 02繰り返し発生する不安定なテストの特定
- 03複数の実行にまたがる最近の失敗確認
- 04リポジトリの不安定率とカバレッジの評価
MCP 対応
BuildPulseのツール、ガイド用プロンプト、リソーステンプレートをMCPクライアントに提供します。OAuth 2.1ログインまたはトークンを使うホスト型Streamable HTTPと、APIトークンを使うローカルstdioに対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.buildpulse.io/mcpclaude mcp add --transport http buildpulsellc-buildpulse https://mcp.buildpulse.io/mcp{"mcpServers":{"buildpulsellc-buildpulse":{"type":"http","url":"https://mcp.buildpulse.io/mcp"}}}Cursor で開く{"servers":{"buildpulsellc-buildpulse":{"type":"http","url":"https://mcp.buildpulse.io/mcp"}}}VS Code で開く{"mcpServers":{"buildpulsellc-buildpulse":{"type":"http","url":"https://mcp.buildpulse.io/mcp"}}}{"mcpServers":{"buildpulsellc-buildpulse":{"serverUrl":"https://mcp.buildpulse.io/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.buildpulse.io/mcp認証が必要ツール
詳細
BuildPulse Platform API 用の Model Context Protocol サーバーです。Claude Desktop、Cursor、ChatGPT、Cline、Windsurf、Continue、Zed、 VS Code Copilot、およびその他の MCP 対応 AI エージェントで、テストの不安定さ、CI の実行履歴、カバレッジの健全性を確認できます。
クイックスタート
ホスト型(推奨) — インストールも 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。
認証
認証方法は 2 種類ありますが、ほとんどの場合、必要なのは最初の方法だけです。
| サインイン方法 | 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 文字の
16 進数トークンも引き続き使用できます。トークンを使うと、アカウントと同じ組織に
アクセスできます。
設定
ホスト型の設定例では 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 エージェントモード)
.vscode/mcp.json。SSO でホストされます(サーバーの初回起動時に
VS Code からサインイン画面が開きます)。
{
"servers": {
"buildpulse": {
"type": "http",
"url": "https://mcp.buildpulse.io/mcp"
}
}
}
代わりにトークンを使うには、"headers": { "Authorization": "Bearer bp_..." } を追加します。
stdio の場合は、Claude Desktop のスニペットにある command / args / env
フィールドを使い、"type": "stdio" を指定します。
Windsurf
~/.codeium/windsurf/mcp_config.json — Claude Desktop と同じ mcpServers ブロックを使用します。
Cline
Cline → MCP Servers → Configure → 同じ mcpServers ブロックを
cline_mcp_settings.json に貼り付けます。
ChatGPT
ChatGPT → Settings → Connectors → Create → URL
https://mcp.buildpulse.io/mcp。ChatGPT が SSO サインインを完了するため、
貼り付けるトークンは不要です。
Claude.ai
Settings → Connectors → Add custom connector → URL
https://mcp.buildpulse.io/mcp。求められたらサインインします。トークンは不要です。
その他のクライアント
Continue、Zed など、MCP に対応するクライアントでは、同じ
command / args / env フィールドを使用します。クライアントごとのコピー&ペースト用
スニペットはインストールハブを参照してください。
組織(マルチテナント)
BuildPulse トークンで複数の組織にアクセスできる場合があります。
リポジトリを対象とする各ツールには、省略可能な organization_id 引数があります(組織の
id UUID。list_my_organizations で確認できます)。
- 単一組織のトークン —
organization_idは省略してください。組織が 1 つだけの場合は自動的に設定されます。変更はなく、組織について意識する必要はありません。 - 複数組織のセッション(
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 を列挙するエラーが返されるため、エージェントは適切な組織を選んで再試行できます。まず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 | 1 件の送信(CI 実行)に含まれるテストごとの結果を取得します。 |
get_recent_failures | テスト ID ごとに集計した、直近の送信で失敗したテストを取得します。 |
get_repo_flakiness | 直近 14 日間の現在の不安定率(%)です。-1 は最近の結果がないことを意味します。 |
get_repo_coverage | 最新のアップロード済みレポートに基づく現在のカバレッジ率(%)です。-1 はレポートがないことを意味します。 |
リポジトリを対象とするツールは organization_id 引数を受け取ります。複数組織のセッションでは必須で、単一組織のトークンでは省略可能(自動設定)です。上記の
組織を参照してください。
テストまたはリポジトリを示す出力にはすべて、BuildPulse のウェブアプリに戻る
web_url のディープリンクが含まれます。Sentry / Atlassian が MCP の応答で採用しているものと同じ配慮です。
プロンプト
サーバーには、ガイド付きプロンプトも 4 つ用意されています(対応するクライアントでは、スラッシュメニューから選択できます)。
/triage_flaky_tests/ci_health_check/explain_test_failure/whats_red
2 つのトランスポート
| トランスポート | バイナリ | 接続先 |
|---|---|---|
| stdio | cmd/mcp | npm → npx -y @buildpulse/mcp |
| Streamable HTTP | cmd/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 も公開します。
リソース
サーバーは、エージェントがツールを呼び出さずに状態をコンテキストに取り込めるよう、2 つの MCP リソーステンプレートを公開しています。
buildpulse://repos/{repo}/flaky-testsbuildpulse://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 レート制限(トークンごとに 1 分あたり 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 を参照してください。
関連情報
- BuildPulse Platform API — 基盤となる公開 REST API
- npm の @buildpulse/mcp
- 配布戦略 — Claude、OpenAI、Smithery、Cursor の公開に関する詳細
/docs/mcp— コピーボタン付きのブランド版インストールハブ- MCP Registry の掲載情報 —
io.github.BuildPulseLLC/buildpulse-mcp
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。