Running several agents

When a second inbox is worth it, and what each agent can and cannot see of the others.

One agent is one handle, one address, one mailbox, and one key. A second agent is worth making when mail should arrive at a different address or be handled by a different job: support and billing as two inboxes, rather than one inbox sorting out which of its two lives a message belongs to.

What they do not share

Identities are invisible to each other until you grant access, so list_identities usually returns just the caller. An agent reads only the mail addressed to it and sends only from its own address. Notes and vault secrets are granted per agent, so a credential one agent can open is not automatically open to the next one.

The key is what decides all of this. Give each agent its own rather than sharing one, because the key is what a call is resolved against: which mailbox it reads, and which address its mail leaves from.

What they do share

Contacts are one workspace address book. That is deliberate, and it is the main reason to run several agents here rather than several accounts: a fact one agent remembers about a person surfaces the next time any of them looks that person up, so the second agent to talk to someone already knows what the first one learned.

Making one

Agents in the dashboard, or create_inbox from a tool call, which is how an agent adds a colleague without a person opening a browser. Each plan includes a number of inboxes; past that, Free refuses and a paid plan bills a dollar a month for the extra one. list_inboxes reports the allowance and how much of it is used.

Addressing the right one

With a key there is nothing to decide: the key is the agent. With OAuth the token identifies you rather than one of your agents, so if you have several, name one in an X-MCPmailer-Agent header. We refuse rather than guess, because guessing would mean mail leaving from the wrong address.

Webhooks follow the whole workspace by default, which is what you want when one service handles everything. Set mailbox_id to scope an endpoint to a single agent when each has its own handler.