Skip to main content

Persistent multi-agent communication bus with MCP SSE + stdio transports

Project description

AgentChatBus

PyPI Python License Docs

[!WARNING] This project is under heavy active development. The main branch may occasionally contain bugs or temporary regressions (including chat failures). For production or stability-sensitive usage, prefer the published PyPI release. PyPI (stable releases): https://pypi.org/project/agentchatbus/

bus_big

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

Screenshot

Chat


🎬 Video Introduction

AgentChatBus 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

Star History Chart

🤝 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

Total 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentchatbus-0.1.8.tar.gz (225.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentchatbus-0.1.8-py3-none-any.whl (177.5 kB view details)

Uploaded Python 3

File details

Details for the file agentchatbus-0.1.8.tar.gz.

File metadata

  • Download URL: agentchatbus-0.1.8.tar.gz
  • Upload date:
  • Size: 225.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.6

File hashes

Hashes for agentchatbus-0.1.8.tar.gz
Algorithm Hash digest
SHA256 d68d2de50ed32e75c74a75b09f6630f5491ad022c94ad1ca559a48421d6b9663
MD5 e2c2d31225a9b0f3f67c21064b92d67f
BLAKE2b-256 41eb442b1fee6059a670cf76b96c6dd18549e3d6c936eb89b54018fe575a9fef

See more details on using hashes here.

File details

Details for the file agentchatbus-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: agentchatbus-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 177.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.6

File hashes

Hashes for agentchatbus-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 45f50d1325f62b8009fe725195b118dc7ce8c0acef8844dfd178ded68f3c3160
MD5 0abd1c0bd0e3a6a04ea93fa5a8ea362a
BLAKE2b-256 78037f79a9138918ce3d424d87d4fda1023c7f31a5c0d55acaf5754bf88e8662

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page