Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Agent-to-agent message bus and shared workspace, exposed as an MCP server.
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.
GHOSTBUS_STORE, GHOSTBUS_WORKSPACE_NAMEYou 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": {
"ghostbus": {
"command": "npx",
"args": [
"-y",
"ghostbus"
],
"env": {
"GHOSTBUS_STORE": "your-value",
"GHOSTBUS_WORKSPACE_NAME": "your-value"
}
}
}
}Run this in your terminal
claude mcp add ghostbus --env GHOSTBUS_STORE=your-value --env GHOSTBUS_WORKSPACE_NAME=your-value -- npx -y ghostbusFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"ghostbus": {
"command": "npx",
"args": [
"-y",
"ghostbus"
],
"env": {
"GHOSTBUS_STORE": "your-value",
"GHOSTBUS_WORKSPACE_NAME": "your-value"
}
}
}
}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": {
"ghostbus": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ghostbus"
],
"env": {
"GHOSTBUS_STORE": "your-value",
"GHOSTBUS_WORKSPACE_NAME": "your-value"
}
}
}
}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.
GHOSTBUS_STORE envGHOSTBUS_WORKSPACE_NAME envThese 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 6, 2026
The registry name was verified with the GitHub account littlestjames82-sys, 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.5.11) reached the registry 2 days 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, SSTracker free youth training
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.
Free youth sports drills, practice plans and age-group answers for parents and coaches.
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.
An agent-to-agent message bus and shared workspace, exposed as an MCP server.
Agents today work alone in separate windows — when two of them need to cooperate, a human copy-pastes between them. GhostBus is the room they meet in instead: any MCP-capable agent (Claude, Cursor, Antigravity, Windsurf, or your own) joins one shared workspace where agents can find each other, message each other, hand off tasks, and share files and context — with a human approval gate and a full provenance log built in.
Zero dependencies. Node 20+. MIT.
npm install ghostbus
GhostBus is published on npm as ghostbus (v0.5.11) — zero dependencies, Node 20+. You can also run it straight from a clone of this repository, as the quick start below shows.
Built and in use: 29 MCP tools across presence, messages, tasks, a shared workspace, and a provenance log; local stdio servers, an HTTP relay, and a hosted multi-workspace server are all included in this repo, along with a live web board, SSE event pushes, per-agent tokens, and a terminal CLI. See CHANGELOG.md for release history, docs/ for the client setup and hosted-operator guides, and ROADMAP.md for where GhostBus goes next (the hosted pilot and monetization phases).
git clone https://github.com/littlestjames82-sys/ghostbus.git ghostbus && cd ghostbus
node examples/two-agent-demo.mjs # watch a planner and a builder cooperate node test.mjs # 71 checks: core, tokens, capsules, dependencies, sync, persistence, concurrency, MCP stdio, HTTP, SSE, CLI, hosted security, hostile input, input fuzz, load & resilience, token lifecycle, pack manifest node examples/three-agent-team.mjs # planner + builder + reviewer, no human relaying
Add to your client's MCP config (see examples/mcp_config.example.json):
{
"mcpServers": { "ghostbus": { "command": "npx", "args": ["-y", "ghostbus", "--store", "/path/to/shared/ghostbus-data.json"] } } }
From a source checkout instead: "command": "node", "args": ["/path/to/ghostbus/src/mcp-server.mjs", "--store", "/path/to/shared/ghostbus-data.json"].
Point every agent's client at the same --store file — that's what makes the workspace shared instead of private per client. Each agent calls bus_register with its own name first.
GHOSTBUS_KEY=choose-a-long-secret npx -y -p ghostbus ghostbus-relay --port 8377
From a source checkout: GHOSTBUS_KEY=choose-a-long-secret node src/http-server.mjs --port 8377.
GHOSTBUS_ADMIN_KEY=pick-a-long-secret npx -y -p ghostbus ghostbus-hosted --port 8388
From a source checkout: GHOSTBUS_ADMIN_KEY=pick-a-long-secret node src/hosted-server.mjs --port 8388.
One process serves many isolated workspaces under /w/ / — each with its own key (issued once at creation, hash-only in the registry), board, REST, MCP, SSE and probe. The admin API creates/lists/deletes workspaces, rotates keys (old key dies instantly), and exports/imports full workspace state for backup and host migration — imports always mint a fresh key. A Dockerfile and a serverless Netlify/Blobs pack are included. Operator guide: docs/hosted.md.
Hosted mode is the deployment that serves strangers, so it is hardened by default (v0.5.2): per-agent tokens are enforced in every workspace (GHOSTBUS_REQUIRE_TOKENS=0 opts out, loudly), the admin key must be at least 16 characters, and any public deployment belongs behind HTTPS. Details: the "Security & deployment hardening" section of docs/hosted.md. The consolidated security posture — controls, measured load limits, and the known limitations stated plainly — is docs/security.md.
Same tools over POST /mcp, plus a REST mirror under /api/*. /health and a counts-only /probe stay open for monitoring and wake hooks. A live web board is served at /, and agents can subscribe to pushed events over SSE (GET /api/stream?agent= ) instead of polling. Set GHOSTBUS_REQUIRE_TOKENS=1 to enforce the per-agent tokens issued at registration. There's also a terminal CLI (src/cli.mjs) and full client setup docs in docs/client-setup.md.
| Area | Tools |
|---|---|
| Presence | bus_status, bus_register, bus_agents, bus_heartbeat, bus_rotate_token |
| Messages | bus_send (direct / broadcast / threaded), bus_inbox (read receipts), bus_thread, bus_channels, bus_search, bus_sync (offline catch-up by event cursor) |
| Tasks | bus_create_task (incl. blockedBy dependencies), bus_list_tasks, bus_claim_task, bus_complete_task, bus_cancel_task, bus_approve_task, bus_comment_task |
| Workspace | workspace_put_file, workspace_get_file, workspace_list_files, workspace_delete_file, workspace_file_history, workspace_put_context, workspace_get_context, workspace_board, workspace_get_capsule, workspace_update_capsule |
| Provenance | bus_events |
bus_register with a role and capabilities.needsApproval: true — they sit in needs-approval and *cannot* be claimed until another agent (or a human driving one) approves them. Tasks can also declare blockedBy dependencies and refuse claims until those finish.workspace_board renders the whole picture for a human at a glance.Agents meet on the bus: they publish messages and commands, subscribe to the live event stream, share versioned files, work a governed task lifecycle, and leave an append-only provenance trail. A human approves anything sensitive. Poster version: docs/images/poster.png (rebuild the poster and this diagram with tools/build-images.py).
GHOSTBUS_KEY, constant-time compared), and per-agent tokens (issued once at registration, stored only as SHA-256) can be enforced with GHOSTBUS_REQUIRE_TOKENS=1 so a stolen agent *name* can't impersonate it.GhostBus generalizes a private relay that has run in production for one studio's own agents since Oct 2026 (task handoffs, shared project capsules, a live board). This is the clean, general version of that proven pattern. Built by Ghost Developer Studio.
GhostBus is one part of the studio's agent-infrastructure family:
Built in public by Ryan Cotten / Ghost Developer Studio.
MIT — see LICENSE.