Buildkite MCP server
Buildkite's official MCP server: read pipelines, builds, jobs, logs, artifacts, and Test Engine data, and trigger builds from an agent.
The Buildkite MCP Server is Buildkite's official integration that exposes Buildkite Pipelines and Test Engine data to an AI agent. It can enumerate your organization, clusters, and queues, list and inspect pipelines, and read builds with their status and commit information. For failure triage it pulls job logs and offers dedicated log tools — searching log entries with regex and context, tailing the last N lines, reading from an arbitrary offset, and reporting log metadata — so an agent can find the failing step in a large build without dumping the whole log into the model. It also reads artifacts and annotations and surfaces Test Engine runs, including failed test executions for a run.
On the write side it can create pipelines, update pipeline configuration, trigger a new build for a commit, and unblock a blocked job. Buildkite ships both a remote server it hosts at https://mcp.buildkite.com/mcp (with a read-only variant at /mcp/readonly) authenticated with a short-lived OAuth access token, and a local server you run yourself over stdio via the buildkite/mcp-server Docker image (also installable from source with Go or via Homebrew), authenticated with a Buildkite API access token in BUILDKITE_API_TOKEN.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Add to ~/.claude.json
{
"mcpServers": {
"buildkite": {
"type": "http",
"url": "https://mcp.buildkite.com/mcp"
}
}
}claude mcp add --transport http buildkite https://mcp.buildkite.com/mcpHeads up
- First tool call opens a browser to authorize.
Available tools
| Tool | Description |
|---|---|
| access_token | Retrieves information about the current API access token. |
| current_user | Retrieves details about the user account that owns the API token. |
| user_token_organization | Retrieves details about the Buildkite organization associated with the user token. |
| list_clusters | Lists all clusters in an organization with their names, descriptions, and default queues. |
| get_cluster | Retrieves detailed information about a specific cluster. |
| list_cluster_queues | Lists all queues in a cluster with their keys, descriptions, and dispatch status. |
| get_cluster_queue | Retrieves detailed information about a specific queue. |
| list_pipelines | Lists all pipelines in an organization with their basic details and build counts. |
| get_pipeline | Retrieves detailed information about a specific pipeline. |
| create_pipeline | Sets up a new CI/CD pipeline in Buildkite with a YAML configuration. |
| update_pipeline | Modifies an existing Buildkite pipeline's configuration. |
| list_builds | Lists all builds for a pipeline with their status and commit information. |
| get_build | Retrieves detailed information about a specific build. |
| create_build | Triggers a new build on a Buildkite pipeline for a specific commit. |
| get_job_logs | Gets the log output and metadata for a specific job. |
| unblock_job | Unblocks a blocked job in a Buildkite build. |
| search_logs | Searches log entries using regex patterns with optional surrounding context. |
| tail_logs | Shows the last N entries from the log file. |
| get_logs_info | Gets metadata and statistics about the Parquet log file. |
| read_logs | Reads log entries from the file, optionally starting from a specific row. |
| list_artifacts | Lists a build's artifacts across all of its jobs. |
| get_artifact | Gets detailed information about a specific artifact. |
| list_annotations | Lists all annotations for a build. |
| get_test | Retrieves a specific test in Buildkite Test Engine. |
| list_test_runs | Lists all test runs for a test suite. |
| get_test_run | Retrieves a specific test run. |
| get_failed_executions | Retrieves failed test executions for a specific test run. |
| get_build_test_engine_runs | Gets Test Engine runs data for a specific build. |
Required configuration
- BUILDKITE_API_TOKENRequired
A Buildkite API access token with the scopes for the data you want the agent to reach. Used by the local server.
What you can do with it
Find the failing step in a long build
The agent pulls the job logs and uses search_logs with a regex to jump straight to the error, instead of streaming a huge log into the model, then proposes a fix from the surrounding context.
Trigger and track a build for a commit
Ask the agent to create a build for a specific commit on a pipeline, then read the build status and Test Engine runs to report whether it passed.
FAQ
- Is it free?
- Yes. The server is free and open source under the MIT license from Buildkite; you only need a Buildkite account and an API access token, and it works within your existing plan's limits.
- Does it support remote/OAuth?
- Yes. Buildkite hosts a remote server at https://mcp.buildkite.com/mcp authenticated with a short-lived OAuth access token, plus a read-only variant at /mcp/readonly. You can also run it locally over stdio with the Docker image and a BUILDKITE_API_TOKEN.
- How do I run it locally?
- Run the buildkite/mcp-server Docker image in stdio mode with your BUILDKITE_API_TOKEN, or install the binary from source with Go (go install) or via Homebrew.
- Can I limit it to read-only access?
- Yes. Connect to the hosted read-only endpoint at https://mcp.buildkite.com/mcp/readonly, which exposes only the read tools and none of the build-triggering or pipeline-mutating ones.