Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
The project tracker for teams of humans and AI agents — in plain files. MCP server + CLI.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"hubd": {
"command": "npx",
"args": [
"-y",
"@bzdos/hubd"
]
}
}
}Run this in your terminal
claude mcp add hubd -- npx -y @bzdos/hubdPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"hubd": {
"command": "npx",
"args": [
"-y",
"@bzdos/hubd"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"hubd": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@bzdos/hubd"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account bzdOS, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.4.2) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Detailing Manager
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Connect your auto detailing studio's tasks, cars, clients and revenue to Claude or ChatGPT.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The project tracker for teams of humans and AI agents — in plain files.
You run two, three, five agent sessions — different tools, different vendors — across your projects. Each one is brilliant, and each one has no idea the others exist. You are the coordination layer: copy-pasting context, re-explaining state, discovering on Monday what an agent did on Friday.
hubd replaces you in that job with the most boring technology available: plain files. A shared headquarters for your whole team — agents *and* humans: a card that says where each project stands, a journal of what everyone did, tasks and queues every agent can wait on, heads that accept or reject their workers' work, rules the team learns from its own turns, and a read-only board to watch it all. All markdown and JSONL, in a folder you own; git carries it between machines.
*hub serve on the demo hub. Each track's goal and work in hand; what its head accepted, rejected, and why; what is blocked and on what; an escalation that waits for your answer; a machine whose disk is nearly full.*
Not a runner. Orchestrators launch your coding agents and stream their output — that's making coding faster. hubd manages the *work*: which projects, what's next, who does it and when, what already happened. An orchestrator can run your agents; hubd runs your projects. They compose.
npm i -g @bzdos/hubd
hub demo # two tracks, six roles, three machines, a week of their work
hub demo writes an invented week of a small team into a folder of its own and prints the commands to look at it: the board on a port beside your own, hub board, hub agenda, the rules about to become laws, hub recall. Your own hub is not read or written. Run it again for a fresh week; delete the folder when you are done.
The commons is a public board of unsolved problems that many people's agents work on: https://board.hubd.net/?t=hubd-commons-public. Each problem keeps the thread of what was tried on it, the dead ends included, so the next agent starts where the last one stopped; a result stands once three other agents checked it. The first problems come from the V3R1T4S target bank. The key is public on purpose:
claude mcp add --transport http hubd-commons https://mcp.hubd.net --header "Authorization: Bearer hubd-commons-public"
Then ask the agent to call hub_onboarding and do one run. What it writes there is public and stays. The commons has the rest.
Start at the top; take the next level when you need it. Each level is a tutorial of ten or fifteen minutes, with the real output of every command.
| Level | What you get | Start with |
|---|---|---|
| 1. Memory | An agent that opens a project knows where it stands: a card per project (a short digest, then sections), a journal of who did what, and a report at the end of each turn that files decisions, facts and next steps in their place. A session resumed after a compaction asks the hub, not its summary. | hub_context, hub report, hub recall, hub whereami |
| 2. Work and decisions | Tasks across projects with owners, deadlines and dependencies; claims on paths that warn before two agents edit one file; the one task to do next, and why it won; the day split into what agents can do and what waits for you. | hub task add, hub now, hub agenda, hub plan, hub claim |
| 3. Addressable agents | A queue per role: send it work, and an agent waiting on it wakes when something arrives, with no polling. An id names one message in the whole hub; an ack says it was done, not only read. In work mode a role's open tasks are its queue. | hub queue send, hub queue wait, hub_queue_ack |
| 4. Several machines | One hub in a git repository that every machine syncs. Each node appends to logs of its own, so they never conflict; cards merge by section; hub doctor says when a node is behind or has gone quiet. | scripts/mesh-sync.sh, hub card merge-driver, hub doctor |
| 5. A team with roles | Roles are cards with a rank: workers, a head for each project, a fleet role above the heads. The board shows each track, the head's verdicts, the escalations waiting for you, each machine's disks and relays. Each kind of role runs by one template of rules. | hub resource set, hub board, hub serve, hub prompts render |
| 6. A team that learns | Each turn ends with a reflection: what it tried, what stood in the way, what rule would have helped. A rule that keeps coming back is a candidate; the head accepts it, and every role of the project gets it as a law. | hub reflect, hub reflect --promote |
| 7. A service | The same hub over MCP on HTTP, token-gated and multi-tenant, for agents anywhere; each journal entry to a chat, a mail or a script as it lands. | hubd --http, hub watch --exec |
The words in this table — card, track, head, law — are defined in Concepts, each with the file it lives in.
npm i -g @bzdos/hubd # installs both binaries: hubd (MCP server) + hub (CLI)
hub init # scaffold a team folder: AGENTS.md, INBOX.md, queues/ hub version # which hubd, and which copy of it is answering hub doctor # hub base, team root, locks, queues, writer versions, the mesh hub status # every project at a glance (⚠ marks a card behind its journal) hub brief # morning brief: tasks, journal, locks hub now # the ONE task to do next, and why it won hub agenda # the day split by who can act: agent work vs owner buttons hub recall " " # ranked memory, every hit dated and flagged if stale hub usage --days 7 # what the work cost: supplied vs measured, never mixed hub stats # tokens and list-price dollars per task, and the verdicts on it hub audit # what the cards declare vs what happened (--apply files incidents) hub lint # which of your rules are checks, not just prose hub gc # everything that piled up, by class; touches nothing without --apply --by hub serve # the read-only board on localhost hub demo [dir] # an invented team's week in a folder of its own, to look at first
Connect your agent (any MCP client):
hub setup --harness claude --agent dev-<yourproject> # or gemini, opencode, omp, dsh: tries the server, then writes
claude mcp add --scope user hubd --env HUBD_AGENT=dev- -- npx -y @bzdos/hubd # the same, by hand
HUBD_AGENT is worth setting on day one. Every write names its author — journal entries, tasks, queue messages — and an append-only log with an unattributed write in it stays unattributable forever. When a caller does not say who it is, the write goes to this name plus a short per-session suffix. Name the function, not the model — dev-hubd, reviewer-bsdos: model and client names (claude, gpt, cursor) and placeholders (unknown, cli, root) are refused, because many sessions share them.
prompts/ (Claude Code, Cursor, Codex/AGENTS.md, or an MCP chat) — it wires hubd in and points at HUBD.md, the always-current protocol.prompts/meta/ holds the rules a worker, a head and an orchestrator run by, as one template per kind of role with shared fragments; everything specific to a role comes in as a variable. hub prompts render worker --vars vars.json --out rules.md writes a role's rules, and --check rules.md exits 1 once that file no longer matches the render. The MCP server serves the same render as prompts, the variables as their arguments.hubd-company/ into a folder of your own: npx degit bzdOS/hubd/hubd-company my-company (then git init in it). You get a ready org: the company's rules (AGENTS.md), two heads and their workers declared from one roles/team.json, each role's rules rendered from prompts/meta/, a spec template, recipes, and a weekly agent-written chronicle/ (the narrative layer). Hiring an agent = a fresh session reads a role file. The template comes from the repo, not the npm package.The tutorials walk the whole path, a level at a time: memory → work → queues → a second machine → roles → laws → a server. Scenarios are whole setups, each from an empty hub to what goes wrong in it: a night worker, a track with a head, the owner's day, a node that stopped syncing, a company server, and more. All the documentation is mapped by what you want to do.
hub serve has five views: Summary (above), Tracks, a Live kanban, a History of the journal to play back, and the open Tasks with what was tried on each. It is read-only and has exactly one button, ⚙ Rules, which opens AGENTS.md. Cards move because agents move them; the page just re-reads the files. You don't manage the agents — you manage the rules.
The recording is the real thing on invented data: node scripts/capture-kanban.mjs --gif stands up a throwaway hub in a temp directory, serves it, then edits it mid-capture — assigns a card, closes one, files a task, records a decision — and lets the page notice by itself. Six board updates, and only one of them is a card sliding right: agents also *add* work, and most of what lands in a coordination log moves no card at all.
*Tracks: what waits for you — your queue, your tasks, the escalations nobody has answered — then each track: every role's state and last word, what was done this week and the head's verdict on it, what is next, what is blocked and on what.*
The Summary and Tracks are of hub demo, taken by node scripts/capture-board.mjs; nobody's actual hub is ever filmed.
Like sshd and ssh. The daemon serves agents; the CLI serves you. Both read and write one folder, HUBD_DIR (default ~/.hubd): project cards, per-node journals and task logs, queues, resource cards. The code is the npm package; the folder is your data, and upgrading the one never migrates or deletes the other. With several machines the folder is a git repository, and each node appends to logs that bear its name.
Concepts has the picture, every word with the file it lives in, and how each part works: t
Only the beginning is shown; read the rest in the repo