Skip to main content
The ReallyQuickEmails MCP server exposes your project through the Model Context Protocol. Connect it to claude.ai, Claude Desktop, Cursor or Claude Code and your assistant can query your contacts, campaigns, metrics and automations, answering in natural language.
Your assistant can query data, modify contacts and segments, create draft campaigns (which you review and send from the app), enroll contacts into automations, and even send email — each capability behind its own permission, granted by you when creating the key. Building complete automations by chat is coming soon.
The connection is secure by design:
  • The server holds no database credentials. It authenticates each call with your MCP key and forwards it to the API; the project is resolved from the key, never from what the assistant asks for. A key from one project cannot read another.
  • Each key carries its own permissions. The assistant only sees, and can only use, the tools its permissions enable.
  • You can revoke it any time and access is cut on the next call.

From claude.ai (fastest)

On claude.ai you don’t need to create a key by hand or edit any config file:
1

Add the connector

Open Settings → Connectors → Add custom connector and paste the URL:
2

Authorize

Claude takes you to a ReallyQuickEmails screen. Sign in if you weren’t already, pick the project you want to connect, check whether you also want to allow creating and editing, and click Authorize.That’s it: the app issues the key for you and the connector is ready.
The issued key shows up under Integrations → API Keys → MCP Keys, named after the client you connected. To disconnect the connector, revoke it there.
This path never grants sends:execute (sending real email). If you want your assistant to send on your behalf, create the key by hand with that permission and connect using the method below.

With a key (Claude Desktop, Cursor, Claude Code)

Clients that accept headers in their config use your MCP key directly.
1

Create an MCP key

  1. Open the dashboard and select your project.
  2. In the sidebar go to Integrations → API Keys.
  3. Scroll to the MCP Keys section and click Create key.
  4. Give it a name and check the permissions you want to grant (see Permissions). Grant only what the assistant needs.
  5. Copy the key (rqe_mcp_...).
The full key is shown only once. If you lose it, revoke it and create a new one. Never paste it into client-side code or repositories.
REST API keys (sk_proj_...) do not work on the MCP — they return 401. The MCP uses its own key type (rqe_mcp_...), with granular permissions, created in this same section.
2

Connect your AI client

Use the endpoint https://mcp.reallyquickemails.com/mcp with your key in the X-API-Key header.
Open Settings → Developer → Edit Config and add your server. You can also edit claude_desktop_config.json directly:
Restart Claude Desktop. The server shows up in the tools picker.
3

Verify the connection

Ask your assistant something simple, for example:
Which ReallyQuickEmails project am I connected to?
It will call the whoami tool and answer with your project name and the key’s permissions. If you see an authorization error instead, check that you copied the full key and that it is not revoked.
To see everything your assistant can do with this key — including what it’s missing and how to enable it — ask it to call get_capabilities (see Capabilities and guided workflows).

Permissions

Each key grants one or more permissions. The assistant does not see the tools it wasn’t authorized for, and if it tries to use them anyway, the call is rejected.
Start with the minimum. If you only want the assistant to analyze campaign performance, campaigns:read and reports:read are enough. Grant write permissions (:write) only if you want the assistant to modify your data.
Write permissions modify your real data. Only sends:execute sends email directly, but keep in mind that adding a tag, tracking an event or enrolling into an active automation can result in a send if you have flows configured with those triggers. Grant them intentionally.

Capabilities and guided workflows

Any valid key can call get_capabilities (no permission needed, just like whoami) and gets the server’s full catalog back: every tool that exists — marking which ones are available for your key and, if not, how to enable them —, what each permission grants, the hard limits of the API (pagination, send_email max recipients, idempotency window), and a set of guided, step-by-step workflows for the jobs people actually ask for. The same workflows are registered as MCP prompts (prompts/list, prompts/get): a client that supports them can offer them directly, without going through a tool.
For a task you don’t know well, have your assistant call get_capabilities before whoami — it’s cheaper than discovering a limit by trial and error.

Available tools

Every write tool accepts idempotency_key (optional, in the body or the Idempotency-Key header): the same key with the same body, within 24 hours, replays the original result instead of acting again. The same key with a different body responds 409 IDEMPOTENCY_CONFLICT — a fresh UUID per real action is enough.
Write results and single-entity reads (a campaign, template, segment or automation) include view_in_app: the direct link to that screen in the app.
To answer “why didn’t my flow trigger?” without waiting for support.
These modify real data. None of them send email directly, but the ones marked can trigger active automations that do send.
All three support idempotency_key: the same key within 24h returns the previous result instead of sending again.
send_email, send_campaign_test and send_campaign (with confirm: true) send real email and cannot be undone once delivered. A campaign scheduled with scheduled_at CAN be stopped with cancel_campaign before it fires. Grant sends:execute only to keys whose assistant should send on your behalf, and revoke it when no longer needed.

Errors

Every non-2xx response has the same shape:
  • code is stable: it decides the next step without parsing prose.
  • suggestion is the concrete fix — your assistant can act on it in the same turn without you stepping in.
  • request_id identifies that call and also travels in the X-Request-Id header of every response, success or error. Share it if you need support.

Partner mode (manage your client portfolio)

If you’re a partner managing several clients (each one an RQE project), you can connect the MCP with your partner key (sk_partner_...) instead of a project key. In that mode, a single connection operates at the organization level and exposes 3 tools to manage your portfolio:
Partner mode operates per organization: list_clients/get_client_stats only see projects in your org, and create_client creates them inside it. To operate a client in detail (send, contacts, campaigns), use its project api_key with the regular MCP. Endpoint details in Partner / Provisioning.

Revoke a key

Under Integrations → API Keys → MCP Keys, click Revoke on the key. Access is cut on the next call; an assistant using it will get an authorization error. The revoked key stays listed for your records and cannot be reactivated.

FAQ

Your API Key (sk_...) gives full access to the API, including sending email, and is meant for your own backend. The MCP key (rqe_mcp_...) has granular permissions and is meant to connect a third-party AI assistant with exactly the access you decide. Never paste your sk_... into an AI client.
It can send email only if you granted sends:execute — without that permission it does not even see the sending tools. Campaigns it creates are always drafts; you send them from the app or, if you granted sends:execute, with send_campaign (which first shows you the summary, can be scheduled with scheduled_at, and waits for your approval) — send_campaign_test sends a test copy before launching, and cancel_campaign stops one that is already sending or scheduled. It does not delete contacts or data: there are no delete tools. Each capability is a separate permission you grant explicitly when creating the key.
Not yet — that is coming soon. Today it can enroll contacts into automations you already built (with automations:write), pause and resume them, and check their performance, but designing the flow itself (nodes, triggers, conditions) happens in the app.
It can call send_flare (no permission needed, any key) to report it with full context: what you were trying to do, what happened, and the chain of calls that led there. It returns a flare_id — hand that to support if you need follow-up.
Yes. One key per client or per use, each with the minimum permissions, is good practice so you can revoke one without affecting the rest.
Because it doesn’t need one. claude.ai connectors have no field for headers: they connect over OAuth, so instead of asking for a key they take you to a ReallyQuickEmails screen where you pick the project and permissions, and the app issues the key for you. It’s the same key type (rqe_mcp_...), listed and revoked in the same place.