Skip to main content
Glama
norus

Atlassian Bamboo MCP Server

by norus

Atlassian Bamboo MCP Server

CI NPM Version MIT licensed TypeScript MCP

A Model Context Protocol (MCP) server that brings Atlassian Bamboo CI/CD operations directly into AI assistants like Claude Code and Cursor.

❌ Without Bamboo MCP

Working with Bamboo CI/CD requires constant context switching:

  • ❌ Switching to browser to check build status

  • ❌ Manually navigating through Bamboo UI to find logs

  • ❌ Copy-pasting build keys and deployment IDs

  • ❌ No AI assistance for CI/CD troubleshooting

✅ With Bamboo MCP

Bamboo MCP brings your CI/CD operations directly into your AI workflow:

What's the status of the latest build for project MY-PROJECT?
Show me the deployment logs for deployment result 2661941325
Trigger a build for plan PROJ-PLAN with variable ENV=staging

No tab-switching, no manual navigation — just ask and get instant CI/CD insights.

Features

  • 26 tools covering all major Bamboo operations

  • Build logs with actual content (not just URLs)

  • Deployment logs with full output

  • Proxy support for corporate environments

  • TypeScript with full type safety

Installation

Prerequisites

From Source

git clone https://github.com/norus/atlassian-bamboo-mcp.git
cd atlassian-bamboo-mcp
npm install
npm run build

From npm

npm install -g bamboo-mcp-server

Configuration

The server requires these environment variables:

Variable

Required

Description

BAMBOO_URL

Yes

Base URL of your Bamboo server

BAMBOO_TOKEN

Yes

Personal access token

BAMBOO_PROXY

No

Proxy URL (e.g., http://proxy:8080)

Creating a Bamboo Token

  1. Log into Bamboo

  2. Go to ProfilePersonal access tokens

  3. Click Create token

  4. Give it a name and appropriate permissions

  5. Copy the token (you won't see it again)

Setup

Run this command:

claude mcp add bamboo -- npx -y bamboo-mcp-server@latest

Or add to ~/.claude/settings.json:

{
  "mcpServers": {
    "bamboo": {
      "command": "npx",
      "args": ["-y", "bamboo-mcp-server@latest"],
      "env": {
        "BAMBOO_URL": "https://bamboo.example.com",
        "BAMBOO_TOKEN": "your-token"
      }
    }
  }
}

Add to your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "bamboo": {
      "command": "npx",
      "args": ["-y", "bamboo-mcp-server@latest"],
      "env": {
        "BAMBOO_URL": "https://bamboo.example.com",
        "BAMBOO_TOKEN": "your-token",
        "BAMBOO_PROXY": "http://proxy:8080"
      }
    }
  }
}

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "bamboo": {
      "command": "npx",
      "args": ["-y", "bamboo-mcp-server@latest"],
      "env": {
        "BAMBOO_URL": "https://bamboo.example.com",
        "BAMBOO_TOKEN": "your-token"
      }
    }
  }
}
BAMBOO_URL="https://bamboo.example.com" \
BAMBOO_TOKEN="your-token" \
npx bamboo-mcp-server

Build the image

docker build -t bamboo-mcp-server .

Run with Docker

docker run -i --rm \
  -e BAMBOO_URL="https://bamboo.example.com" \
  -e BAMBOO_TOKEN="your-token" \
  -e BAMBOO_PROXY="http://host.docker.internal:8080" \
  bamboo-mcp-server

Proxy configuration

When using a proxy from Docker:

  • macOS/Windows: Use host.docker.internal to reach the host (e.g., http://host.docker.internal:8080)

  • Linux: Use --network host flag or the host's actual IP address

Use with Claude Desktop

{
  "mcpServers": {
    "bamboo": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "BAMBOO_URL=https://bamboo.example.com",
        "-e", "BAMBOO_TOKEN=your-token",
        "-e", "BAMBOO_PROXY=http://host.docker.internal:8080",
        "bamboo-mcp-server"
      ]
    }
  }
}

Docker Compose

services:
  bamboo-mcp:
    build: .
    environment:
      - BAMBOO_URL=https://bamboo.example.com
      - BAMBOO_TOKEN=${BAMBOO_TOKEN}
      - BAMBOO_PROXY=http://host.docker.internal:8080
    stdin_open: true

Available Tools

Server (2)

Tool

Description

bamboo_server_info

Get Bamboo server version and state

bamboo_health_check

Check server health status

Projects (2)

Tool

Description

bamboo_list_projects

List all projects

bamboo_get_project

Get project details by key

Plans (6)

Tool

Description

bamboo_list_plans

List all build plans

bamboo_get_plan

Get plan details by key

bamboo_search_plans

Search plans by name

bamboo_enable_plan

Enable a build plan

bamboo_disable_plan

Disable a build plan

bamboo_clone_plan

Clone a build plan to a new plan

Branches (2)

Tool

Description

bamboo_list_plan_branches

List branches for a plan

bamboo_get_plan_branch

Get branch details

Builds (7)

Tool

Description

bamboo_trigger_build

Trigger a build (supports variables)

bamboo_stop_build

Stop a running build

bamboo_get_build_result

Get specific build result

bamboo_get_latest_result

Get latest build result

bamboo_list_build_results

List build results with filters

bamboo_get_build_logs

Get build log file URLs

bamboo_get_build_result_logs

Get build logs with actual content

Queue (2)

Tool

Description

bamboo_get_build_queue

Get current build queue

bamboo_get_deployment_queue

Get deployment queue status

Deployments (6)

Tool

Description

bamboo_list_deployment_projects

List deployment projects

bamboo_get_deployment_project

Get deployment project details

bamboo_create_deployment_project

Create a deployment project linked to a build plan

bamboo_get_deployment_results

Get deployment results for environment

bamboo_get_deployment_result

Get deployment result with logs

bamboo_trigger_deployment

Trigger a deployment

Example Prompts

Show me all failed builds in the last 24 hours
What's blocking the deployment queue?
Get the logs for build PROJ-PLAN-123 and tell me why it failed
Trigger a build for MY-PROJECT with variable DEPLOY_ENV=staging
List all branches for plan MY-PLAN and their build status

Development

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Run locally
BAMBOO_URL="https://bamboo.example.com" \
BAMBOO_TOKEN="your-token" \
node dist/index.js

Troubleshooting

  • Verify BAMBOO_URL is correct and accessible

  • If behind a proxy, set BAMBOO_PROXY

  • Check if your token has expired

  • Verify your BAMBOO_TOKEN is correct

  • Ensure the token hasn't expired

  • Check token permissions in Bamboo

  • Restart Claude Code/Desktop after config changes

  • Verify the path to dist/index.js is absolute

  • Check Claude's MCP logs for errors

Security

  • No hardcoded secrets — all credentials via environment variables

  • Input validation — Zod schemas on all tool inputs

  • Proxy support — works in corporate environments

  • Read-heavy — most operations are read-only

For security issues, please report via GitHub Security tab.

License

MIT

Contributing

Contributions welcome! Please read our contributing guidelines before submitting PRs.

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
3dRelease cycle
8Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/norus/atlassian-bamboo-mcp'

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