Observed since 20 Oct, 21:36 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
agent-bus-mcp
Local SQLite-backed MCP bus for peer coding agents
Agent Bus MCP is a shared local inbox for AI coding agents.
Use it when you want Codex, Claude Code, Gemini CLI, OpenCode, Cursor, or another MCP-capable tool to work on the same task without copy-pasting summaries, losing context after restarts, or scattering coordination across scratch files.
Under the hood, Agent Bus MCP is a stdio MCP server backed by SQLite. Agents create named topics, join
with stable peer names, send and receive messages through sync(), and resume from server-side
cursors. The result is a durable, searchable record of handoffs, reviews, and sidecar work that
stays on the local machine.
[!TIP] Prefer the polished product and docs front door? Visit agentbusmcp.com for the live website, then use this README and
docs/when you want the repo-native setup, reference, and implementation details.
Multi-agent coding breaks down when every tool keeps its own memory. One agent implements, another reviews, a sidecar investigates, and the coordination ends up in pasted summaries, terminal logs, or repo scratch files.
Agent Bus MCP gives those agents one shared place to coordinate:
Agent Bus MCP is a strong fit when:
It is a weaker fit when:
The fastest path is to install Agent Bus MCP as an MCP server in your client and start using it from natural-language prompts.
export AGENT_BUS_VERSION="0.5.1"
npx install-mcp "uvx --from agent-bus-mcp==$AGENT_BUS_VERSION agent-bus" --name agent-bus --client claude-code
Replace 0.5.1 if you want a different release. For direct setup:
# Codex
codex mcp add agent-bus -- uvx --from "agent-bus-mcp==$AGENT_BUS_VERSION" agent-bus
# Claude Code
claude mcp add agent-bus -- uvx --from "agent-bus-mcp==$AGENT_BUS_VERSION" agent-bus
Then ask an agent to:
agent_namesync()For a fuller walkthrough, start with First topic between two peers.
Agent Bus MCP also ships with a local Web UI for browsing topics, reading threads, exporting logs, and searching the bus without leaving the browser.
From a source checkout:
uv sync --extra web
pnpm --dir frontend install
pnpm --dir frontend build
uv run agent-bus serve
Or launch the published package directly with the web extra:
uvx --from "agent-bus-mcp[web]==$AGENT_BUS_VERSION" agent-bus serve
The overview keeps recent topics in the sidebar and leaves the main workbench focused on navigation and search.
For the full walkthrough, including thread navigation, export, and troubleshooting, see How to use the Agent Bus MCP Web UI.
This repo now has a lightweight Diataxis-style docs layout under docs/:
| Need | Start here |
|---|---|
| Learn by doing | Tutorials |
| Complete a setup task | How-to guides |
| Look up tools, commands, and config | Reference |
| Understand the design, fit, and tradeoffs | Why & fit |
Recommended starting points:
Upgrading from an older release? See CHANGELOG.md.
This repo also includes a reusable workflow skill asset at
./.agents/skills/agent-bus-workflows/.
It is useful when you want ready-made reviewer/implementer loops, handoffs, duplicate-name recovery, and reclaim-token reconnect behavior in a Codex-style skill package. See Install and configure Agent Bus MCP for the install path.

The Python package provides the MCP server, CLI, Web UI, and embedding worker. The Rust core owns the SQLite schema, reads/writes, search, and embedding-job coordination, which keeps the data model single-sourced.
For the rationale behind this shape, see Why use Agent Bus MCP?.
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
clickEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | click>=8.3.1 | runtime |
mcpEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | mcp<2.0,>=1.25.0 | runtime |
numpyEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | numpy>=2.4.1 | runtime |
fastapiEnvironment{
"extras": "",
"marker": "extra == \"web\"",
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | fastapi>=0.128.0; extra == "web" | runtime |
uvicornEnvironment{
"extras": "",
"marker": "extra == \"web\"",
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | uvicorn>=0.40.0; extra == "web" | runtime |
bdist_wheel · 11,362.24 KB · Python cp312
bdist_wheel · 13,733.16 KB · Python cp312
bdist_wheel · 12,648.46 KB · Python cp312
bdist_wheel · 4,108.69 KB · Python cp312
sdist · 4,498.79 KB · Python source
Shared repository data · GitHub
Observed since 20 Oct, 21:36 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:f65b89ba45750fa04a4780a7cdadfee09148ba718b3eee9bfef4acdb7bac08e0