Buildkite MCP Server
MCP server exposing Buildkite API data (pipelines, builds, jobs, tests) to AI tooling and editors.
Connector by buildkiteOfficial · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/buildkite-buildkite-mcp-server
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: ci-cd, testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 48 read · 22 write · 0 delete · 4 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Docker image
Tools by what they do 74
Read from the source code; the running server may list different tools.
Read 48 · Look things up without changing anything.
access_tokencompare_buildscurrent_userget_agentget_artifactget_buildget_build_failure_summaryget_build_test_engine_runsget_cache_registryget_clusterget_cluster_queueget_cluster_secret
Show 36 more tools
get_failed_executionsget_jobget_job_envget_pipelineget_pipeline_scheduleget_repository_connectionget_step_uploadget_testget_test_runget_test_workflowlist_agentslist_annotationslist_artifacts_for_buildlist_artifacts_for_joblist_buildslist_cache_registrieslist_cluster_queueslist_cluster_secretslist_clusterslist_jobslist_pipeline_scheduleslist_pipelineslist_repository_connectionslist_skillslist_step_uploadslist_test_runslist_test_suites_for_pipelinelist_test_workflowslist_testslist_tests_for_buildread_execution_traceread_logssearch_logstail_logsuser_token_organizationvalidate_pipeline
Write 22 · Create, change, send or run things.
cancel_buildcancel_jobcreate_annotationcreate_buildcreate_cache_registrycreate_clustercreate_cluster_queuecreate_cluster_secretcreate_pipelinecreate_pipeline_schedulecreate_pipeline_webhookrebuild_build
Show 10 more tools
retry_failed_jobsretry_jobset_default_cache_registryslowest_executions_for_buildupdate_cache_registryupdate_clusterupdate_cluster_queueupdate_pipelineupdate_pipeline_schedulewait_for_build
Not yet classified 4 · We could not tell from the name and description.
load_skillpause_cluster_queue_dispatchresume_cluster_queue_dispatchunblock_job
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
BUILDKITE_API_TOKEN
Tools (74)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
access_tokenGet information about the current API access token including its scopes and UUID
cancel_buildCancel a running build on a Buildkite pipeline
cancel_jobCancel a single command job without canceling the rest of its build; use cancel_build to cancel a whole build. Only command jobs that are scheduled, reserved, assigned, accepted, or running can be canceled. A job that has not started becomes 'canceled'; a running job becomes 'canceling' until its agent stops it. Returns the updated job
compare_buildsCompare step outcomes, final-attempt retry counts and execution/scheduling times between builds in one pipeline. Defaults to the most recently created earlier successful build on the same branch; baseline_build_number overrides this. Matches step keys or, for unkeyed jobs, unique exact names with matching type, group, matrix and parallel coordinates. match_method identifies heuristic name_fallback matches; ambiguous or unnamed unkeyed jobs remain unmatched. A change in soft_failed (a failure allowed by soft_fail, which does not block the build) is state_changed, never newly_failing or recovere…
create_annotationCreate an annotation on a build or specific job. Use scope='build' (default) or scope='job' with job_id
create_buildTrigger a new build on a Buildkite pipeline for a specific commit and branch, with optional environment variables, metadata, and author information
create_cache_registryCreate a cache registry in a cluster. Optional metadata and policy may be omitted, set, or explicitly cleared
create_clusterCreate a new cluster in an organization
create_cluster_queueCreate a new queue in a cluster
create_cluster_secretCreate cluster secret
create_pipelineSet up a new CI/CD pipeline in Buildkite with YAML configuration, repository connection, and cluster assignment
create_pipeline_scheduleCreate a new pipeline schedule that triggers builds on a cron-driven interval
create_pipeline_webhookCreate a GitHub webhook for an existing pipeline configured with a compatible Buildkite GitHub App
current_userGet details about the user account that owns the API token, including name, email, avatar, and account creation date
get_agentGet detailed information about a specific agent including its connection state, host details, current job, metadata, and pause status
Show 59 more tools
get_artifactGet a specific artifact by organization, pipeline, build, job, and artifact identifiers. Text artifacts under 64 KiB are returned inline in `content`; larger or binary artifacts return metadata plus a short-lived `download_url`. When `download_url_auth` is "none" the URL is presigned (a buildkiteartifacts.com S3 link) — fetch it with a plain GET and NO Authorization header. It expires after `download_url_expires_in_seconds`; if it has expired, call this tool again for a fresh URL.
get_buildGet a single build with lightweight annotation summaries. Annotation bodies and jobs are not included — use list_annotations to read annotations, list_jobs or get_job for job detail, and list_step_uploads to see the dynamic pipeline configuration the build received via `buildkite-agent pipeline upload`
get_build_failure_summaryDiagnose a Buildkite build failure in one call. Returns build.state, build.job_state_counts tallying every job in the build by state (when present, use it to confirm the returned problem jobs are the build's only problems without calling list_jobs), terminal problem jobs, canceled jobs, promised failures from running jobs, soft-failed jobs (soft_failed true: ran and failed, but the step's soft_fail setting in the pipeline allowed that exit status, so they did not block the build; soft_failed is authoritative, so the pipeline configuration is not needed; listed after blocking failures and cance…
get_build_test_engine_runsGet test engine runs data for a specific build in Buildkite. This can be used to look up Test Runs.
get_cache_registryGet a cache registry by UUID, including its structured access policy
get_clusterGet detailed information about a specific cluster including its name, description, default queue, and configuration
get_cluster_queueGet detailed information about a specific queue including its key, description, dispatch status, and hosted agent configuration
get_cluster_secretGet cluster secret information
get_failed_executionsGet failed test executions for a specific test run in Buildkite Test Engine. Optionally get the expanded failure details such as full error messages and stack traces.
get_jobGet a single job by its UUID. Provide 'pipeline_slug' and 'build_number' for a build-scoped lookup, or omit both to look the job up by organization and job ID alone
get_job_envGet the environment variables for a specific job in a Buildkite build
get_pipelineGet detailed information about a specific pipeline including its configuration, steps, environment variables, and build statistics
get_pipeline_scheduleGet detailed information about a single pipeline schedule including its cron expression, target branch, environment variables, enabled state, last failure, and next build time
get_repository_connectionGet a repository connection's service account, host, and provider rate limit. rate_limit is the cached GitHub installation core API quota for this connection (limit, used, remaining, reset_at), not the Buildkite API rate limit; it is null when the quota is unavailable or does not apply to the connection type. If reset_at is in the past, the quota has reset since it was cached, so treat used and remaining as stale. Requires organization administrator access
get_step_uploadGet a single dynamic pipeline upload including its pipeline definition rendered as YAML (definition_yaml). Definitions over the API's render limit are omitted: definition_yaml is omitted, definition_yaml_omitted is true and definition_bytes reports the size. Only available while the build is within its maximum lifetime (~30 days); older builds return 410 Gone
get_testGet a specific test in Buildkite Test Engine, including execution metrics aggregated over a selected time window. This provides additional metadata for failed test executions. The response also includes transition_count_score and probabilistic_flakiness_score, which help judge whether a failure is flaky. Each score is absent unless the suite has a monitor of that type and the monitor has scored the test. The time window does not apply to them.
get_test_runGet a specific test run in Buildkite Test Engine
get_test_workflowInspect a configured Buildkite Test Engine workflow by UUID, including its monitor conditions, filters, alarm/recovery actions, and links. Webhook endpoints are always redacted. Describes configured behavior, not event history or proof that an action ran.
list_agentsList agents in an organization with their connection state, host details, version, current job, and pause status
list_annotationsList annotations for a build or a specific job. Use scope='build' (default) or scope='job' with job_id. Annotation content is in the body_html field; there is no body field
list_artifacts_for_buildList all artifacts for a build across all jobs, including filenames, paths, sizes, and MIME types. Output can be large for big builds — use per_page and paginate. To fetch an artifact's contents or a download URL, call get_artifact with that artifact's id and job_id.
list_artifacts_for_jobList all artifacts for an individual job, including filenames, paths, sizes, and MIME types. To fetch an artifact's contents or a download URL, call get_artifact with that artifact's id and job_id.
list_buildsList builds, newest first, for a pipeline or, when pipeline_slug is omitted, across all pipelines in an organization. Returns lightweight summaries including pipeline_slug, creator and finished_at; jobs are not included — use list_jobs or get_job for job detail. Org-wide listings without created_from can time out. For questions spanning many builds, filter by state, branch, creator and date with per_page 100 instead of calling get_build per build
list_cache_registriesList cache registries in a cluster, ordered by slug. Returns items and cursor pagination links
list_cluster_queuesList all queues in a cluster with their keys, descriptions, dispatch status, and agent configuration
list_cluster_secretsList cluster secrets
list_clustersList all clusters in an organization with their names, descriptions, default queues, and creation details
list_jobsList jobs for a Buildkite build, returning an actionable summary by default. For CI failure diagnosis, use state='failed,timed_out,expired' to avoid returning successful jobs, and investigate jobs without soft_failed first: soft_failed true means the job ran and failed but soft_fail allowed its exit status, so it did not block the build. Broken jobs never ran because pipeline configuration excluded them; they are not failures. Use detail_level='detailed' for execution metadata or 'full' for the existing full MCP job response. Returns 'items' and cursor pagination 'links'
list_pipeline_schedulesList the pipeline schedules for a pipeline, including cron expression, target branch, environment variables, enabled state, and next scheduled build time
list_pipelinesList all pipelines in an organization with their basic details, build counts, and current status
list_repository_connectionsList an organization's source control repository connections, such as GitHub apps, Bitbucket Server, and GitLab Self-Managed. Returns all connections unpaginated with id, type, display_name, and url only; use get_repository_connection for host details and GitHub provider rate limits. Requires organization administrator access
list_skillsList available skill guides that document usage patterns, pitfalls, and workflows for Buildkite MCP tools
list_step_uploadsList the dynamic pipeline uploads (`buildkite-agent pipeline upload`) a build received, newest first, without their definitions. Each item includes state, the uploading job (source_job_id), created_jobs_count (omitted until applied, 0 when applied but no jobs were created), and rejection details. Use get_step_upload to read an upload's pipeline definition. Only available while the build is within its maximum lifetime (~30 days); older builds return 410 Gone
list_test_runsList all test runs for a test suite in Buildkite Test Engine
list_test_suites_for_pipelineList the Buildkite Test Engine suites that have recorded at least one run attributed to a pipeline, ordered by creation time. Use this to find the test_suite_slug needed by the other Test Engine tools.
list_test_workflowsList configured workflows for a Buildkite Test Engine suite, newest first. Returns monitors, filters, alarm/recovery actions, and links. Webhook endpoints are always redacted. Use this to discover automation and labels used to mark flaky tests before querying list_tests. Use get_test_workflow to inspect one. Configuration does not prove an action ran or rank tests by flakiness.
list_testsList tests in a Buildkite Test Engine suite with execution metrics aggregated over a selected time window. Supports filtering, metric sorting, and pagination.
list_tests_for_buildList tests and their execution metrics for a Buildkite build. Requires the build UUID (the build ID, not the pipeline build number) and supports filtering, metric sorting, and pagination.
load_skillLoad the full content of a skill guide by name
pause_cluster_queue_dispatchPause dispatch on a cluster queue, preventing new jobs from being dispatched to agents
read_execution_traceRead an OpenTelemetry trace summary for a Buildkite Test Engine execution, including category rollups and slowest spans
read_logsRead log entries from the file, optionally starting from a specific row number. ALWAYS use 'limit' parameter to avoid excessive tokens. For recent failures, use 'tail_logs' instead. Recommended limits: investigation (100-500), exploration (use seek + small limits). The json format: {ts: timestamp_ms, c: content, rn: row_number}.
rebuild_buildRebuild/retry an entire build on a Buildkite pipeline
resume_cluster_queue_dispatchResume dispatch on a paused cluster queue, allowing jobs to be dispatched to agents again
retry_failed_jobsRetry the failed jobs in a build that are safe to retry, and report every job retried or skipped with a reason. Unlike the Buildkite REST API's retry_failed_jobs endpoint, which retries every job in the chosen failure states, this classifies each job and retries it individually. Only infrastructure failures are retried: expired, agent_lost (exit status -1 with no signal reason), agent_stop, agent_refused and stack_error. Soft-failed, canceled and timed-out jobs, command failures and other signal reasons are skipped because a retry would likely fail again or undo a deliberate stop. Use retry_jo…
retry_jobRetry a specific failed or timed out job in a Buildkite build
search_logsSearch log entries using regex patterns with optional context lines. For recent failures, try 'tail_logs' first, then use search_logs with patterns like 'error|failed|exception' and limit: 10-20. The json format: {ts: timestamp_ms, c: content, rn: row_number}.
set_default_cache_registrySet a cluster's default cache registry by UUID. A cluster always has a default, so this switches it to another registry in the same cluster rather than clearing it. Returns the updated cluster
slowest_executions_for_buildList the slowest test executions for a Buildkite build across every visible Test Engine suite, slowest first. Returns the identifiers needed by read_execution_trace and whether each execution has a trace.
tail_logsShow the last N entries from the log file. RECOMMENDED for failure diagnosis - most build failures appear in the final log entries. More token-efficient than read_logs for recent issues. The json format: {ts: timestamp_ms, c: content, rn: row_number}.
unblock_jobUnblock a blocked job in a Buildkite build to allow it to continue execution
update_cache_registryUpdate a cache registry by UUID. Omitted fields remain unchanged; nullable metadata and policy may be set or explicitly cleared
update_clusterUpdate an existing cluster's name, description, emoji, color, or default queue
update_cluster_queueUpdate an existing cluster queue's description or retry agent affinity
update_pipelineModify an existing Buildkite pipeline's configuration, repository, settings, or metadata
update_pipeline_scheduleModify an existing pipeline schedule's cron expression, branch, environment variables, or enabled state
user_token_organizationGet the organization associated with the user token used for this request
validate_pipelineValidate Buildkite pipeline YAML against the official pipeline schema without calling the Buildkite API. Use this to check a pipeline definition (e.g. .buildkite/pipeline.yml) before creating or updating a pipeline, or before committing pipeline changes
wait_for_buildWait for a build to reach a terminal state (passed, failed, canceled, skipped, not_run, or blocked on a block step), polling for up to 45 seconds. Returns finished=true along with the build once it settles. If the build is still in progress when the window closes it returns finished=false and the current state only, with no build detail — call this tool again to keep waiting. Judge a long build by build_elapsed_seconds, which counts from the build's own start time and does not reset between calls; waited_seconds covers only the latest call. Do not wait indefinitely: after roughly ten consecuti…
Signals
- Stars
- 56
- Forks
- 39
- Open issues
- 3
- Last commit
- Oct 23, 2026 (5 days ago)
- Last release
- Oct 20, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.buildkite/buildkite-mcp-server- Version
- 0.7.0
- Auth
- API key
- Packages
- oci
ghcr.io/buildkite/buildkite-mcp-server:0.7.0 - License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
Cite this page
Buildkite MCP Server. Agent Mart. https://agentmart.dev/connectors/buildkite-buildkite-mcp-server (last updated 2026-10-25)