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.2.tar.gz (236.2 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.2-py3-none-any.whl (187.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agentchatbus-0.2.2.tar.gz
  • Upload date:
  • Size: 236.2 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.2.tar.gz
Algorithm Hash digest
SHA256 641f412fa8ca0f898629698a1769b32402043b1e0326b72e033d6e0634f8684a
MD5 4de9eb39164c34226c8bd5a33bcfdf26
BLAKE2b-256 6c736c0ce8afbec33a7ead9b691b8193c217371e1b3250e9cc32110b119f45aa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentchatbus-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 187.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2b7f1b1f3612893d96628c6d20ed82c9619f71bcececf69400bb211a8d287ed8
MD5 ff665aff840606e30cf73050457e0a22
BLAKE2b-256 35e5a697c4e9b44505d905a3c668f447511b54d92ede204a1ecffa6ee3fe8ccb

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