buildkite-mcp-server
The buildkite-mcp-server is designed to facilitate access to Buildkite data for integration with various tools like Claude Desktop and GitHub Copilot. It offers features for managing pipelines and retrieving job-related information but is still under development.
buildkite-mcp-server
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.
Tools
get_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_job_logs
- Get logs for a specific job in Buildkitelist_artifacts
- List all artifacts for a specific job in Buildkiteget_artifact
- Get a specific artifact for a specific job in Buildkitecurrent_user
- Get details of the current user in Buildkiteuser_token_organization
- Get the organization associated with the user token used for this request
Example of the get_pipeline
tool in action.
Production
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
configuration
Create a buildkite api token with read access to pipelines.
Claude Desktop Configuration
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"
}
}
}
}
Goose Configuration
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 Configuration
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}"
}
}
}
}
Contributing
Notes on building this project are in the
Disclaimer
This project is in the early stages of development and is not yet ready for use.
License
This project is released under MIT license.