Skip to main content

AgentBus

Test Python License: MIT

The SQLite-Backed MCP Event Bus & Control Surface for Heterogeneous Agent Swarms.

When Cursor, Claude, Antigravity, and Terminal Agents (like Hermes) share a workspace, they usually coordinate through fragile append-only files (log.md). That works until you need SLA timeouts, Human-in-the-Loop (HITL) intercepts, strict schema validation, or cryptographic RBAC.

AgentBus replaces the "Game of Telephone" with a localhost sidecar: a Python MCP server backed by SQLite. No orchestrator runtime lock-in. No heavy cloud dashboard. Just a hyper-fast local pub/sub built for top-tier AI orchestration.

v0.19.0 (August 2026): Release-integrity gates, honest runtime diagnostics, registered Codex/Pi headless adapters, and untrusted-event prompt containment, on top of the MCP Python SDK v2 migration. See the changelog for details.

Note: Install as okf-agentbus (CLI command remains agentbus). Extras: [obs,devex,jupyter,sdk].

⚡ The "Ah-Ha" Moment: Zero-Restart Integration

Already running Aider, OpenHands, or custom agents in tmux panes? Do not kill your sessions. AgentBus features a dual-interface architecture (MCP + CLI). You don't need to wire up JSON configs to test it today. Just prompt your running agent:

"Use your terminal to run agentbus publish --topic okf/handoff --payload '{\"from\":\"grok\",\"to\":\"hermes\",\"summary\":\"Write tests\"}'"

The SQLite bus instantly captures it, without requiring the MCP server. Once you're convinced by the Mission Control TUI, you can wire up the strongly-typed MCP server for your next boot.

Why AgentBus?

Alternative Limitation AgentBus
log.md blackboard No schema, race conditions Typed topics, monotonic IDs, advisory locks
LangGraph / CrewAI Same-runtime lock-in Heterogeneous out-of-process clients (IDE + CLI)
LangSmith Cloud-only, backward-looking Local SQLite, forward-looking Execution TUI
Redis pub/sub Extra daemon, complex setup Zero-config SQLite, native stdio MCP

Feature Arsenal (v0.3 - v0.18)

  • MCP Python SDK v2 (v0.18): migrated the stdio MCP server while preserving the existing event-store contract.
  • Resilient delivery (v0.16.4): bounded retry with jitter, retry-exhausted dead letters and file spillover for SQLite contention.
  • Async suspend/resume (v0.16): durable waits and correlated wake events let headless agents yield without busy polling.
  • Headless runners (v0.15): opt-in adapters for heterogeneous CLI agents with bounded chain behavior and structured acknowledgements.
  • Wake plane and Go helpers (v0.12-v0.13): platform-packaged workers, role leases, wake ingress and webhook delivery.
  • Jupyter async client (v0.11): from agentbus.jupyter import AsyncAgentBus + %agentbus start — non-blocking polls that yield to the notebook event loop.
  • TypeScript client (v0.11): packages/js/agentbus-client — Node EventEmitter + MCP stdio spawn (@agentbus/agentbus-client, path install for now).
  • God View Mesh (v0.9): Passive OS + MCP observability so silent agents still leave bus footprints (system/mcp, system/fs, system/shell, system/monologue).
  • Mission Control TUI (v0.8+): A rich, keyboard-driven Textual dashboard (agentbus monitor). Trace waterfall, HITL, Wiretap pane, Dark Agent warnings.
  • Pluggable Pydantic Schemas (v0.7): Code-first @bus.topic decorators to enforce strict JSON schemas at the insertion layer.
  • Distributed Context (v0.6): Pass massive context (like git diffs) via --attach. Hard 1MB payload limits prevent context window explosion.
  • Agentic Observability (v0.5): Native OpenTelemetry-style trace_id and parent_span_id lineage.
  • SLA Timeouts & Dead-Letter (v0.4): Prevent phantom deadlocks. If an agent ghosts the swarm, SLA timers route the payload to okf/dead-letter.
  • Swarm RBAC & Droid Proofs (v0.3): Cryptographic JWT/UUID tokens ensure only authorized agents can publish to restricted topics.
  • HITL Intercepts (v0.3): Catch dangerous payloads (e.g., DROP TABLE) and place them in PENDING_APPROVAL for human review via the TUI.

Install

The fastest way (Installs & Auto-wires your IDEs in one step):

curl -sSL https://raw.githubusercontent.com/onicarps/agentbus/main/install.sh | bash

Or manually via pip:

pip install -U "okf-agentbus[devex,sdk]"
agentbus init --apply --producer-id my-agent

Jupyter notebooks:

pip install -U "okf-agentbus[jupyter]"
%load_ext agentbus.jupyter
%agentbus start
# or
from agentbus.jupyter import AsyncAgentBus
bus = AsyncAgentBus()  # AGENTBUS_WORKSPACE or cwd
bus.on_event(print)
await bus.start_background(interval=1.0)

TypeScript (from monorepo checkout):

cd packages/js/agentbus-client && npm install && npm test
# set AGENTBUS_WORKSPACE + agentbus on PATH, then use createStdioMcpClient / AgentBus

Quickstart & Examples

The best way to understand AgentBus is to read our copy-pasteable examples.

See the examples/ directory for 7 flawless, isolated Python scripts covering every feature from basic Pub/Sub to Pydantic Schemas and SLA Timeouts.

# Terminal A — Launch the Mission Control TUI
agentbus monitor

# Terminal B — Publish a handoff
agentbus publish \
  --topic okf/handoff \
  --payload '{"from":"cursor","to":"hermes","summary":"Write tests"}'

Before operating or releasing a workspace, run the read-only diagnostics:

agentbus doctor --workspace /path/to/workspace
agentbus doctor --workspace /path/to/workspace --json

The command inspects the target without publishing to its bus. Write-path and MCP stdio checks run in temporary isolated workspaces. --strict makes warnings (including absent optional Go helpers) fail CI.

God View Observability (v0.9.0):

Track silent agents by wiretapping their operations:

# Intercept MCP tool calls
mcp-serve --wiretap

# Watch file edits and command executions
agentbus watch

# Tail internal agent reasoning logs
agentbus tail

Events will stream into the TUI's Wiretap pane as system/mcp, system/fs, system/shell, and system/monologue topics.

📦 Workspace Isolation (The .agentbus directory)

AgentBus operates on the concept of Workspace Isolation (similar to how git uses .git or Docker uses docker-compose.yml).

The bus and its events are physically scoped to the directory you run it in. This prevents your Swarm from tracking your entire operating system or cross-contaminating different projects.

When you navigate to a specific project folder and run agentbus init or agentbus up, it creates a localized .agentbus/events.db SQLite database specifically for that directory.

1-Click Swarm Orchestration (v0.10.0)

Instead of manually opening 5 tmux panes to start your agents and observability daemons, use the new orchestrator:

cd /path/to/my-project

# 1. Generate a boilerplate .agentbus/swarm.yaml
agentbus up --init

# 2. Boot the swarm (Watchers, Agents, and TUI) in one click
agentbus up

# 3. View running background agents
agentbus ps

# 4. Safely kill the entire swarm
agentbus down

Documentation

For full architectural documentation, see the docs/ directory.

License

MIT — see LICENSE.

Download files

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

Source Distribution

okf_agentbus-0.20.0.tar.gz (279.0 kB view details)

Uploaded Source

Built Distributions

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

okf_agentbus-0.20.0-py3-none-win_amd64.whl (7.2 MB view details)

Uploaded Python 3Windows x86-64

okf_agentbus-0.20.0-py3-none-macosx_11_0_x86_64.whl (7.1 MB view details)

Uploaded Python 3macOS 11.0+ x86-64

okf_agentbus-0.20.0-py3-none-macosx_11_0_arm64.whl (6.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file okf_agentbus-0.20.0.tar.gz.

File metadata

  • Download URL: okf_agentbus-0.20.0.tar.gz
  • Upload date:
  • Size: 279.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for okf_agentbus-0.20.0.tar.gz
Algorithm Hash digest
SHA256 42bbf4497171d7ddc998371f1bb7258677cef3a4d32dd5980eecc865d1fff181
MD5 0aed1ca9b7208f6b778a5cadc58bdf3a
BLAKE2b-256 53ec2f73c4f089cfd035d92d9f5f245c2b67c9f8c9ac5df5a199386a551aea87

See more details on using hashes here.

Provenance

The following attestation bundles were made for okf_agentbus-0.20.0.tar.gz:

Publisher: release.yml on onicarps/agentbus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file okf_agentbus-0.20.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for okf_agentbus-0.20.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 50cc030b5cc5f828201661ecd66e27921085412654449169c02d7965a50fb917
MD5 a4b47fc7da4b30b1a158268c176b5da0
BLAKE2b-256 11b1fe1408bccca2a48cfd206e92d1698aa1f4eaa565515e0eb59fb90b2dae27

See more details on using hashes here.

Provenance

The following attestation bundles were made for okf_agentbus-0.20.0-py3-none-win_amd64.whl:

Publisher: release.yml on onicarps/agentbus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file okf_agentbus-0.20.0-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for okf_agentbus-0.20.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7bd5fbc76f790caa7cad147478c8af645039b63e50218a4c4cf553125d62969c
MD5 d6b4aa2d6c8841072ae34251af045212
BLAKE2b-256 7c458f3bea0be58f2c8d844fc6cbb9614f57950dfdb6553c4100da5c1c23cae1

See more details on using hashes here.

Provenance

The following attestation bundles were made for okf_agentbus-0.20.0-py3-none-manylinux2014_x86_64.whl:

Publisher: release.yml on onicarps/agentbus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file okf_agentbus-0.20.0-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for okf_agentbus-0.20.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d7c67055a892a1ee44ba9a0d639a6307a7200369646b4364a5a4a7c6f9fdcea9
MD5 cfa7fbc214c241173564ca0a5b0ea309
BLAKE2b-256 f303495facbb9ae49e85b46136de6046a85842c3f8536f1b1c40e999bb648eea

See more details on using hashes here.

Provenance

The following attestation bundles were made for okf_agentbus-0.20.0-py3-none-manylinux2014_aarch64.whl:

Publisher: release.yml on onicarps/agentbus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file okf_agentbus-0.20.0-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for okf_agentbus-0.20.0-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 0b22c9353df78c119dbfe73a75c70fc3651bfe5007e59d2a24e930736dfc368f
MD5 7ac35f2073659132fdf3466e2bd1214c
BLAKE2b-256 f64898f23035cac6506a27b81a6cabb12fe594304816785ebc7604facd50423b

See more details on using hashes here.

Provenance

The following attestation bundles were made for okf_agentbus-0.20.0-py3-none-macosx_11_0_x86_64.whl:

Publisher: release.yml on onicarps/agentbus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file okf_agentbus-0.20.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for okf_agentbus-0.20.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f33933875c20b3d68139d8e040f21a55e365d073b0b07c443ba5d6e83f256740
MD5 56a12afc26d0f62b4ab278249de12af0
BLAKE2b-256 6371212775f070cbdbf3d7a5def6085e398e4e74d200cdefefab75b5f9b39038

See more details on using hashes here.

Provenance

The following attestation bundles were made for okf_agentbus-0.20.0-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on onicarps/agentbus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.20.0 This release

6 files

0.19.0

6 files

0.18.0

6 files

0.17.0

6 files

0.16.4

6 files

0.16.3

6 files

0.16.2

6 files

0.16.1

6 files

0.16.0

6 files

0.15.0

6 files

0.14.0

6 files

0.13.0

6 files

0.12.1

6 files

0.12.0

6 files

0.11.3

2 files

0.11.2

2 files

0.11.1

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.1

2 files

0.9.0

2 files

0.8.4

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.2

2 files

0.3.1

2 files

0.2.3

2 files

Supported by

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