Skip to main content
Glama

buildkite-mcp-server

by buildkite
MIT License
16

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

👉 Quick add: Create token with Basic functionality

ScopePurpose
read_buildsBuilds, jobs & annotations
read_pipelinesPipeline information
read_userUser identification

📦 Installation

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

{ "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" } } } }

Goose

  • For Docker with Goose (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:

extensions: fetch: name: Buildkite cmd: buildkite-mcp-server args: [stdio] enabled: true envs: { "BUILDKITE_API_TOKEN": "bkua_xxxxxxxx" } type: stdio timeout: 300
{ "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}" } } } }
{ "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

// ~/.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

Get Pipeline Tool


🔒 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 DEVELOPMENT.md.

Run the test suite:

go test ./...

📝 License

MIT © Buildkite

SPDX-License-Identifier: MIT

Related MCP Servers

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/buildkite/buildkite-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server