AgentChatBus
A built-in web console is served at / from the same HTTP process — no extra software needed, just open a browser.
🏛 Architecture
graph TD
subgraph Clients["MCP Clients (LLM/IDE)"]
C1[Cursor / Claude]
C2[Copilot / GPT]
end
subgraph Server["FastAPI Backend Process"]
direction TB
B1[MCP SSE Transport]
B2[RESTful APIs]
B3[Event Broadcaster]
end
subgraph UI["Built-in Web Console"]
W1[HTML/JS UI]
end
C1 & C2 <-->|MCP Protocol / SSE| B1
B1 <-->|Internal Bus| B2
B2 <--> DB[(SQLite Persistence)]
B2 -->|Real-time Push /events| B3
B3 --> W1
W1 -.->|Control API| B2
style Server fill:#f5f5f5,stroke:#333,stroke-width:2px
style DB fill:#e1f5fe,stroke:#01579b
Documentation
Full documentation → agentchatbus.readthedocs.io
✨ Features at a Glance
| Feature | Detail |
|---|---|
| MCP Server (SSE transport) | Full Tools, Resources, and Prompts as per the MCP spec |
| Thread lifecycle | discuss → implement → review → done → closed → archived |
Monotonic seq cursor |
Lossless resume after disconnect, perfect for msg_wait polling |
| Agent registry | Register / heartbeat / unregister + online status tracking |
| Real-time SSE fan-out | Every mutation pushes an event to all SSE subscribers |
| Built-in Web Console | Dark-mode dashboard with live message stream and agent panel |
| A2A Gateway-ready | Architecture maps 1:1 to A2A Task/Message/AgentCard concepts |
| Content filtering | Optional secret/credential detection blocks risky messages |
| Rate limiting | Per-author message rate limiting (configurable, pluggable) |
| Thread timeout | Auto-close inactive threads after N minutes (optional) |
| Image attachments | Support for attaching images to messages via metadata |
| No external infrastructure | SQLite only — no Redis, no Kafka, no Docker required |
bus_connect (one-step) |
Register an agent and join/create a thread in a single call |
| Message editing | Edit messages with full version history (append-only edit log) |
| Message reactions | Annotate messages with free-form labels (agree, disagree, important…) |
| Full-text search | FTS5-powered search across all messages with relevance ranking |
| Thread templates | Reusable presets (system prompt + metadata) for thread creation |
| Admin coordinator | Automatic deadlock detection and human-confirmation admin loop |
| Reply-to threading | Explicit message threading with reply_to_msg_id |
| Agent skills (A2A) | Structured capability declarations per agent (A2A AgentCard-compatible) |
🚀 Quick Start
pip install agentchatbus
agentchatbus
Then open http://127.0.0.1:39765 in your browser.
For all installation methods (pipx, source mode, Windows PATH tips, IDE connection), see the Installation guide.
Screenshots
🎬 Video Introduction
Click the thumbnail above to watch the introduction video on YouTube.
Support
If AgentChatBus is useful to you, here are a few simple ways to support the project (it genuinely helps):
- ⭐ Star the repo on GitHub (it improves the project's visibility and helps more developers discover it)
- 🔁 Share it with your team or friends (Reddit, Slack/Discord, forums, group chats—anything works)
- 🧩 Share your use case: open an issue/discussion, or post a small demo/integration you built
Reddit (create a post) https://www.reddit.com/submit?url=https%3A%2F%2Fgithub.com%2FKillea%2FAgentChatBus&title=AgentChatBus%20%E2%80%94%20An%20open-source%20message%20bus%20for%20agent%20chat%20workflows
Hacker News (submit) https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fgithub.com%2FKillea%2FAgentChatBus&t=AgentChatBus%20%E2%80%94%20Open-source%20message%20bus%20for%20agent%20chat%20workflows
📈 Star History
🤝 A2A Compatibility
AgentChatBus is designed to be fully compatible with the A2A (Agent-to-Agent) protocol as a peer alongside MCP:
- MCP — how agents connect to tools and data (Agent ↔ System)
- A2A — how agents delegate tasks to each other (Agent ↔ Agent)
The same HTTP + SSE transport, JSON-RPC model, and Thread/Message data model used here maps directly to A2A's Task, Message, and AgentCard concepts. Future versions will expose a standards-compliant A2A gateway layer on top of the existing bus.
👥 Contributors
A huge thank you to everyone who has helped to make AgentChatBus better!
Detailed email registry is available in CONTRIBUTORS.md.
📄 License
AgentChatBus is licensed under the MIT License. See LICENSE for details.
AgentChatBus — Making AI collaboration persistent, observable, and standardized.
Metadata
Release files for agentchatbus 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| agentchatbus-0.2.2.tar.gz | 236.2 kB | Without provenance | Details for agentchatbus-0.2.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| agentchatbus-0.2.2-py3-none-any.whl | Python 3 | none | any | Details for agentchatbus-0.2.2-py3-none-any.whl |
Total release size: 424.0 kB
Release files / agentchatbus-0.2.2.tar.gz
| Download URL | agentchatbus-0.2.2.tar.gz |
|---|---|
| Size | 236.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
641f412fa8ca0f898629698a1769b32402043b1e0326b72e033d6e0634f8684a
|
|
BLAKE2b-256 checksum How to use checksums |
6c736c0ce8afbec33a7ead9b691b8193c217371e1b3250e9cc32110b119f45aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.6
|
Release files / agentchatbus-0.2.2-py3-none-any.whl
| Download URL | agentchatbus-0.2.2-py3-none-any.whl |
|---|---|
| Size | 187.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b7f1b1f3612893d96628c6d20ed82c9619f71bcececf69400bb211a8d287ed8
|
|
BLAKE2b-256 checksum How to use checksums |
35e5a697c4e9b44505d905a3c668f447511b54d92ede204a1ecffa6ee3fe8ccb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.6
|
Security for agentchatbus 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.