Official MCP Server for Buildkite.
This is an Model Context Protocol (MCP) server for Buildkite. The goal is to provide access to information from buildkite about pipelines, builds and jobs to tools such as Claude Desktop, GitHub Copilot and other tools, or editors.
get_cluster
- Get details of a buildkite cluster in an organizationlist_clusters
- List all buildkite clusters in an organizationget_cluster_queue
- Get details of a buildkite cluster queue in an organizationlist_cluster_queues
- List all buildkite queues in a clusterget_pipeline
- Get details of a specific pipeline in Buildkitelist_pipelines
- List all pipelines in a buildkite organizationlist_builds
- List all builds in a pipeline in Buildkiteget_build
- Get a build in Buildkitecurrent_user
- Get the current useruser_token_organization
- Get the organization associated with the user token used for this requestget_jobs
- Get a list of jobs for a buildget_job_logs
- Get the logs of a job in a Buildkite buildaccess_token
- Get the details for the API access token that was used to authenticate the requestlist_artifacts
- List the artifacts for a Buildkite buildget_artifact
- Get an artifact from a Buildkite buildlist_annotations
- List the annotations for a Buildkite buildlist_test_runs
- List all test runs for a test suite in Test Engineget_test_run
- Get a specific test run in Test Engineget_failed_test_executions
- Get a list of the failed test executions for a run in Test Engineget_test
- Get a test in Test EngineExample of the get_pipeline
tool in action.
To ensure the MCP server is run in a secure environment, we recommend running it in a container.
Pull the pre-built image (recommended):
docker pull ghcr.io/buildkite/buildkite-mcp-server
Or build it yourself using GoReleaser and copy the binary into your path:
goreleaser build --snapshot --clean
Create a buildkite api token with read access to pipelines.
Use this configuration if you want to run the server buildkite-mcp-server
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"
}
}
}
}
Configuration if you have buildkite-mcp-server
installed locally.
{
"mcpServers": {
"buildkite": {
"command": "buildkite-mcp-server",
"args": [
"stdio"
],
"env": {
"BUILDKITE_API_TOKEN": "bkua_xxxxxxxx"
}
}
}
}
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 configuration for Goose:
extensions:
fetch:
name: Buildkite
cmd: buildkite-mcp-server
args: [stdio]
enabled: true
envs: { "BUILDKITE_API_TOKEN": "bkua_xxxxxxxx" }
type: stdio
timeout: 300
VSCode supports interactive inputs for variables. To get the API token interactively on MCP startup, put the following in .vscode/mcp.json
{
"inputs": [
{
"id": "BUILDKITE_API_TOKEN",
"type": "promptString",
"description": "Enter your BuildKite Access Token (https://buildkite.com/user/api-access-tokens)",
"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}"
}
}
}
}
This container image is built using cgr.dev/chainguard/static base image and is configured to run the MCP server as a non-root user.
Notes on building this project are in the DEVELOPMENT.md{:target=“_blank”}
This project is in the early stages of development and is not yet ready for use.
This project is released under MIT license.