buildkite-mcp-server

MCP.Pizza Chef: buildkite

The buildkite-mcp-server is an MCP server that integrates Buildkite CI/CD data into AI tools and editors. It provides structured access to Buildkite pipelines, builds, jobs, logs, and artifacts, enabling real-time context and interaction for models like Claude Desktop and GitHub Copilot. This server facilitates automation and enhanced workflows around Buildkite's continuous integration environment.

Use This MCP server To

Retrieve detailed pipeline information from Buildkite List all pipelines within a Buildkite organization Fetch all builds for a specific Buildkite pipeline Access logs for individual Buildkite jobs List artifacts generated by Buildkite jobs Download specific artifacts from Buildkite jobs Integrate Buildkite data into AI-assisted coding tools Enable real-time Buildkite context in developer editors

README

buildkite-mcp-server

Build status

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 Buildkite
  • list_pipelines - List all pipelines in a buildkite organization
  • list_builds - List all builds in a pipeline in Buildkite
  • get_job_logs - Get logs for a specific job in Buildkite
  • list_artifacts - List all artifacts for a specific job in Buildkite
  • get_artifact - Get a specific artifact for a specific job in Buildkite
  • current_user - Get details of the current user in Buildkite
  • user_token_organization - Get the organization associated with the user token used for this request

Example of the get_pipeline tool in action.

Get Pipeline Tool

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 Development.md

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.

buildkite-mcp-server FAQ

How do I authenticate the buildkite-mcp-server with Buildkite?
You authenticate using a Buildkite API token configured in the server settings to securely access pipeline and build data.
Can the buildkite-mcp-server provide real-time updates on build statuses?
Yes, it can fetch the latest build and job statuses on demand, enabling up-to-date context for AI tools.
What types of Buildkite data can I access through this MCP server?
You can access pipelines, builds, jobs, job logs, and artifacts data from Buildkite.
Is the buildkite-mcp-server compatible with multiple AI models?
Yes, it works with various LLMs including OpenAI, Claude, and Gemini by exposing Buildkite data in a standardized MCP format.
How does the buildkite-mcp-server improve developer workflows?
It enables AI tools to query Buildkite data directly, automating tasks like build monitoring, log retrieval, and artifact management.
Can I customize which Buildkite pipelines or jobs the server exposes?
Yes, you can configure the server to focus on specific organizations, pipelines, or jobs as needed.
Does the server support fetching artifacts from Buildkite jobs?
Yes, it supports listing and retrieving specific artifacts associated with Buildkite jobs.
How secure is the buildkite-mcp-server when accessing Buildkite data?
It uses scoped API tokens and follows MCP security principles to ensure safe and controlled access.