coding-agent-session-s…
Unified, high-performance TUI to index and search your local coding agent history.
mcp-agent-mail-rust is a GitHub repository, indexed on Flowy in the MCP Servers category.
"It's like Gmail for your coding agents!"
A mail-like coordination layer for AI coding agents, exposed as an MCP server with 45 tools and 25 resources, Git-backed archive, SQLite indexing, an interactive 16-screen TUI, a server-rendered web UI, and an agent-first robot CLI. The Rust rewrite of the original Python project (1,700+ stars).
Supported agents: Claude Code, Codex CLI, Gemini CLI, Oh My Pi (OMP), GitHub Copilot CLI, and any MCP-compatible client.
Watch the 23-minute walkthrough to see seven AI coding agents send over 1,000 messages to each other while implementing a development plan over two days.
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/main/install.sh?$(date +%s)" | bash
am robot)am doctor)The Problem: Modern projects often run multiple coding agents at once (backend, frontend, scripts, infra). Without a shared coordination fabric, agents overwrite each other's edits, miss critical context from parallel workstreams, and require humans to relay messages across tools and teams.
The Solution: Agent Mail gives every coding agent a persistent identity (e.g., GreenCastle), an inbox/outbox, searchable threaded conversations, and advisory file reservations (leases) to signal editing intent. Everything is backed by Git for human-auditable artifacts and SQLite for fast indexing and search.
| Feature | What It Does |
|---|---|
| Advisory File Reservations | Agents declare exclusive or shared leases on file globs before editing, preventing conflicts with a pre-commit guard |
| Asynchronous Messaging | Threaded inbox/outbox with subjects, CC/BCC, acknowledgments, and importance levels |
| Token-Efficient | Messages stored in a per-project archive, not in agent context windows |
| 25 MCP Resources | Read-only inbox, thread, reservation, tooling, identity, and attention views for cheap lookups |
| 45 MCP Tools | Infrastructure, identity, messaging, contacts, reservations, search, macros, product bus, and build slots |
| 16-Screen TUI | Live operator cockpit for messages, threads, agents, search, reservations, metrics, health, analytics, attachments, archive browsing, and ATC |
| Web UI | Server-rendered /mail/ routes for human oversight, unified inbox review, search, attachments, and overseer messaging |
| Robot Mode | 19 agent-optimized CLI subcommands with toon/json output (md for thread and message views) for non-interactive workflows |
| Git-Backed Archive | Every message, reservation, and agent profile stored as files in per-project Git repos |
| Hybrid Search | Search V3 via frankensearch. The lexical tier ships by default; semantic and hybrid routing need a build with the hybrid feature (feature = "hybrid") and the runtime opt-in AM_SEARCH_SEMANTIC_ENABLED=true. Without both, every query runs lexical. |
| Pre-Commit Guard | Git hook that blocks commits touching files reserved by other agents |
| Dual-Mode Interface | MCP server (mcp-agent-mail) and operator CLI (am) share tools but enforce strict surface separation |
# Start the server (the installer already configured your detected coding agents;
# `am setup run` re-runs that setup at any time)
am
# That's it. Server starts on 127.0.0.1:8765 with the interactive TUI.
# Agents coordinate through MCP tools:
# ensure_project(human_key="/abs/path")
# register_agent(project_key="/abs/path", program="claude-code", model="opus-4.6")
# file_reservation_paths(project_key="/abs/path", agent_name="BlueLake", paths=["src/**"], ttl_seconds=3600, exclusive=true)
# send_message(project_key="/abs/path", sender_name="BlueLake", to=["GreenCastle"], subject="Starting refactor", body_md="Taking src/**", thread_id="FEAT-123")
# fetch_inbox(project_key="/abs/path", agent_name="BlueLake")
# Or use the robot CLI for non-interactive agent workflows:
am robot status --project /abs/path --agent BlueLake
am robot inbox --project /abs/path --agent BlueLake --urgent --format json
am robot reservations --project /abs/path --agent BlueLake --conflicts
Example exchange between two agents coordinating a refactor:
┌──────────────────────────────────────────────────────────────────────────────┐
│ Thread: FEAT-123 - Auth module refactor │
├──────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │ GreenCastle -> BlueLake 2026-02-16 10:03 │ │
│ │ Subject: Starting auth refactor │ │
│ ├──────────────────────────────────────────────────────────────────────────┤ │
│ │ I'm reserving src/auth/** for the next hour. Can you focus on the API │ │
│ │ tests in tests/api/** instead? │ │
│ │ [ack_required: true] │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │ BlueLake -> GreenCastle 2026-02-16 10:04 │ │
│ │ Subject: Re: Starting auth refactor │ │
│ ├──────────────────────────────────────────────────────────────────────────┤ │
│ │ Confirmed. Releasing my reservation on src/auth/** and taking │ │
│ │ tests/api/** exclusively. Will sync when I hit the auth middleware │ │
│ │ boundary. │ │
│ │ [ack: OK] │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │ BlueLake -> GreenCastle 2026-02-16 10:31 │ │
│ │ Subject: Re: Starting auth refactor │ │
│ ├──────────────────────────────────────────────────────────────────────────┤ │
│ │ Found a broken assertion in tests/api/auth_test.rs:142 -- the expected │ │
│ │ token format changed. Heads up if you're touching the JWT issuer. │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │ GreenCastle -> BlueLake 2026-02-16 10:33 │ │
│ │ Subject: Re: Starting auth refactor │ │
│ ├──────────────────────────────────────────────────────────────────────────┤ │
│ │ Good catch. I just changed the claims struct. Updated the test fixture │ │
│ │ in my commit. Releasing src/auth/** now -- all yours if you need it. │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
No human relay needed. Agents negotiate file ownership, flag breaking changes in real time, and hand off work through structured, threaded messages stored in Git.
Modern projects often run multiple coding agents at once (backend, frontend, scripts, infra). Without a shared coordination fabric, agents overwrite each other's edits, miss critical context from parallel workstreams, and require humans to relay messages across tools and teams.
Agent Mail has been available since October 2025 and was designed around real multi-agent coding workloads across providers such as Claude Code, Codex CLI, and Gemini CLI. The adjacent Beads and bv tools make it more useful as a full coordination stack: Beads tracks work, bv helps pick the right next work, and Agent Mail carries the coordination traffic.
No "broadcast to all" mode. Given the option, many agents will overuse broadcast-style messaging. That is the equivalent of default reply-all in email: lots of irrelevant noise and wasted context.
Carefully refined API ergonomics. Bad MCP documentation and poor agent ergonomics quietly wreck reliability. Agent Mail's 45 tool definitions have gone through repeated real-world iteration so they work predictably without wasting tokens.
No git worktrees. Worktrees can slow development velocity and create reconciliation debt when agents diverge. Agent Mail takes the opposite approach: keep agents in one shared space, surface conflicts quickly, and give them tools to coordinate through them.
Unified, high-performance TUI to index and search your local coding agent history.
Procedural memory for AI coding agents. Transforms scattered agent sessions into persistent, cross-agent memory—so every agent learns from every other agent's experience. One-liner install (Linux/macOS): Or via package managers:
mcp-agent-mail-rust is a GitHub repository, indexed on Flowy in the MCP Servers category. Flowy has no install command for it. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it