Connecting

Connect an MCP client (Claude Code, Cursor, claude.ai) over OAuth 2.1. What a session reaches, and the projectId-first flow.

The Send & Retain MCP server is a single HTTP endpoint:

https://sendandretain.com/api/mcp

Authentication is OAuth 2.1 — there is no token to mint, copy, or store. Point a client at that URL and it discovers the authorization server itself, registers, and sends you to a browser to approve.

MCP personal access tokens (aiem_…) were removed. If a client config still sends an Authorization: Bearer aiem_… header, delete the header — it no longer authenticates anything, and OAuth needs nothing in its place. The aem_ keys used by the REST API are a separate credential and are unaffected.

1. Connect a client

claude mcp add --transport http sendandretain \
  https://sendandretain.com/api/mcp

Then run /mcp and authorize sendandretain in the browser on first use.

Or install the bundled plugin (skills + slash commands + the tool set) from https://sendandretain.com/api/mcp/plugin.zip — it bakes in the same URL and authorizes the same way.

For a client that only speaks stdio, bridge it:

npx mcp-remote https://sendandretain.com/api/mcp

2. Know what the session reaches

A connected session is always workspace-scoped with write access: every company in the org, every email_* tool. There is no read-only credential and no single-company credential.

Because the session reaches everything, project-scoped tools need an explicit projectId. Call email_list_projects first and pass the company's projectId on each subsequent call.

Provider API keys can never be set over MCP. email_connect_provider returns the settings-page URL where a human pastes the Resend/SendGrid key.

3. Call a tool

Once connected, the client discovers the email_* tools automatically. Golden path for a new company:

email_create_project → email_connect_provider (human pastes the key) →
email_create_domain → email_verify_domain → email_register_webhooks →
email_create_sender → email_send_test_email → email_create_api_key

Every tool + its schema is in the domain pages of this reference.

Rate limits

Per-user, in-memory: reads 60/min, writes 10/min. Sends are additionally bounded by each project's daily cap and the kill switch (see Guardrails).

On this page