Aramb Email — your agent inbox & outbox
aramb_mcp.email_* gives you a real email address of your own. You can send
mail, list and read the mail that arrives for you, and reply to it.
Every agent has its own stable address (<slug>@agent.clode.space /
<slug>@agents.aramb.work) — the same address across all of your projects.
Your from-address is you, and only you. The from on everything you send is
your own agent address, stamped server-side — there is no from argument and
you cannot spoof another sender. This is what makes the address trustworthy for
registrations and confirmations: the reply/confirmation comes back to your
inbox, where you can read it.
Availability — not every persona gets email. If aramb_mcp.email_* is not in
your tool list, this agent has no email address provisioned. Say so plainly rather
than improvising another way to send mail (do not reach for
aramb_mcp.toolkits_* Gmail as a substitute for your own address — that is a
user's connected account, not you).
How to call
Reach these tools with mcporter:
# structured args → use --json (reliable for the nested `body` object)
npx mcporter call aramb_mcp.email_send --json '{"to":"person@example.com","subject":"Hello","body":{"text":"Hi there.","html":"<p>Hi there.</p>"}}'
# a single simple arg → key="value" is fine too
npx mcporter call aramb_mcp.email_read id="<message-id>"
Rules:
- Prefer
--json '{...}' whenever a call carries the body object or a list
of recipients — it is unambiguous.
body is an object {html?, text?} — provide text, html, or both.
Sending both is best (text for plain clients, html for rich ones).
- You do not set
from — it is always your own agent address.
to / cc accept a single address string or a list of addresses.
Tools
email_get_address — get your own email address and current allowlist mode.
No args. Call this first if you need to tell a person where to write to you, or
to put your address into a sign-up form.npx mcporter call aramb_mcp.email_get_address
email_send — send a new email as yourself. Args: to (address or list,
required), subject, body {html?, text?}; optional cc, reply_to.npx mcporter call aramb_mcp.email_send --json '{"to":["a@x.com","b@y.com"],"cc":"c@z.com","subject":"Update","body":{"text":"..."},"reply_to":"me@agent.clode.space"}'
email_list_inbox — list the emails delivered to your address (most recent
first), each with its id, sender, subject, and timestamp. No args.npx mcporter call aramb_mcp.email_list_inbox
email_read — read one inbound email in full (body + headers, and any
attachment metadata) by its id from list_inbox. Args: id (required).npx mcporter call aramb_mcp.email_read id="<message-id>"
email_reply — reply to an inbound email, threaded (In-Reply-To /
References are set for you). The reply goes to the original sender, from your
own address. Args: message_id (required), body {html?, text?}.npx mcporter call aramb_mcp.email_reply --json '{"message_id":"<message-id>","body":{"text":"Thanks — confirmed."}}'
The core loop: check → read → act → reply
You are often woken because an email arrived (inbound mail is a trigger). The
reliable pattern:
email_list_inbox — see what has arrived; pick the id of the message to
handle.
email_read id=<id> — read the full message. For a confirmation or
magic-link mail, the link/code is in the body here — extract it and use it.
- act — click through / submit the code / do whatever the mail asked for
(e.g.
aramb_mcp.toolkits_* or a browser step), or compose your response.
email_reply message_id=<id> — reply to the sender when a reply is what's
called for, so the thread stays intact. Use email_send only to start a
new conversation.
Using your address for sign-ups & confirmations
When a flow asks for an email address (registering for a service, requesting a
magic link):
email_get_address → get your address.
- Enter it in the form / API call.
- Wait for the wake (or poll
email_list_inbox), then email_read the
confirmation and follow the link or enter the code.
This is the intended use — you own the inbox the confirmation lands in, so you can
complete the loop end to end without a human relaying the code.
Notes
- Allowlist. Your inbox may be allowlist-gated by your owner (only approved
senders are delivered).
email_get_address reports the mode; if expected mail
never appears, the sender may not be allowed — tell the user rather than
assuming the mail was lost.
- Attachments arrive as metadata (
filename, mime, size) on a read
message; the raw bytes are not inlined into the tool result.
- Don't loop. Auto-generated mail (bounces, "do-not-reply", your own sends
echoed back) should not be replied to — replying to an automated sender can
bounce back and forth. Reply only to real correspondence.
1---2name: aramb-email3description: Your own email address (inbox + outbox) via the aramb_mcp server (email_* tools). SEND mail as yourself, READ the mail delivered to you, and REPLY to it, threaded. Your from-address is your own agent address and is stamped server-side — you cannot send as anyone else. Use for sign-ups / confirmations / magic-links that need a real inbox, for corresponding with a person by email, and for handling mail forwarded to you. All via `aramb_mcp.email_*`.4---56# Aramb Email — your agent inbox & outbox78`aramb_mcp.email_*` gives you a real email address of your own. You can **send**9mail, **list** and **read** the mail that arrives for you, and **reply** to it.10Every agent has its own stable address (`<slug>@agent.clode.space` /11`<slug>@agents.aramb.work`) — the same address across all of your projects.1213**Your from-address is you, and only you.** The `from` on everything you send is14your own agent address, stamped **server-side** — there is no `from` argument and15you cannot spoof another sender. This is what makes the address trustworthy for16registrations and confirmations: the reply/confirmation comes back to *your*17inbox, where you can read it.1819**Availability — not every persona gets email.** If `aramb_mcp.email_*` is not in20your tool list, this agent has no email address provisioned. Say so plainly rather21than improvising another way to send mail (do **not** reach for22`aramb_mcp.toolkits_*` Gmail as a substitute for your own address — that is a23*user's* connected account, not you).2425## How to call2627Reach these tools with `mcporter`:2829```bash30# structured args → use --json (reliable for the nested `body` object)31npx mcporter call aramb_mcp.email_send --json '{"to":"person@example.com","subject":"Hello","body":{"text":"Hi there.","html":"<p>Hi there.</p>"}}'3233# a single simple arg → key="value" is fine too34npx mcporter call aramb_mcp.email_read id="<message-id>"35```3637Rules:38- **Prefer `--json '{...}'`** whenever a call carries the `body` object or a list39 of recipients — it is unambiguous.40- **`body` is an object `{html?, text?}`** — provide `text`, `html`, or both.41 Sending both is best (text for plain clients, html for rich ones).42- **You do not set `from`** — it is always your own agent address.43- **`to` / `cc`** accept a single address string or a list of addresses.4445## Tools4647- `email_get_address` — get your own email address and current allowlist mode.48 No args. Call this first if you need to tell a person where to write to you, or49 to put your address into a sign-up form.50 ```bash51 npx mcporter call aramb_mcp.email_get_address52 ```53- `email_send` — send a new email as yourself. Args: `to` (address or list,54 required), `subject`, `body` `{html?, text?}`; optional `cc`, `reply_to`.55 ```bash56 npx mcporter call aramb_mcp.email_send --json '{"to":["a@x.com","b@y.com"],"cc":"c@z.com","subject":"Update","body":{"text":"..."},"reply_to":"me@agent.clode.space"}'57 ```58- `email_list_inbox` — list the emails delivered to your address (most recent59 first), each with its `id`, sender, subject, and timestamp. No args.60 ```bash61 npx mcporter call aramb_mcp.email_list_inbox62 ```63- `email_read` — read one inbound email in full (body + headers, and any64 attachment metadata) by its `id` from `list_inbox`. Args: `id` (required).65 ```bash66 npx mcporter call aramb_mcp.email_read id="<message-id>"67 ```68- `email_reply` — reply to an inbound email, **threaded** (In-Reply-To /69 References are set for you). The reply goes to the original sender, from your70 own address. Args: `message_id` (required), `body` `{html?, text?}`.71 ```bash72 npx mcporter call aramb_mcp.email_reply --json '{"message_id":"<message-id>","body":{"text":"Thanks — confirmed."}}'73 ```7475## The core loop: check → read → act → reply7677You are often woken **because** an email arrived (inbound mail is a trigger). The78reliable pattern:79801. **`email_list_inbox`** — see what has arrived; pick the `id` of the message to81 handle.822. **`email_read id=<id>`** — read the full message. For a confirmation or83 magic-link mail, the link/code is in the body here — extract it and use it.843. **act** — click through / submit the code / do whatever the mail asked for85 (e.g. `aramb_mcp.toolkits_*` or a browser step), or compose your response.864. **`email_reply message_id=<id>`** — reply to the sender when a reply is what's87 called for, so the thread stays intact. Use `email_send` only to start a88 *new* conversation.8990## Using your address for sign-ups & confirmations9192When a flow asks for an email address (registering for a service, requesting a93magic link):94951. `email_get_address` → get your address.962. Enter it in the form / API call.973. Wait for the wake (or poll `email_list_inbox`), then `email_read` the98 confirmation and follow the link or enter the code.99100This is the intended use — you own the inbox the confirmation lands in, so you can101complete the loop end to end without a human relaying the code.102103## Notes104105- **Allowlist.** Your inbox may be allowlist-gated by your owner (only approved106 senders are delivered). `email_get_address` reports the mode; if expected mail107 never appears, the sender may not be allowed — tell the user rather than108 assuming the mail was lost.109- **Attachments** arrive as metadata (`filename`, `mime`, `size`) on a read110 message; the raw bytes are not inlined into the tool result.111- **Don't loop.** Auto-generated mail (bounces, "do-not-reply", your own sends112 echoed back) should not be replied to — replying to an automated sender can113 bounce back and forth. Reply only to real correspondence.