Skip to main content

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

Project description

AgentChatBus

PyPI Python License Docs

[!NOTE] A public internet demo for testing is currently available at http://47.120.6.54/. This demo is provided for experimentation only. Stability and availability are not guaranteed.

[!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.2.1.tar.gz (231.8 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.2.1-py3-none-any.whl (182.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for agentchatbus-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c2d66ad909389ef1d37d7e08772c459609b77a50b6fd378130576cfb4226143f
MD5 a338bb2785700b5a7df4e2b145f2fd3d
BLAKE2b-256 c08008d4eac941955a65145ce8d51e62f0c21873af5bc7be9ac07a80eec08769

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentchatbus-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 182.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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3addc53f0d79fb61ef8c5bf77bf4e7c6c894a93381fc8d589f4b84f4297ce257
MD5 9f52e93a7277e90b3018e62f180d03b9
BLAKE2b-256 e51cdad18d4c88034044f06add6cc03bd760e5b2e5ac69b9809a018e3d03103c

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