Connect AI assistants (MCP)
Let Claude, Cursor, VS Code and other MCP clients send tracked email from your Gmail and read opens and clicks, with a scoped API key.
Maildriply runs a hosted Model Context Protocol server. Once it's connected, your AI assistant can send email from your own Gmail with open and click tracking. It can also check who opened, who clicked, and who needs a follow-up.
- Server URL:
https://api.maildriply.com/mcp - Transport: Streamable HTTP
- Auth:
Authorization: Bearer <your API key>
1. Create an API key
- Sign in at app.maildriply.com and connect Gmail if you haven't yet.
- Open Settings → AI & MCP.
- Name the key (for example "Claude on my laptop") and choose Allow sending email on or off. With it off, the key is read-only: the assistant can see emails and tracking but can't send.
- Click Create API key and copy it. It starts with
mdk_and is shown only once.
Anyone with a send-enabled key can send email from your Gmail account. Create one key per device or tool so you can revoke them individually, and never commit a key to a repository.
2. Add the server to your client
Claude Code
claude mcp add --transport http maildriply https://api.maildriply.com/mcp \
--header "Authorization: Bearer mdk_your_key"Run claude mcp list to confirm it's connected.
Cursor
Add this to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"maildriply": {
"url": "https://api.maildriply.com/mcp",
"headers": { "Authorization": "Bearer mdk_your_key" }
}
}
}VS Code
Add this to .vscode/mcp.json:
{
"servers": {
"maildriply": {
"type": "http",
"url": "https://api.maildriply.com/mcp",
"headers": { "Authorization": "Bearer mdk_your_key" }
}
}
}Claude Desktop
Claude Desktop's config file starts local servers, so connect through the
mcp-remote bridge (it needs Node.js). Add this to
claude_desktop_config.json and restart Claude Desktop:
{
"mcpServers": {
"maildriply": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.maildriply.com/mcp",
"--header",
"Authorization:${MAILDRIPLY_AUTH}"
],
"env": { "MAILDRIPLY_AUTH": "Bearer mdk_your_key" }
}
}
}Other clients
Any client that can add a remote MCP server over Streamable HTTP with a custom Authorization
header will work. Clients that only support sign-in (OAuth) connectors, such as the Claude.ai and
ChatGPT web apps, aren't supported yet.
3. Try it
Start with something harmless:
Send a test email to myself with the subject "Hello from my assistant".
The message lands in your own inbox. After that, try:
- "Send a short intro to sam@acme.com about our pilot."
- "Who opened yesterday's update but didn't click the link?"
- "Follow up with everyone who hasn't opened the pricing email."
- "Schedule this for Monday 9am Berlin time."
Tools
| Tool | Needs sending | What it does |
|---|---|---|
get_account | Connected Gmail address, today's sending quota, and what the key can do | |
send_email | ✓ | Send now or at a scheduled time, to up to 500 recipients. Each one gets an individual, tracked copy |
send_follow_up | ✓ | Reply in the original Gmail thread, to everyone it reached or a subset |
send_test_email | ✓ | Send a preview to your own address |
reschedule_email / cancel_scheduled_email | ✓ | Change or cancel a scheduled send |
list_emails | Search and filter what you've sent and scheduled | |
get_email_tracking | Per-recipient delivery, opens and clicks, plus clicks per link | |
get_email_thread | An email and its follow-ups, with engagement per step | |
get_recent_activity | Newest opens, clicks and unsubscribes across all emails | |
get_analytics_overview | Open, click and delivery rates for 7, 30 or 90 days | |
list_templates / get_template / list_tags | Reuse your saved templates and tags |
Plain-text bodies are converted to simple HTML, and links in them are tracked automatically. Assistants can also send full HTML.
How it stays safe
- Your Gmail, your address. Mail always goes out from the Gmail account you connected. The
assistant can't change the sender, and Maildriply still holds only the
gmail.sendscope, so neither we nor the assistant can read your inbox. - You approve actions. MCP clients ask before running a tool, and read-only keys can't send at all.
- Same guardrails as the dashboard. The daily sending quota, warm-up, rate limits, and suppression of people who unsubscribed all apply.
- Revocable. Revoke a key in Settings → AI & MCP and it stops working on its next request. Each key shows when it was last used.
Privacy features like Apple Mail Privacy Protection and Gmail's image proxy can record opens nobody made, or hide real ones. Your assistant sees the same caveat. Clicks and replies are stronger signals. See Reading the analytics dashboard.
Troubleshooting
- 401 "Invalid or revoked API key". Check that the key was pasted in full, including
mdk_, and with theBearerprefix. Then check that it hasn't been revoked. - "No Gmail account is connected". Connect Gmail in the dashboard (Settings → Gmail & domain), then retry.
- "This API key does not have the emails:send scope". The key is read-only. Create a new one with Allow sending email turned on.
- "Too many send requests". Send tools are rate-limited per account. Wait a minute and retry.