Skip to main content
Glama
mvadly

Bamboo MCP Server

by mvadly
README.md
# Bamboo MCP Server

MCP Server untuk manajemen CI/CD Pipeline Atlassian Bamboo dari Kiro IDE.

## Setup

### 1. Install di WSL

```bash
# Masuk ke WSL
wsl

# Install package ke virtual environment
cd /home/mvadly
source .venv/bin/activate
pip install /mnt/c/Users/90150244/mcp-servers/bamboo-mcp
```

### 2. Konfigurasi MCP di Kiro

Tambahkan entry berikut ke file `~/.kiro/settings/mcp.json` (di bagian `mcpServers`):

```json
"bamboo": {
  "command": "wsl",
  "args": [
    "bash",
    "-c",
    "BAMBOO_URL=https://bamboo.bri.co.id BAMBOO_TOKEN=YOUR_BAMBOO_TOKEN_HERE BAMBOO_SSL_VERIFY=false /home/mvadly/.venv/bin/python -m bamboo_mcp.server"
  ]
}
```

### 3. Environment Variables

| Variable | Keterangan | Required |
|----------|-----------|----------|
| `BAMBOO_URL` | URL server Bamboo (contoh: `https://bamboo.bri.co.id`) | Ya |
| `BAMBOO_TOKEN` | Personal Access Token dari Bamboo | Ya* |
| `BAMBOO_USERNAME` | Username (alternatif token) | Ya* |
| `BAMBOO_PASSWORD` | Password (alternatif token) | Ya* |
| `BAMBOO_SSL_VERIFY` | Set `false` untuk skip SSL verification | Tidak |

*Gunakan `BAMBOO_TOKEN` ATAU kombinasi `BAMBOO_USERNAME`/`BAMBOO_PASSWORD`.

### 4. Mendapatkan Bamboo Token

1. Login ke Bamboo
2. Klik profile icon > **Manage account**
3. Pilih **Personal access tokens**
4. Klik **Create token**
5. Beri nama dan permissions yang diperlukan
6. Copy token dan paste di konfigurasi

## Tools yang Tersedia

### Project & Plan Management
- `list_projects` - List semua project
- `list_plans` - List build plans (bisa filter per project)
- `get_plan` - Detail plan tertentu
- `get_plan_branches` - List branches dari plan
- `create_project` - Buat project baru
- `enable_plan` - Enable/disable plan
- `get_plan_variables` - Lihat variabel plan
- `set_plan_variable` - Set variabel plan

### Build Management
- `trigger_build` - Trigger build baru (bisa pilih branch & variabel)
- `get_build_result` - Lihat hasil build
- `list_build_results` - List history build
- `get_build_log` - Lihat build log
- `stop_build` - Stop build yang sedang berjalan

### Deployment Management
- `list_deployment_projects` - List deployment projects
- `get_deployment_project` - Detail deployment project
- `trigger_deployment` - Deploy ke environment tertentu
- `get_deployment_result` - Lihat status deployment

### Pipeline Generation
- `create_bamboo_specs_yaml` - Generate bamboo-specs YAML pipeline
- `create_bamboo_specs_java` - Generate Bamboo Specs Java configuration

### Queue & Agents
- `get_queue_status` - Status antrian build
- `list_agents` - List build agents

### Server
- `get_server_info` - Informasi server Bamboo

## Contoh Penggunaan

Setelah MCP terhubung, Anda bisa meminta Kiro:

- "List semua plans di project PAYROLL"
- "Trigger build untuk PAYROLL-CONV di branch feature/new-format"
- "Cek status build terakhir PAYROLL-CONV"
- "Buatkan pipeline CI/CD untuk project Go dengan Docker"
- "Deploy versi terbaru ke environment SIT"
- "Lihat log build yang gagal"

TDQS

A3.5/5.0

Scored across 22 tools

Disambiguation4/5

Most tools target distinct resources and actions, with clear boundaries between listing and getting details. There is slight overlap between the two create_bamboo_specs tools (YAML vs Java), but descriptions clarify the difference, so ambiguity is minimal.

Naming Consistency5/5

Tool names follow a consistent verb_noun pattern (e.g., list_projects, get_plan, trigger_build). Verbs like list, get, create, set, trigger are used predictably, and nouns align with domain concepts, making the set easy to navigate.

Tool Count5/5

22 tools cover the main aspects of Bamboo CI/CD (projects, plans, builds, deployments, agents, server info, and configuration generation) without redundancy. Each tool serves a distinct purpose, and the count feels appropriate for the domain.

Completeness3/5

Notable gaps exist: there is no create_plan tool (only config generation), no delete or update for projects/plans/deployments, and no list environments for deployments. These gaps limit full lifecycle management, though core monitoring and triggering operations are covered.

Maintenance

ActivityStale
ResponsivenessNo issues