BuildPulse
BuildPulse MCP Server
A hosted Model Context Protocol server that puts BuildPulse inside your AI agent. BuildPulse provides faster, cheaper CI runners for GitHub Actions, CircleCI and Semaphore (about 2x faster at half the cost, 3,000 free minutes a month) with Test Intelligence built in. Twelve read-only tools cover runner usage, cost and savings, configured runner labels, runner activation status, flaky-test inventory, recent CI failures, per-run test results, flakiness % and code-coverage % for every organization and repository your token can see. Works with Claude, ChatGPT, Cursor, VS Code, Windsurf, Cline, and any MCP-aware client.
Endpoint: https://mcp.buildpulse.io/mcp
Connect
You need a BuildPulse API token (bp_…) from buildpulse.io → Organization Settings → API Tokens, or sign in with OAuth when your client offers it.
Claude Code
claude mcp add --transport http buildpulse https://mcp.buildpulse.io/mcp
Claude.ai and ChatGPT connectors
Add a custom connector and paste https://mcp.buildpulse.io/mcp. Both clients complete the OAuth sign-in for you.
Cursor (.cursor/mcp.json)
{
"mcpServers": {
"buildpulse": {
"url": "https://mcp.buildpulse.io/mcp",
"headers": { "Authorization": "Bearer bp_YOUR_TOKEN" }
}
}
}
VS Code (.vscode/mcp.json)
{
"servers": {
"buildpulse": {
"type": "http",
"url": "https://mcp.buildpulse.io/mcp",
"headers": { "Authorization": "Bearer bp_YOUR_TOKEN" }
}
}
}
Local stdio (Claude Desktop, Windsurf, Cline, Continue, Zed)
{
"mcpServers": {
"buildpulse": {
"command": "npx",
"args": ["-y", "@buildpulse/mcp"],
"env": { "BUILDPULSE_TOKEN": "bp_YOUR_TOKEN" }
}
}
}
Tools
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, minutes, cost before and after free minutes, p50/p90 job duration, queue wait, and the same minutes at GitHub list price with the savings percentage, per size and provider (1 to 90 days, default 30).get_runner_configs: the runner sizes andruns-onlabels the organization has configured.list_my_organizations— every organization the token can access; returns theidto pass asorganization_id.list_repositories— repositories BuildPulse monitors for an organization.find_flaky_tests— a repository's flaky-test inventory over the last 14 days, by disruptiveness or recency.get_test_history— recent disruption events for one test, with build URL and commit SHA.list_recent_submissions— the most recent CI runs that uploaded results for a repository.get_submission_test_results— per-test results for one CI run; filter to failures.get_recent_failures— every test that failed across the last N CI runs, aggregated by test identity.get_repo_flakiness— current flakiness % for a repository (last 14 days).get_repo_coverage— current code-coverage % from the latest report.
Sessions with access to more than one organization pass organization_id on every repo-scoped call; the server never guesses which tenant you meant. Five guided prompts ship alongside: estimate_runner_savings, triage_flaky_tests, ci_health_check, explain_test_failure, whats_red.
Try asking
- “Why is CI red on
web-client? Show me the failing tests from the last run.” - “Which tests in
platform-apihave been flakiest this week, and where do they fail?” - “How well tested is
agents? Give me flakiness and coverage.” - “Which tests failed in more than one of the last 10 runs of
test-reporter-lambdas?”