Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Bambam

БесплатноНе проверен

MCP server for agent-first Kanban board management, enabling agents to create, move, comment, and claim pebbles (cards) across statuses like requested, code_cre

GitHubEmbed

Описание

MCP server for agent-first Kanban board management, enabling agents to create, move, comment, and claim pebbles (cards) across statuses like requested, code_creation, testing, validation, and complete, with support for blocking, context feedback, and HIL (human-in-the-loop) transitions.

README

Pebbles are the work items on the board (also called cards in the API, CLI bambam card …, and SQLite cards table). Each has title, description, comments, and status:

requestedcode_creation (Code Creation) → testingvalidationcomplete

Agent policy: implementers advance requestedcode_creationtesting. Testing agents do not apply code fixes: they add findings and limited recommendations as comments, then move the pebble to requested when more work is needed; if fully passing, they move it to validation (no --hil required). Moving to complete requires a human operator: --hil on the CLI, hil=true on MCP tools, or BAMBAM_HIL=1. Moving to validation from any status other than testing also requires HIL (human skip-QA / rescue).

Context feedback: when you move a pebble, you can log how useful Bambam’s guidance was for the step you just finished: context_helpfulness 1–5 (5 = enough context, 1 = lots of extra file reads/searches) plus optional extra_lookups and feedback_note. CLI: bambam card move ID --status … --context-helpfulness 4 --extra-lookups 2. MCP: bambam_card_move with the same fields (context_helpfulness: 0 skips logging). bambam advise / MCP bambam_agent_instruction include the rating scale and recent feedback history.

Assignment: each pebble has assigned_agent_id (empty = unclaimed). Claim is not allowed while the pebble is in requested (backlog): move to code_creation first, then bambam card claim ID --agent-id my-agent. Another agent’s claim fails until you release or move the pebble (any status change clears the assignee). Use --agent-id on comment, update, and move (or set BAMBAM_AGENT_ID) when the pebble is assigned so only that agent can mutate it. MCP: bambam_card_claim, bambam_card_release, and acting_agent_id on comment/update/move. Human-oriented moves (--hil / BAMBAM_HIL=1 when required, or explicit --hil) bypass assignee checks as documented in code.

Blocked pebbles: if work pauses but the agent did not crash, mark the pebble blocked with a required hint: bambam card block ID --hint "…" --agent-id my-agent (or MCP bambam_card_block). This releases assignment; claim and normal move are disallowed until bambam card unblock / bambam_card_unblock (same blocker agent, or --hil / hil=true). A HIL-style move (explicit --hil / BAMBAM_HIL=1 when the transition requires HIL) clears blocked and updates status so humans can rescue stuck boards.

Quick start (development)

python3.13 -m venv .venv
source .venv/bin/activate
pip install -e ".[mcp,tui]"
python -m bambam init
python -m bambam card create --title "Example"
python -m bambam advise

Database: .bambam/kanban.sqlite under the current working directory, or override with BAMBAM_DB=/path/to/file.sqlite.

Human project index: bambam init records the project when you use the usual layout cwd/.bambam/kanban.sqlite (not when BAMBAM_DB or --db points elsewhere—use project add for those). Registry file: ~/.config/bambam/projects.sqlite (override with BAMBAM_CONFIG_DIR). Commands:

bambam project list
bambam project add /path/to/existing/repo   # register a board you created earlier
bambam project forget /path/to/repo         # remove registry entry only (keeps SQLite file)

Repo entrypoint: bambam.py (same as python -m bambam).

Install to ~/.local/bin/bambam

./install.sh              # default prefix ~/.local
./install.sh /opt/custom  # custom prefix → /opt/custom/bin/bambam

This creates a dedicated venv at {prefix}/libexec/bambam/venv so the CLI works from any directory.

MCP (Cursor / Claude Desktop)

Run the stdio server:

python -m bambam mcp

Example Cursor MCP config:

{
  "mcpServers": {
    "bambam": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["-m", "bambam", "mcp"],
      "env": {
        "BAMBAM_PROJECT_ROOT": "/absolute/path/to/repo"
      }
    }
  }
}

Omit env if the host starts the server with the workspace as cwd (then .bambam/kanban.sqlite is resolved there). Tools intentionally do not take project_root / db_path arguments — some clients serialize those badly; use BAMBAM_PROJECT_ROOT or BAMBAM_DB instead. bambam_card_list uses status with default "all" (not nullable) so clients don’t emit broken JSON for optional filters.

See docs/cursor-mcp.md for Cursor JSON errors and troubleshooting.

Tools include bambam_agent_instruction (markdown guidance keyed off pebble status) plus CRUD/move helpers (bambam_card_*).

TUI (live board)

Watch a single project’s SQLite board update in real time (polls the DB on an interval). The UI is five Kanban columns (requested → complete); pebbles move between columns as their status changes.

pip install -e ".[tui]"
bambam tui --project /path/to/repo
# optional: bambam tui --project . --interval 0.5

[ / ] move focus between columns; / move within a column; q quit; r refresh. Requires project/.bambam/kanban.sqlite.

Web GUI (read-only)

Five-column Kanban in the browser; view only (stdlib HTTP server + static HTML/JS). Refreshes from SQLite every ~2.5s.

bambam gui                          # board for current directory / BAMBAM_DB
bambam gui --project /path/to/repo  # project/.bambam/kanban.sqlite
bambam gui --port 8742 --no-open    # fixed port; don’t launch browser
bambam gui --host 0.0.0.0 --port 8742   # LAN (use with care)

Default --port 0 picks a free port and prints the URL.

Autonomous agent loop (no IDE hooks)

To run coding agents repeatedly against the board without wiring MCP into each harness, use AGENTS.md plus scripts/bambam-agent-loop.sh:

  • AGENTS.md — policy: how to pick pebbles, claim, comment, move, block, and respect HIL rules using the CLI (or MCP if available).
  • scripts/README.md — runner env vars, examples, and security note for BAMBAM_AGENT_CMD.

Quick example (after bambam is on your PATH):

export BAMBAM_AGENT_ID="loop-$(hostname)-$$"
export BAMBAM_AGENT_CMD='echo "Replace with your agent CLI; pebble $BAMBAM_NEXT_PEBBLE_ID ($BAMBAM_NEXT_PEBBLE_STATUS)"'
./scripts/bambam-agent-loop.sh /path/to/repo

Copy AGENTS.md and the scripts/ folder into any Bambam project you want to drive this way.

Advisory check (Claude Code)

projects/bambam_agent_validation/ seeds a board and runs claude -p to validate that bambam advise matches agent/HIL expectations. See that folder’s README.

Demo project

See projects/pacman/ — TypeScript + HTML canvas game; npm install && npm run build, then serve the folder (ES modules):

cd projects/pacman && python -m http.server 8765

Open http://127.0.0.1:8765/.

from github.com/timtty/ai-kanban-bambam

Установка Bambam

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/timtty/ai-kanban-bambam

FAQ

Bambam MCP бесплатный?

Да, Bambam MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Bambam?

Нет, Bambam работает без API-ключей и переменных окружения.

Bambam — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Bambam в Claude Desktop, Claude Code или Cursor?

Открой Bambam на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Bambam with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai