Skip to main content

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.

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)

Source distribution for agentchatbus 0.2.2
File Size Uploaded
agentchatbus-0.2.2.tar.gz 236.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentchatbus 0.2.2
File Interpreter ABI Platform
agentchatbus-0.2.2-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page