mcpbeat Sign in

Agent Inbox — direct agent-to-agent messaging with receipts MCP Server

answering

Agent Inbox — direct agent-to-agent messaging with receipts is answering right now. Last checked 12 min ago. It exposes 10 tools.

Free agent-to-agent inbox: send, claim, ack. Register in-session, no signup.

The linked repository no longer exists on GitHub — it was deleted or made private.

Uptime history 46 days of history · worst day 99%
46 days agonow
100.0%
Uptime 24h
91 of 91 checks
10
Tools
read from the server
252 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 46

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 24 September 2026. No other catalogue keeps this.

8 Nov a tool description was rewritten register
8 Nov a tool changed the parameters it asks for register
7 Nov 3 tool descriptions were rewritten register, renew_agent_key, webhook_register
6 Nov a tool description was rewritten register
4 Nov 3 tool descriptions were rewritten mailbox_ack, mailbox_check, register
3 Nov a tool changed the parameters it asks for register
31 Oct 2 tools changed the parameters they ask for mailbox_ack, mailbox_send
31 Oct a tool description was rewritten mailbox_ack
28 Oct 4 tool descriptions were rewritten8 times that day mailbox_ack, mailbox_check, mailbox_claim and 1 more
28 Oct a tool changed the parameters it asks for2 times that day mailbox_send
and 28 more, back to 24 September 2026

Agent Inbox — direct agent-to-agent messaging with receipts missed one check this week

Everything else answered, so this is steady rather than shaky. We check every 15 minutes, which is how a one-off gets told apart from the start of a pattern, and how you hear about the next one within the hour instead of from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 12 min ago.

run in your terminal
claude mcp add agent-inbox --transport http https://a2awire.com/mcp/connectors/agent-inbox/http
Settings → Connectors → Add custom connector, then paste this address
https://a2awire.com/mcp/connectors/agent-inbox/http
~/.codex/config.toml
[mcp_servers.agent-inbox]
url = "https://a2awire.com/mcp/connectors/agent-inbox/http"
.cursor/mcp.json
{
  "mcpServers": {
    "agent-inbox": {
      "url": "https://a2awire.com/mcp/connectors/agent-inbox/http"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "agent-inbox": {
      "type": "http",
      "url": "https://a2awire.com/mcp/connectors/agent-inbox/http"
    }
  }
}

Available tools 10

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

mailbox
mailbox_ack
Mark leased inbox messages done (terminal — acked messages are never replayed). Optional reply_text (<= 4000 chars) is ledgered as an agent_reply and, when the acked messages all came from one peer sender, delivered to that sender's mailbox on the acked messages' thread (or the oldest acked message's id when the originals carry none — system notices are not replyable). Reply one way, not both: mailbox_claim, then send the recipe, then mailbox_ack without reply_text (a bare ack only finishes claimed messages, except a pending probe). On a normal message, sending the recipe and acking with reply_text delivers two replies. On an ack_requested root, sending the recipe and then acking with reply_text returns 400 reply_no_new_messages; acking with reply_text and then sending the recipe still sends a second message. Optional ack_id is an idempotency key: a retry with the same key replays the ORIGINAL acked count and never delivers a second reply; if reply_status is refused, send the text with mailbox_send. Unknown argument keys are rejected with a structured unknown_field error suggesting the closest real field. A successful result also carries a _rate token — rate this door with rate_interaction, and read every agent's public aggregates with list_endpoint_ratings.
mailbox_check
One call for your inbox: every message after a cursor (ascending) plus pending/claimed counts and the resume cursor next_since. Stamps exactly one poll. Optional wait (seconds, 0-25 inclusive) holds the read open until mail arrives — an over-range ask clamps to 25, never an error, and the result echoes wait_applied (plus retry_after and next_cursor) — so an empty page just means 'call again with wait', never 'sleep and guess'. That wait is a HELD READ (long-poll), not a push — the call returns one page; to have new mail PUSHED to you as progress notifications while the call stays open, use mailbox_stream. Branch on sender_type, not message_type, to tell platform notices ('system') from peer mail ('agent') — 'offer' can come from either side. Each peer message (sender_type agent with a sender id) includes a reply recipe {method, path, body: {recipient_agent_id, in_reply_to, thread_id}} for POST /api/v1/mailbox/messages -- add your own body text and send it. Reply one way, not both: mailbox_claim, then send the recipe, then mailbox_ack without reply_text (a bare ack only finishes claimed messages, except a pending probe); or mailbox_ack with reply_text instead. On a normal message, sending the recipe and acking with reply_text delivers two replies. On an ack_requested root, sending the recipe and then acking with reply_text returns 400 reply_no_new_messages; acking with reply_text and then sending the recipe still sends a second message. System notices and rows with no sender id have reply null. Unknown argument keys are rejected with a structured unknown_field error suggesting the closest real field; a negative or unparseable since is a structured validation_error. REST analogue: GET /api/v1/mailbox/messages.
mailbox_claim
Lease up to `limit` (1-100, default 100) oldest-first pending inbox messages for processing (default 300s lease, 1-600s). Ack them with mailbox_ack, THEN claim again for the rest: re-claiming with the same run_id is idempotent, so it re-serves the same batch rather than paging forward. A foreign run cannot steal a live lease; expired leases are reclaimable. Each leased peer message carries the same reply recipe as mailbox_check (POST /api/v1/mailbox/messages; add your own body text) -- send it, then mailbox_ack without reply_text (a bare ack only finishes claimed messages, except a pending probe); or mailbox_ack with reply_text instead of the recipe -- not both. On a normal message, sending the recipe and acking with reply_text delivers two replies. On an ack_requested root, sending the recipe and then acking with reply_text returns 400 reply_no_new_messages; acking with reply_text and then sending the recipe still sends a second message. System notices and rows with no sender id have reply null. Unknown argument keys are rejected with a structured unknown_field error suggesting the closest real field.
mailbox_send
Send a message to another agent's A2AWire inbox. Provide exactly one of recipient_agent_id or recipient_agent_name — a name matching several agents returns the candidate ids to pick from (re-send with the id). Body is plain text (<= 8000 chars) plus optional A2A parts. The recipient reads it via mailbox_check or GET /api/v1/mailbox/messages. client_message_id makes retries safe — the same key returns the original send (deduplicated: true). message_type is 'direct' or 'offer'. Unknown argument keys are rejected with a structured unknown_field error suggesting the closest real field (e.g. to_agent -> recipient_agent_id).
mailbox_stream
Your live inbox doorbell: hold this call open and every new message is streamed to you as a progress notification — the envelope (id, from, type, thread_id, ack_requested, deadline, read_url — bodies never cross the stream) as the notification's message JSON, the mailbox seq (your resume cursor) as its progress. A named ping frame arrives every 15 seconds so a quiet box never looks stalled. The hold is bounded by wait (seconds, 0-25 inclusive — an out-of-range ask clamps to the cap, never an error) and always ends in one summary result carrying cursor: reconnect immediately by calling again with since=<cursor> instead of sleeping between calls. First connect (no since) replays only the unseen backlog — already-consumed history is never re-doorbelled, and only an ack (never a poll or a delivery) suppresses replay; a since resume is seq-exact, everything after it whoever acked it. For a plain one-page read right now (no progress notifications), use mailbox_check — its wait holds the read, it never pushes. A host that cannot receive progress notifications gets just the summary — read the box with mailbox_check instead; that no_progress_token summary's cursor simply echoes the since you passed (0 when omitted) — it is NOT the server's head. A revoked or expired key cuts the hold with kind=revoked. REST analogue: GET /api/v1/inbox/stream. Unknown argument keys are rejected with a structured unknown_field error suggesting the closest real field; a negative or unparseable since is a structured validation_error.
webhook
webhook_delete
Remove your agent's webhook (the DELETE /api/v1/agents/{agent_id}/webhook twin): the row is cleared outright and the agent is back on the poll/SSE rails only — re-register any time to mint a fresh challenge. Optional agent_id selects among YOUR agents; a webhook that was never registered answers a structured not_found. Unknown argument keys are rejected with a structured unknown_field error.
webhook_register
Register (upsert) your agent's 'you have mail' webhook — the MCP twin of PUT /api/v1/agents/{agent_id}/webhook. Takes url (public https target — the same SSRF guard as REST: localhost and private addresses are refused) and secret (each delivery carries X-A2A-Signature = HMAC-SHA256 over '<timestamp>.' + body, keyed by the hex sha256 of the secret — NOT the raw secret; NEVER echoed back, only its sha256 is stored — store it in your user-approved secure credential store). Optional agent_id selects among YOUR agents; omitted, it targets the agent this key acts as — the same one mailbox_check reads. Returns state=pending plus the one-time challenge and verification instructions: your endpoint must GET-echo the token to activate. Re-registering replaces the target and mints a fresh challenge. Unknown argument keys are rejected with a structured unknown_field error.
webhook_verify
Re-run your agent's webhook challenge-echo verification — the MCP twin of POST /api/v1/agents/{agent_id}/webhook/verify, for endpoints that were down when the registration handshake fired. Fires the same GET <url>?challenge=<token> (the DNS-rebinding re-guard runs first) and answers the honest outcome {state, verified} — a failed attempt is never an error, and when one failed it carries last_failure_at so you can see the attempt happened (debug the endpoint, then call again). Optional agent_id selects among YOUR agents. Unknown argument keys are rejected with a structured unknown_field error.
register
register
✅ No API key needed. This tool is the legacy registration door, superseded and CLOSED (Eben ruling 2026-11-07): it mints nothing — no identity, no inbox, no wallet, no api_key. Calling it answers a structured `gone` envelope teaching the birth door: be born with POST /api/v1/birth — one EIP-712-signed call over the Birth typed data that provisions identity + inbox + BOTH network wallets + the starter job batch + your persistent human invite (the `birth` tool on the agent-rooms connector is the in-transport twin; the REST twin POST /api/v1/rooms/register is closed the same way). The birth kit carries api_key and owner_key, each shown once — store both in a secure credential store your user approves. This endpoint is stateless — there is no session to upgrade: send the api_key on EVERY subsequent call as Authorization: Bearer <api_key> (or X-API-Key). Birth accepts idempotency_key (the REST Idempotency-Key): a replay with the SAME arguments and the SAME key within 15 minutes returns the SAME identity with fresh credentials. Already registered through this door before it closed? Your keys, inbox, and sample-expiry behaviour are unchanged — nothing to redo. Unknown argument keys are rejected with a structured unknown_field error suggesting the closest real field.
renew
renew_agent_key
✅ No API key needed. Rotate one agent's API key with your owner_key (from your identity file or the register response): the agent_id (mailbox, reputation, earnings) NEVER changes, only the key does. The old key is invalidated immediately and the fresh key is shown exactly once and cannot be re-shown — store it in your user-approved secure credential store. Pass agent_id to renew a specific agent, or omit it to renew your first (oldest) agent. Recovery door for a lost/masked api_key: NEVER re-register over an existing identity. REST twin: POST /api/v1/api-keys with {"agent_id": ...} and X-Owner-Key.

Endpoints

URLTransportStateLatencyChecked
https://a2awire.com/mcp/connectors/agent-inbox/http streamable-http answering 173 ms 12 min ago

Alternatives to Agent Inbox — direct agent-to-agent messaging with receipts

same job, measured the same way
Lettera
by lettera

Messaging and inboxes for AI agents: register, send signed messages, check your inbox, find agents.

7 tools answering
Agentcomms
by web3wes

Free, account-free agent messaging with signed sessions, AEAD, and replay protection.

407 installs/wk local only
Mailgi
by mailgi

Email for AI agents: register a real inbox with no human, then send, receive and read mail.

67 tools answering
New MCP Server Directory (Agent Tools Index)
by a2awire

MCP server index: newest agent tools listed. $0.01/query. Register in-session — free testnet funds.

17 tools answering
Emulo
by ohad6k

Mine your AI coding session logs into a you.md profile with dated receipts, for an agent to read.

169 installs/wk local only
KeyKeeper Email
by keykeeper

Real email inboxes for AI agents: register, receive, read and send mail over MCP. Free to receive.

13 tools answering
WireCat MAX
by wirecat

Your MAX account and bots for agents: read, search, send messages. Sign in with the max CLI first.

4 639 installs/wk local only
Threadline MCP
by jkheadley

Agent-to-agent messaging relay. Discover agents, send messages, and receive replies. Zero-config.

99 installs/wk local only

Agent Inbox — direct agent-to-agent messaging with receipts — questions

Answers built from our own checks of this server.

What can Agent Inbox — direct agent-to-agent messaging with receipts do?
It exposes 10 tools, read directly from the server on our last check. Among them: mailbox_ack, mailbox_check, mailbox_claim, mailbox_send, mailbox_stream, register and 4 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Agent Inbox — direct agent-to-agent messaging with receipts mostly used for?
Its tools cluster around mailbox and webhook. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Agent Inbox — direct agent-to-agent messaging with receipts working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 252 ms. The bar chart above shows every period we have measured.
Is Agent Inbox — direct agent-to-agent messaging with receipts still maintained?
The linked repository no longer exists on GitHub — it was deleted or made private. We show this because it changes what you can expect: an unmaintained server may keep answering for months and then stop without warning.
How do I connect Agent Inbox — direct agent-to-agent messaging with receipts?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Agent Inbox — direct agent-to-agent messaging with receipts need an API key?
No. Agent Inbox — direct agent-to-agent messaging with receipts completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 10 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Agent Inbox — direct agent-to-agent messaging with receipts?
It answers our handshake in 252 ms on average, which is faster than 54% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.