Inboundr ships a native Model Context Protocol (MCP) server, so an AI agent can manage its own email as a set of tools — no glue code required. It’s the same data as the REST API, authenticated with the same inb_ key.

Endpoint

The server speaks streamable HTTP. Authenticate with a bearer token:

Connecting

The console shows a ready-to-paste connection snippet for your account on the Agents & MCP page.

Tools

List the caller’s domains with verification status. Mail can only be received on verified domains.
Create an address on one of the caller’s domains, e.g. agent@yourdomain.com. Store-only by default; pass endpointId to also deliver each message to a webhook.
string
required
Full address to create.
string
Optional webhook endpoint id (ep_…).
List the caller’s explicit addresses. (Verified domains also accept mail on any address via catch-all.)
List emails newest-first (summaries, no bodies). Filter by to, threadId, or direction; paginate with cursor.
string
Only emails addressed (To/Cc) to this address.
string
string
inbound or outbound.
number
1–100.
string
nextCursor from a previous call.
Fetch one email in full: text and HTML bodies, attachment metadata, spam/SPF/DKIM verdicts, and threading headers.
string
required
Email id (em_…).
Fetch all messages in a conversation, oldest first (summaries).
string
required
Thread id (thr_…).
Get a presigned download URL (valid 15 minutes) for one attachment. Index is 0-based, matching the attachments array from get_email.
string
required
Email id (em_…).
number
required
0-based attachment index.
List the caller’s shield rules in evaluation order. The first rule whose conditions all match a message wins and no later rule runs, so the order is the meaning of the list.
Create a rule judged against every inbound message before it is stored. All conditions must match (AND); use several rules for OR. New rules are added last in the order.
string
required
Short label.
string
required
block drops the message permanently (never stored, delivered, or counted — the body cannot be recovered); allow delivers it and stops later rules; route delivers to endpointIds instead of the address’s own (empty = quarantine).
object[]
required
1–8 { field, operator, value } objects. See Fields and operators.
string[]
Route only (ep_…).
string
Limit to one domain (dom_…).
string
Limit to one address (addr_…).
Delete a rule. Mail it blocked starts arriving again; mail already blocked stays gone.
string
required
Rule id (gr_…).
List messages recently dropped by a rule: sender, recipient, subject, and which rule caught them. This is the only record a blocked message leaves.
number
1–200, default 50.

Rate limits

MCP and REST share one budget — 5 requests/second per account, keyed by the API key’s owner. See Rate limits.

A typical agent loop

  1. list_emails with direction: "inbound" → find new mail.
  2. get_thread → read the conversation for context.
  3. create_shield_rule → act on what it finds — block, allow, route, or quarantine future mail like it.