buildkite-mcp-server

buildkite-mcp-server

3.4

If you are the rightful owner of buildkite-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Buildkite MCP Server provides access to Buildkite information for tools and editors.

buildkite-mcp-server 🚀

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


⚡ TL;DR Quick-start

# Requires Docker and a Buildkite API token (see scopes below)
docker run -it --rm -e BUILDKITE_API_TOKEN=BKUA_xxxxx ghcr.io/buildkite/buildkite-mcp-server stdio


🗂️ Table of Contents


🛠️ Prerequisites

RequirementNotes
Docker ≥ 20.xRecommended path – run in an isolated container
OR Go ≥ 1.22Needed only for building/running natively
Buildkite API tokenCreate at https://buildkite.com/user/api-access-tokens
Internet access to ghcr.ioTo pull the pre-built image

🔑 API Token Scopes

Full functionality

👉 Quick add: Create token with Full functionality

ScopePurpose
read_clustersAccess cluster & queue information
read_pipelinesPipeline configuration
read_buildsBuilds, jobs & annotations
read_build_logsJob log output
read_userCurrent user info
read_organizationsOrganization details
read_artifactsBuild artifacts & metadata
read_suitesBuildkite Test Engine data

Minimum recommended

👉 Quick add: Create token with Basic functionality

ScopePurpose
read_buildsBuilds, jobs & annotations
read_pipelinesPipeline information
read_userUser identification

📦 Installation

1. Docker (recommended)

docker pull ghcr.io/buildkite/buildkite-mcp-server

Run:

docker run -it --rm -e BUILDKITE_API_TOKEN=BKUA_xxxxx ghcr.io/buildkite/buildkite-mcp-server stdio

2. Pre-built binary

Download the latest release from GitHub Releases. Binaries are fully-static and require no libc.

3. Build from source

go install github.com/buildkite/buildkite-mcp-server@latest
# or
goreleaser build --snapshot --clean
# or
make build    # uses goreleaser (snapshot)

⚙️ Configuration & Usage

Editors & Tools

Claude Desktop

Docker (recommended):

{
  "mcpServers": {
    "buildkite": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm", "-e", "BUILDKITE_API_TOKEN",
        "ghcr.io/buildkite/buildkite-mcp-server", "stdio"
      ],
      "env": { "BUILDKITE_API_TOKEN": "bkua_xxxxxxxx" }
    }
  }
}

Local binary:

{
  "mcpServers": {
    "buildkite": {
      "command": "buildkite-mcp-server",
      "args": ["stdio"],
      "env": { "BUILDKITE_API_TOKEN": "bkua_xxxxxxxx" }
    }
  }
}
Claude Code

Docker (recommended):

claude mcp add buildkite -- docker run --rm -i -e BUILDKITE_API_TOKEN=bkua_xxxxxxxx ghcr.io/buildkite/buildkite-mcp-server stdio

Local binary:

claude mcp add buildkite --env BUILDKITE_API_TOKEN=bkua_xxxxxxxx -- buildkite-mcp-server stdio
Goose

Docker (recommended):

extensions:
  fetch:
    name: Buildkite
    cmd: docker
    args: ["run", "-i", "--rm", "-e", "BUILDKITE_API_TOKEN", "ghcr.io/buildkite/buildkite-mcp-server", "stdio"]
    enabled: true
    envs: { "BUILDKITE_API_TOKEN": "bkua_xxxxxxxx" }
    type: stdio
    timeout: 300

Local binary:

extensions:
  fetch:
    name: Buildkite
    cmd: buildkite-mcp-server
    args: [stdio]
    enabled: true
    envs: { "BUILDKITE_API_TOKEN": "bkua_xxxxxxxx" }
    type: stdio
    timeout: 300
VS Code
{
  "inputs": [
    {
      "id": "BUILDKITE_API_TOKEN",
      "type": "promptString",
      "description": "Enter your Buildkite Access Token",
      "password": true
    }
  ],
  "servers": {
    "buildkite": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm", "-e", "BUILDKITE_API_TOKEN",
        "ghcr.io/buildkite/buildkite-mcp-server", "stdio"
      ],
      "env": { "BUILDKITE_API_TOKEN": "${input:BUILDKITE_API_TOKEN}" }
    }
  }
}
Windsurf
{
  "mcpServers": {
    "buildkite": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm", "-e", "BUILDKITE_API_TOKEN",
        "ghcr.io/buildkite/buildkite-mcp-server", "stdio"
      ],
      "env": { "BUILDKITE_API_TOKEN": "bkua_xxxxxxxx" }
    }
  }
}

Local binary:

{
  "mcpServers": {
    "buildkite": {
      "command": "buildkite-mcp-server",
      "args": ["stdio"],
      "env": { "BUILDKITE_API_TOKEN": "bkua_xxxxxxxx" }
    }
  }
}

Zed

Zed
// ~/.config/zed/settings.json
{
  "context_servers": {
    "mcp-server-buildkite": {
      "settings": {
        "buildkite_api_token": "your-buildkite-token-here"
      }
    }
  }
}

🛠️ Tools & Features

ToolDescription
get_clusterGet detailed information about a specific cluster including its name, description, default queue, and configuration
list_clustersList all clusters in an organization with their names, descriptions, default queues, and creation details
get_cluster_queueGet detailed information about a specific queue including its key, description, dispatch status, and hosted agent configuration
list_cluster_queuesList all queues in a cluster with their keys, descriptions, dispatch status, and agent configuration
get_pipelineGet detailed information about a specific pipeline including its configuration, steps, environment variables, and build statistics
list_pipelinesList all pipelines in an organization with their basic details, build counts, and current status
create_pipelineSet up a new CI/CD pipeline in Buildkite with YAML configuration, repository connection, and cluster assignment
update_pipelineModify an existing Buildkite pipeline's configuration, repository, settings, or metadata
list_buildsList all builds for a pipeline with their status, commit information, and metadata
get_buildGet detailed information about a specific build including its jobs, timing, and execution details
get_build_test_engine_runsGet test engine runs data for a specific build in Buildkite. This can be used to look up Test Runs.
create_buildTrigger a new build on a Buildkite pipeline for a specific commit and branch, with optional environment variables, metadata, and author information
current_userGet details about the user account that owns the API token, including name, email, avatar, and account creation date
user_token_organizationGet the organization associated with the user token used for this request
get_jobsGet all jobs for a specific build including their state, timing, commands, and execution details
get_job_logsGet the log output and metadata for a specific job, including content, size, and header timestamps
list_artifactsList all artifacts for a build across all jobs, including file details, paths, sizes, MIME types, and download URLs
get_artifactGet detailed information about a specific artifact including its metadata, file size, SHA-1 hash, and download URL
list_annotationsList all annotations for a build, including their context, style (success/info/warning/error), rendered HTML content, and creation timestamps
list_test_runsList all test runs for a test suite in Buildkite Test Engine
get_test_runGet a specific test run in Buildkite Test Engine
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_testGet a specific test in Buildkite Test Engine. This provides additional metadata for failed test executions
access_tokenGet information about the current API access token including its scopes and UUID

📸 Screenshots


🔒 Security

To ensure the MCP server is run in a secure environment, we recommend running it in a container.

This image is built from cgr.dev/chainguard/static and runs as an unprivileged user.


🤝 Contributing

Development guidelines are in .

Run the test suite:

go test ./...

📝 License

MIT © Buildkite

SPDX-License-Identifier: MIT