MCP Hub
Back to servers

Beads Village

A multi-agent coordination server that provides git-native issue tracking, atomic file locking, and cross-agent messaging to prevent conflicts in collaborative coding environments.

Stars
18
Forks
5
Tools
21
Updated
Dec 11, 2025
Validated
Jan 11, 2026

Beads Village

npm version npm downloads

Multi-agent MCP server for task coordination and file locking between AI agents.

Combines Beads (issue tracking) + built-in Agent Mail (messaging) to enable multiple agents to work on the same codebase without conflicts.

💡 Note: Messaging is built-in. No external mail server required. Inspired by MCP Agent Mail concept.

Use Cases

  • Multi-agent development: Multiple AI agents working on different parts of a codebase
  • Task queue management: Agents claim and complete tasks from a shared queue
  • File conflict prevention: Lock files before editing to prevent merge conflicts
  • Cross-agent communication: Send messages between agents for coordination

Quick Start

1. Install Prerequisites

pip install beads    # Required: Beads CLI
node --version       # Required: Node.js 16+

2. Install Beads Village

npx beads-village    # Recommended
# or: npm install -g beads-village
# or: pip install beads-village

3. Configure Your IDE/Agent

Claude Desktop

Edit claude_desktop_config.json:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "beads-village": {
      "command": "npx",
      "args": ["beads-village"]
    }
  }
}
Claude Code (CLI)
claude mcp add beads-village -- npx beads-village

Or create .mcp.json in project root:

{
  "mcpServers": {
    "beads-village": {
      "command": "npx",
      "args": ["beads-village"]
    }
  }
}
Cursor

Create .cursor/mcp.json:

{
  "mcpServers": {
    "beads-village": {
      "command": "npx",
      "args": ["beads-village"]
    }
  }
}
GitHub Copilot (VS Code)

Add to VS Code settings.json:

{
  "github.copilot.chat.mcp.servers": {
    "beads-village": {
      "command": "npx",
      "args": ["beads-village"]
    }
  }
}
More IDEs (OpenCode, Cline, Roo Code, Zed, Continue...)

See 📖 Full Setup Guide for complete configuration instructions for all supported IDEs and agents.


Workflow

init() → claim() → reserve() → [work] → done() → RESTART
StepDescription
init()Join workspace (call FIRST)
claim()Get next task
reserve()Lock files before editing
done()Complete task, release locks
RESTARTNew session for next task

📖 Detailed Workflow Guide - Patterns, examples, best practices


Documentation Guide

Choose the right documentation for your AI model:

DocumentBest ForSize
AGENTS-LITE.mdHigh-capability models (Claude 3.5+, GPT-4+, Gemini Pro) with limited context~1.5KB
AGENTS.mdAll models, comprehensive reference with examples~16KB
docs/SETUP.mdSetup instructions for all IDEs/agents~6KB
docs/WORKFLOW.mdWorkflow patterns and best practices~5KB

When to Use Which

┌─────────────────────────────────────────────────────────────┐
│                    Model Capability                          │
├─────────────────────────────────────────────────────────────┤
│  HIGH (Claude 3.5+, GPT-4o, Gemini 1.5 Pro)                 │
│  └─→ Use AGENTS-LITE.md (minimal tokens, maximum signal)    │
│                                                              │
│  MEDIUM (Claude 3 Haiku, GPT-4o-mini, smaller models)       │
│  └─→ Use AGENTS.md (detailed examples needed)               │
│                                                              │
│  LARGE CONTEXT (128K+ tokens available)                      │
│  └─→ Use AGENTS.md (comprehensive reference)                │
│                                                              │
│  LIMITED CONTEXT (<32K tokens)                               │
│  └─→ Use AGENTS-LITE.md (save tokens for code)              │
└─────────────────────────────────────────────────────────────┘

Tools Overview

CategoryToolsDescription
Lifecycleinit, claim, doneTask workflow
Issuesadd, assign, ls, showTask management (ls supports status="ready")
Filesreserve, release, reservationsConflict prevention
Messagesmsg, inboxAgent communication (msg with global=true for broadcast)
StatusstatusTeam visibility (use include_agents=true for discovery)
Maintenancesync, cleanup, doctorHousekeeping
Graph Analysisbv_insights, bv_plan, bv_priority, bv_diffRequires optional bv binary
Dashboardvillage_tuiLaunch visual TUI dashboard

Beads Viewer Integration (Optional)

The dashboard works without bv. Install bv only if you need advanced graph analysis.

Dashboard Features (Built-in, no bv needed)

PanelDescription
TeamsClick to filter agents by team
AgentsShows online/offline status, current task
Tasks BoardKanban view (Open/In Progress/Blocked/Closed)
Task DetailClick any task for full details + activity
File LocksActive file reservations with TTL
MessagesRecent broadcasts and done notifications
Filter RecipesQuick filters: All, Actionable, Blocked, High Impact, Stale

Graph Insights (Requires bv)

FeatureWithout bvWith bv
Keystones, Bottlenecks
PageRank, Betweenness
Cycle Detection
Parallel Execution Plan

Launch Dashboard

# Run dashboard for current directory
python -m beads_village.dashboard

# Run dashboard for specific workspace
python -m beads_village.dashboard "C:\path\to\workspace"

# Auto-start when leader inits
init(leader=True, start_tui=True)

Keyboard Shortcuts

KeyAction
1-8Focus different panels
TabNavigate between panels
j/kScroll up/down
rRefresh data
tToggle dark/light theme
qQuit

Alternative: bv Binary (Go)

For advanced graph analysis, install the optional bv binary:

Installation

# Option 1: Go install (recommended)
go install github.com/Dicklesworthstone/beads_viewer/cmd/bv@latest

# Option 2: Download binary from releases
# https://github.com/Dicklesworthstone/beads_viewer/releases

New Tools (when bv available)

ToolDescription
bv_insightsGraph analysis (PageRank, Betweenness, bottlenecks, cycles)
bv_planParallel execution tracks for multi-agent work
bv_priorityPriority recommendations based on graph metrics
bv_diffCompare changes between git revisions

Note: bv_tui and bv_status have been merged into village_tui and status(include_bv=true)

Usage Examples

# Get graph insights for AI decision making
bv_insights()

# Get priority recommendations
bv_priority(limit=5)

# Launch unified TUI dashboard
village_tui()

# Auto-start TUI when leader inits
init(leader=True, start_tui=True)

# Check bv availability via status
status(include_bv=True)

Architecture with bv

┌─────────────────────────────────────────────────────────────┐
│                     MCP Beads Village                        │
├─────────────────────────────────────────────────────────────┤
│  Core Tools              │  bv Tools (optional)             │
│  ──────────              │  ─────────────────               │
│  init, claim, done       │  bv_insights (graph metrics)     │
│  reserve, release        │  bv_plan (execution tracks)      │
│  msg, inbox, broadcast   │  bv_priority (recommendations)   │
│  ls, show, add           │  bv_tui (dashboard)              │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                     bv Binary (Go)                           │
│  - 9 Graph algorithms: PageRank, Betweenness, HITS, etc.    │
│  - Robot mode: Pre-computed JSON for AI agents              │
│  - TUI mode: Kanban, graph viz, insights dashboard          │
└─────────────────────────────────────────────────────────────┘

Architecture

┌─────────────────────────────────────────────────────────────┐
│                     Shared via Git                          │
│  .beads/        .mail/           .reservations/             │
│  (tasks)        (messages)       (file locks)               │
└─────────────────────────────────────────────────────────────┘
        ▲               ▲                  ▲
        │               │                  │
   ┌────┴────┐    ┌─────┴────┐      ┌──────┴─────┐
   │ Agent 1 │    │ Agent 2  │      │  Agent 3   │
   │ (FE)    │    │ (BE)     │      │  (Mobile)  │
   └─────────┘    └──────────┘      └────────────┘

Configuration Summary

ClientConfig LocationConfig Key
Claude Desktopclaude_desktop_config.jsonmcpServers
Claude Code.mcp.jsonmcpServers
Cursor.cursor/mcp.jsonmcpServers
GitHub Copilotsettings.jsongithub.copilot.chat.mcp.servers
Amp Code.amp/settings.jsonamp.mcpServers
Kilo Codesettings.jsonkilocode.mcpServers
Windsurf~/.windsurf/mcp.jsonmcpServers
OpenCodeopencode.jsonmcpServers
ClineCline settingsmcpServers
Roo CodeRoo settingsmcpServers
ZedZed settingscontext_servers
Continueconfig.yamlmcpServers

📖 Complete Setup Instructions


Environment Variables

VariableDefaultDescription
BEADS_AGENTagent-{pid}Agent name
BEADS_WSCurrent dirWorkspace path
BEADS_TEAMdefaultTeam name
BEADS_USE_DAEMON1Use daemon if available

Troubleshooting

IssueSolution
bd: command not foundpip install beads
MCP server not startingCheck Node.js 16+
Tools not appearingRestart IDE after config
# Verify installation
bd --version
node --version
npx beads-village --help

Links


Changelog

v1.3.2 - Dashboard Launch Fix (Windows)

Bug Fixes:

  • Fixed village_tui tool not launching dashboard correctly on Windows
  • Improved command escaping for paths with spaces
v1.3.1 - CLI Flag Fix

Bug Fixes:

  • Fixed --tag flag error in add tool - now uses correct --labels flag for bd create
  • Fixed --tag flag error in assign tool - now uses correct --add-label flag for bd update
  • Fixed daemon fallback detection for --labels and --add-label flags
v1.3.0 - Tool Consolidation & Dashboard Enhancements

Tool Consolidation (26 → 21 tools):

  • broadcast merged into msg(global=true, to="all")
  • discover merged into status(include_agents=true)
  • ready merged into ls(status="ready")
  • bv_status merged into status(include_bv=true)
  • bv_tui merged into village_tui

Dashboard Enhancements:

  • Added Graph Insights panel (Keystones, Influencers, Cycles)
  • Added Filter Recipes panel (All, Actionable, Blocked, High Impact, Stale)
  • Dashboard works without bv binary (graph insights require bv)
  • Improved scrollbar and alignment
  • Status icons for issues (○ open, ◐ in_progress, ✕ blocked, ✓ closed)
v1.2.0 - Textual Dashboard & Optimizations
  • Built-in Textual Dashboard - python -m beads_village.dashboard for monitoring
  • Auto-start TUI - init(leader=true, start_tui=true) launches dashboard automatically
  • Stateless team discovery - Dashboard reads agents from .mail messages (no registry file needed)
  • Cross-workspace task lookup - Task details fetched from correct workspace
  • I/O optimization - Mail messages cached, reducing disk reads by 80%
  • UX improvements - Click navigation: Teams → Agents → Tasks → Task Detail
v1.1.2 - Role-Based Task Assignment
  • Leader/Worker agents - init(leader=true) for leaders, init(role="fe") for workers
  • Role tags on tasks - add(tags=["fe"]) to assign tasks to specific roles
  • Auto-filtered claim - Workers only see tasks matching their role
  • assign() tool - Leaders can explicitly assign tasks to roles
v1.1.1 - Token Optimization
  • Tool descriptions reduced by ~50%
  • Instructions reduced by ~80%
  • Added AGENTS-LITE.md - 1.3KB quick reference

License

MIT

Reviews

No reviews yet

Sign in to write a review