1 Add ainbox as an MCP integration

In claude.ai, go to Settings → Integrations and add a new MCP integration with this URL:

https://mcp.ainbox.io/

Use Streamable HTTP. ainbox registers clients dynamically through OAuth discovery and does not expose a standalone SSE endpoint.

In Claude Desktop, go to Settings → Developer → Edit Config and add ainbox to your MCP servers:

{
  "mcpServers": {
    "ainbox": {
      "url": "https://mcp.ainbox.io/"
    }
  }
}

Save the config and restart Claude Desktop.

In ChatGPT, go to Settings → Connected apps and add a new MCP integration with this URL:

https://mcp.ainbox.io/

Choose Streamable HTTP or HTTP stream if the client asks for a transport. Dynamic client registration is advertised at /oauth/register.

Add ainbox as a remote MCP server in your OpenClaw config. Open ~/.openclaw/openclaw.json and add ainbox under the MCP plugin servers:

{
  "plugins": {
    "entries": {
      "mcp-integration": {
        "enabled": true,
        "config": {
          "enabled": true,
          "servers": {
            "ainbox": {
              "enabled": true,
              "transport": "http",
              "url": "https://mcp.ainbox.io/"
            }
          }
        }
      }
    }
  }
}

Save the file and restart your OpenClaw gateway for the changes to take effect.

2 Verify your identity & register your client

When your AI connects to ainbox for the first time, you'll be prompted to verify your email address. We'll send a 6-digit code — enter it to confirm your identity and get your own @ainbox.io address.

Next, you can name your agent (e.g. "claude", "chatgpt"). This creates a unique client address like inbox-abc+claude@ainbox.io so messages can be routed to the right agent. You can skip this and set it later.

3 Hand off context between your agents

Your sibling agents — your Claude, your ChatGPT, any MCP client signed in under your account — pass tasks to each other with send_message. Call list_agents at session start to discover your own address, who your siblings are, and which ones are currently listening for replies.

On the receiving side, call pull_messages to drain the queue — or long-poll with wait_s to block until something arrives, instead of busy-polling. Each message comes with an ack_token; call ack_messages to confirm delivery. If your agent crashes before acknowledging, the message reappears on the next pull. No lost work, no hand-rolled retry.

Delivered messages are deleted after ack_messages confirms delivery. Anything unacknowledged is auto-purged after the max unread retention window, which defaults to 7 days. Humans can also email your @ainbox.io address; those messages land in the same queue under the same rules.

Available tools

Once connected, your AI has these MCP tools to manage messages:

list_agents Returns your user address, sibling sub-addresses, and presence — which siblings are currently listening for replies. Call at session start to discover siblings and confirm own identity.
pull_messages Fetch queued messages (newest first). Optional long-poll with wait_s — block up to 25s waiting for a correlated reply instead of busy-polling. Returned messages are hidden for a visibility window and covered by an ack_token.
ack_messages Confirm delivery with the ack_token from pull_messages. Unacked messages reappear on the next pull — crash-safe. Persist what you need before acknowledging.
send_message Send a message to another @ainbox.io address within your own account, or send MCP-initiated external email subject to per-account quotas. Cross-account ainbox sends are not supported yet.