MCP Wrapper for BEADS is a lightweight and extensible wrapper that enables seamless integration of the BEADS framework as a Model Context Protocol (MCP) server
Beads MCP Wrapper Server
This project is a stdio MCP server that exposes Beads CLI commands as MCP tools. It lets MCP clients (for example VS Code Copilot Chat in agent mode) call Beads through structured tool invocations.
What This Server Does
It maps MCP tool calls to Beads CLI operations:
beads_initbeads_readybeads_listbeads_showbeads_createbeads_closebeads_dep_addbeads_exec(advanced/raw command passthrough)
Prerequisites
You need all of the following:
- Node.js installed (recommended Node 18+)
@beads/bdinstalled globally or locally (you needbd.exeon Windows)- Dolt installed and available in PATH (Beads uses Dolt for state/repository backend)
Install @beads/bd (choose one)
Global install:
npm install -g @beads/bd
Local install (inside this wrapper folder):
cd scripts/beads-mcp-server
npm install @beads/bd
Install Dolt
Install Dolt from:
https://docs.dolthub.com/introduction/installation
After install, verify:
dolt --version
Install Wrapper Dependencies
cd scripts/beads-mcp-server
npm install
Configure MCP (mcp.json)
Add this server under servers in your VS Code user MCP config.
Recommended Windows config (explicit bd.exe path)
"beads-wrapper": {
"type": "stdio",
"command": "node",
"args": [
"C:/path/server.mjs"
],
"env": {
"BEADS_CWD": "workingdir",
"BEADS_BIN": "Pathtobid"
}
}
If using global bd in PATH
You can omit BEADS_BIN, and the wrapper will use:
- Windows:
bd.exe - Linux/macOS:
bd
Environment Variables
The wrapper supports these environment variables:
BEADS_CWD: default working directory for all Beads commandsBEADS_BIN: full path to Beads binary (bd.exeon Windows)
Notes:
- If a tool call passes
cwd, that value overridesBEADS_CWD. cwdcan be a normal path or afile:///URI.
How To Use
- Save
mcp.jsonchanges. - Reload VS Code window.
- Start (or restart) the
beads-wrapperMCP server. - Call tools from your MCP client.
Typical Flow
Initialize Beads in your project:
beads_initwithcwd
Check ready work:
beads_ready
Create an issue:
beads_createwithtitle, optionaltype, optionalpriority
Inspect and close:
beads_showbeads_close
First-Time Validation Checklist
Use this order when validating a new machine:
beads_execwith args['--version']beads_initbeads_readybeads_createbeads_list
Troubleshooting
Server shows Running but no output
This is normal for stdio MCP servers. They are mostly silent until a tool is called.
spawn EINVAL
Usually means child-process execution/config mismatch on Windows.
Check:
commandisnode(or full path tonode.exe)argspoints to the realserver.mjsBEADS_BINpoints to a validbd.exe- Restart MCP server after config changes
Beads command fails with Dolt error
Example symptoms:
- "failed to open Dolt store"
- "dolt is not installed"
Fix:
- Install Dolt
- Ensure
doltis in PATH - Restart VS Code and rerun
beads_init
beads_init succeeds but warns about server host
If you see a warning about host defaulting to 127.0.0.1, this is informational for local use.
For remote Dolt, configure host explicitly through Beads/Dolt settings.
Publishing Notes
If you share/upload this wrapper, document these external requirements clearly:
- Node.js runtime
@beads/bdinstallation (global or local)- Dolt installation and runtime availability
Without Dolt, the MCP wrapper can start, but Beads initialization and state operations will fail.