Skip to content
Agentmart
Submit a tool

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

IndexedMITLocal (stdio)★ 56
Write a review

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.

We use your email only for this newsletter. Privacy

About

MCP server exposing Buildkite API data (pipelines, builds, jobs, tests) to AI tooling and editors.

Use cases: ci-cd, testing

No 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_token
  • compare_builds
  • current_user
  • get_agent
  • get_artifact
  • get_build
  • get_build_failure_summary
  • get_build_test_engine_runs
  • get_cache_registry
  • get_cluster
  • get_cluster_queue
  • get_cluster_secret
Show 36 more tools
  • get_failed_executions
  • get_job
  • get_job_env
  • get_pipeline
  • get_pipeline_schedule
  • get_repository_connection
  • get_step_upload
  • get_test
  • get_test_run
  • get_test_workflow
  • list_agents
  • list_annotations
  • list_artifacts_for_build
  • list_artifacts_for_job
  • list_builds
  • list_cache_registries
  • list_cluster_queues
  • list_cluster_secrets
  • list_clusters
  • list_jobs
  • list_pipeline_schedules
  • list_pipelines
  • list_repository_connections
  • list_skills
  • list_step_uploads
  • list_test_runs
  • list_test_suites_for_pipeline
  • list_test_workflows
  • list_tests
  • list_tests_for_build
  • read_execution_trace
  • read_logs
  • search_logs
  • tail_logs
  • user_token_organization
  • validate_pipeline

Write 22 · Create, change, send or run things.

  • cancel_build
  • cancel_job
  • create_annotation
  • create_build
  • create_cache_registry
  • create_cluster
  • create_cluster_queue
  • create_cluster_secret
  • create_pipeline
  • create_pipeline_schedule
  • create_pipeline_webhook
  • rebuild_build
Show 10 more tools
  • retry_failed_jobs
  • retry_job
  • set_default_cache_registry
  • slowest_executions_for_build
  • update_cache_registry
  • update_cluster
  • update_cluster_queue
  • update_pipeline
  • update_pipeline_schedule
  • wait_for_build

Not yet classified 4 · We could not tell from the name and description.

  • load_skill
  • pause_cluster_queue_dispatch
  • resume_cluster_queue_dispatch
  • unblock_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_token

    Get information about the current API access token including its scopes and UUID

  • cancel_build

    Cancel a running build on a Buildkite pipeline

  • cancel_job

    Cancel 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_builds

    Compare 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_annotation

    Create an annotation on a build or specific job. Use scope='build' (default) or scope='job' with job_id

  • create_build

    Trigger a new build on a Buildkite pipeline for a specific commit and branch, with optional environment variables, metadata, and author information

  • create_cache_registry

    Create a cache registry in a cluster. Optional metadata and policy may be omitted, set, or explicitly cleared

  • create_cluster

    Create a new cluster in an organization

  • create_cluster_queue

    Create a new queue in a cluster

  • create_cluster_secret

    Create cluster secret

  • create_pipeline

    Set up a new CI/CD pipeline in Buildkite with YAML configuration, repository connection, and cluster assignment

  • create_pipeline_schedule

    Create a new pipeline schedule that triggers builds on a cron-driven interval

  • create_pipeline_webhook

    Create a GitHub webhook for an existing pipeline configured with a compatible Buildkite GitHub App

  • current_user

    Get details about the user account that owns the API token, including name, email, avatar, and account creation date

  • get_agent

    Get detailed information about a specific agent including its connection state, host details, current job, metadata, and pause status

Show 59 more tools
  • get_artifact

    Get 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_build

    Get 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_summary

    Diagnose 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_runs

    Get test engine runs data for a specific build in Buildkite. This can be used to look up Test Runs.

  • get_cache_registry

    Get a cache registry by UUID, including its structured access policy

  • get_cluster

    Get detailed information about a specific cluster including its name, description, default queue, and configuration

  • get_cluster_queue

    Get detailed information about a specific queue including its key, description, dispatch status, and hosted agent configuration

  • get_cluster_secret

    Get cluster secret information

  • get_failed_executions

    Get 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_job

    Get 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_env

    Get the environment variables for a specific job in a Buildkite build

  • get_pipeline

    Get detailed information about a specific pipeline including its configuration, steps, environment variables, and build statistics

  • get_pipeline_schedule

    Get 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_connection

    Get 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_upload

    Get 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_test

    Get 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_run

    Get a specific test run in Buildkite Test Engine

  • get_test_workflow

    Inspect 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_agents

    List agents in an organization with their connection state, host details, version, current job, and pause status

  • list_annotations

    List 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_build

    List 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_job

    List 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_builds

    List 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_registries

    List cache registries in a cluster, ordered by slug. Returns items and cursor pagination links

  • list_cluster_queues

    List all queues in a cluster with their keys, descriptions, dispatch status, and agent configuration

  • list_cluster_secrets

    List cluster secrets

  • list_clusters

    List all clusters in an organization with their names, descriptions, default queues, and creation details

  • list_jobs

    List 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_schedules

    List the pipeline schedules for a pipeline, including cron expression, target branch, environment variables, enabled state, and next scheduled build time

  • list_pipelines

    List all pipelines in an organization with their basic details, build counts, and current status

  • list_repository_connections

    List 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_skills

    List available skill guides that document usage patterns, pitfalls, and workflows for Buildkite MCP tools

  • list_step_uploads

    List 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_runs

    List all test runs for a test suite in Buildkite Test Engine

  • list_test_suites_for_pipeline

    List 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_workflows

    List 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_tests

    List 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_build

    List 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_skill

    Load the full content of a skill guide by name

  • pause_cluster_queue_dispatch

    Pause dispatch on a cluster queue, preventing new jobs from being dispatched to agents

  • read_execution_trace

    Read an OpenTelemetry trace summary for a Buildkite Test Engine execution, including category rollups and slowest spans

  • read_logs

    Read 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_build

    Rebuild/retry an entire build on a Buildkite pipeline

  • resume_cluster_queue_dispatch

    Resume dispatch on a paused cluster queue, allowing jobs to be dispatched to agents again

  • retry_failed_jobs

    Retry 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_job

    Retry a specific failed or timed out job in a Buildkite build

  • search_logs

    Search 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_registry

    Set 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_build

    List 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_logs

    Show 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_job

    Unblock a blocked job in a Buildkite build to allow it to continue execution

  • update_cache_registry

    Update a cache registry by UUID. Omitted fields remain unchanged; nullable metadata and policy may be set or explicitly cleared

  • update_cluster

    Update an existing cluster's name, description, emoji, color, or default queue

  • update_cluster_queue

    Update an existing cluster queue's description or retry agent affinity

  • update_pipeline

    Modify an existing Buildkite pipeline's configuration, repository, settings, or metadata

  • update_pipeline_schedule

    Modify an existing pipeline schedule's cron expression, branch, environment variables, or enabled state

  • user_token_organization

    Get the organization associated with the user token used for this request

  • validate_pipeline

    Validate 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_build

    Wait 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)