Kiro Agent-Mailbox
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Kiro Agent-Mailbox register me as backend and send devops a message that the new endpoint is ready"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Kiro Agent-Mailbox
MCP-Server für Cross-Session-Messaging zwischen gleichzeitig laufenden Kiro CLI-Terminal-Sessions (oder anderen MCP-Clients) auf derselben Maschine.
Problem
Mehrere Kiro-CLI-Sessions laufen parallel in verschiedenen Terminals — eine arbeitet an einem Feature, eine andere an Infrastruktur/DevOps-Aufgaben. Häufig entsteht während der Arbeit in Session A eine Anforderung, die eigentlich in Session B gehört ("der Server braucht dafür einen neuen Endpoint", "das Deployment muss angepasst werden"). Bisher musste man das manuell kopieren oder sich merken.
Agent-Mailbox löst das: Sessions registrieren sich unter einem frei wählbaren Namen, können sich gegenseitig Nachrichten schicken, und die empfangende Session antwortet, nachdem sie die Aufgabe umgesetzt (oder als Issue angelegt) hat.
Related MCP server: Agent Wire
Funktionsweise
sequenceDiagram
participant A as Session "devops"
participant FS as Dateisystem (AGENT_MAILBOX_DIR)
participant B as Session "backend"
A->>FS: register("devops")
B->>FS: register("backend")
A->>FS: list_agents()
FS-->>A: [devops, backend]
A->>FS: send_message(to="backend", text="...")
Note over B: naechster Turn / Hook-Trigger
B->>FS: check_inbox()
FS-->>B: neue Nachricht von devops
B->>FS: reply(message_id, status="erledigt", text="...")
A->>FS: check_replies()
FS-->>A: Antwort von backendKein Daemon, kein Netzwerk-Port: Jeder MCP-Tool-Call startet/nutzt den
Server-Prozess pro Session (stdio-Transport). Der eigentliche Zustand liegt
ausschließlich auf der Platte (JSON/JSONL-Dateien) und wird per flock
synchronisiert — dadurch funktioniert das Messaging auch zwischen völlig
unabhängigen Prozessen, solange sie auf dasselbe AGENT_MAILBOX_DIR zeigen.
Wichtig: Dies ist ein lokales Messaging-System für Sessions auf derselben
Maschine. Es gibt keine Netzwerkkomponente — für Cross-Rechner-Messaging müsste
AGENT_MAILBOX_DIR auf einen synchronisierten Speicherort zeigen (z.B. ein
Netzwerklaufwerk), was zusätzliche Vorsicht bei Nebenläufigkeit erfordert und
nicht Teil dieses Projekts ist.
Tools
Tool | Beschreibung |
| Registriert die aktuelle Session unter einem frei wählbaren Namen |
| Listet alle registrierten Sessions mit Status |
| Sendet eine Nachricht an eine andere registrierte Session |
| Prüft die eigene Inbox auf neue Nachrichten, aktualisiert Heartbeat |
| Beantwortet eine Nachricht, Antwort geht an den Absender |
| Prüft, ob auf eigene gesendete Nachrichten geantwortet wurde |
Installation
Von PyPI
pip install kiro-agent-mailboxMit uv
uv pip install kiro-agent-mailboxAus dem Quellcode
git clone https://github.com/intershopper/kiro-agent-mailbox
cd kiro-agent-mailbox
pip install -e .Konfiguration
In ~/.kiro/settings/mcp.json (global) oder .kiro/settings/mcp.json (Projekt):
{
"mcpServers": {
"agent-mailbox": {
"command": "agent-mailbox-mcp",
"env": {
"AGENT_MAILBOX_DIR": "~/.agent-mailbox"
},
"autoApprove": [
"list_agents",
"check_inbox",
"check_replies"
]
}
}
}AGENT_MAILBOX_DIRist optional — Default ist~/.agent-mailbox.Nur die lesenden Tools (
list_agents,check_inbox,check_replies) sollten auto-approved werden.register,send_messageundreplyverändern Zustand bzw. stellen einer anderen Session etwas zu und sollten bestätigt werden.
Automatisches Verhalten per Hooks (empfohlen)
Damit Sessions sich beim Start selbst anbieten und die Inbox bei jedem Turn
prüfen, in der Agent-Konfiguration (~/.kiro/agents/<name>.json):
{
"hooks": {
"agentSpawn": [
{ "command": "echo 'Agent-Mailbox verfuegbar -- frage den User nach Registrierung (register-Tool)'" }
],
"userPromptSubmit": [
{ "command": "echo '[Agent-Mailbox] check_inbox + check_replies aufrufen, falls registriert'" }
]
}
}Siehe Kiro CLI Hooks-Dokumentation für Details zum Hook-System.
Lebenszyklus / Heartbeat
check_inbox()aktualisiert bei jedem Aufruf den Heartbeat der eigenen Registrierung.Sessions, die 30 Minuten lang nicht mehr
check_inboxaufgerufen haben, gelten inlist_agents()als inaktiv und werden standardmäßig ausgefiltert (nicht hart gelöscht — mitinclude_inactive=Trueweiterhin sichtbar).Ein Name, dessen Session abgelaufen ist, kann von einer neuen Session übernommen werden.
Entwicklung
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytestLizenz
MIT, siehe LICENSE.
Available Tools
6 toolscheck_inboxA
Prueft die eigene Inbox auf neue, noch offene Nachrichten und aktualisiert gleichzeitig den eigenen Heartbeat (haelt die Registrierung aktiv). Sollte am Anfang jedes Turns aufgerufen werden.
Inputs: no named parameters. Returns: object
check_repliesA
Prueft, ob auf eigene gesendete Nachrichten geantwortet wurde. Antworten liegen als Eintraege mit type="reply" in der eigenen Inbox und werden hierueber separat von normalen Nachrichten ausgewertet.
Inputs: no named parameters. Returns: object
list_agentsA
Listet alle registrierten Agent-Sessions mit Namen, Arbeitsverzeichnis und Aktivitaetsstatus auf. Vor dem Senden einer Nachricht aufrufen, um zu sehen, welche Namen aktuell verfuegbar sind.
Args: include_inactive: Wenn True, werden auch Sessions angezeigt, deren Heartbeat laenger als 30 Minuten zurueckliegt (als "inactive" markiert statt ausgefiltert).
Inputs: include_inactive. Returns: object
registerA
Registriert die aktuelle Session unter einem frei waehlbaren Namen im Agent-Mailbox-System, damit andere Sessions ihr Nachrichten schicken koennen.
Args: name: Gewuenschter Anzeigename der Session (z.B. "devops", "backend-dev"). Muss aktuell nicht bereits von einer anderen AKTIVEN Session belegt sein.
Inputs: name (required). Returns: object
replyA
Beantwortet eine erhaltene Nachricht und markiert sie als bearbeitet. Die Antwort wird dem urspruenglichen Absender in dessen Inbox zugestellt.
Args: message_id: Die id der Nachricht aus check_inbox, die beantwortet wird. status: Kurzer Status, z.B. "erledigt", "issue_angelegt", "abgelehnt". text: Freitext der Antwort (z.B. was gemacht wurde oder Issue-Link).
Inputs: text (required), status (required), message_id (required). Returns: object
send_messageA
Sendet eine Nachricht an eine andere registrierte Agent-Session. Die Zielsession sieht die Nachricht beim naechsten Aufruf von check_inbox (typischerweise automatisch zu Beginn ihres naechsten Turns).
Args: to: Name der Zielsession, wie in list_agents angezeigt. text: Inhalt der Nachricht (Aufgabe, Frage, Information).
Inputs: to (required), text (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
register, list_agents, send_message, and reply each target a distinct action. However, check_inbox and check_replies overlap conceptually, since replies are described as arriving in the same inbox with type="reply", making it unclear why they require separate tools.
Four tools follow a clear verb_noun pattern (list_agents, send_message, check_inbox, check_replies), while register and reply are bare verbs. Minor deviation but overall predictable and readable.
Six tools is well-scoped for an agent messaging system, covering registration, discovery, sending, receiving, replying, and reply-checking without redundancy.
The core message lifecycle (register, list, send, receive, reply, check replies) is well covered. Minor gaps exist: no deregistration, no broadcast/multi-recipient send, and no way to mark a message handled besides replying.
Maintenance
Related MCP Connectors
Hosted MCP messaging across owners, tools, and machines, with readable transcripts.
Shared memory and mail for your AI agents. Verified with Claude Code; other MCP clients in testing.
Idempotency keys, locks, timers, and inboxes for agents over MCP. No payments.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables two or more Claude Code terminals on the same machine to communicate by registering and sending messages via the local filesystem.51MIT
- AlicenseNot gradedqualityBmaintenanceEnables coding agents such as Codex and Claude Code to exchange durable, locally stored messages through shared MCP tools for listing enrolled recipients, sending and replying to messages, reading pending inbox items, acknowledging receipt, and checking message status. Delivery uses each runtime's native session interface, so messages persist across broker restarts without resuming or launching conversations.AGPL 3.0
- AlicenseAqualityBmaintenanceLocal agent-to-agent messaging and coordination for coding sessions on one machine, through MCP and a CLI. Includes threaded mail, full-text search, per-repository agent rosters, advisory file reservations, and optional notifications. Integrations cover Claude Code, Codex, Cursor, Devin, Grok, OpenCode, and Antigravity. Standalone agents and T3 Code sessions can share the same local server.232MIT
- AlicenseNot gradedqualityBmaintenanceEnables agent sessions running under different coding harnesses on one machine to message each other and automatically wake idle receivers so they read the mail and reply. It stores all state as plain files under a home directory, with no daemon, network, or account required.67 npmMIT