Mailshake MCP server
Mailshake in any MCP client, through Memtro: Mailshake does not publish this server. Memtro's Mailshake connector reads Mailshake through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Mailshake cold email outreach: campaigns with their message sequence, sender and paused state, a campaign's recipients filtered by what they did (opened, clicked, replied, bounced, paused, problems), leads by status and assignee, replies with a short excerpt of what the prospect wrote, and sent, opened and clicked activity. Can pause or resume a campaign or a recipient, add recipients to a campaign, unsubscribe addresses, create a campaign, and create, win, lose, ignore or reopen leads, each only when asked. Every call spends the key's hourly API quota.
Reads
mailshake_list_campaignsList Mailshake campaigns: title, created, paused, archived, sender and the message sequence (initial, follow-ups, drips) with subjects.mailshake_get_campaignOne Mailshake campaign by id: title, paused and archived state, sender, and every message in its sequence with type and subject.mailshake_list_recipientsRecipients of one Mailshake campaign (name, email, when added, paused), optionally only those who did (or, with negate, did not) open, click, reply…mailshake_list_leadsMailshake leads (recipients who may be interested): status (open, won, lost, ignored), the recipient's name and email, campaign…mailshake_list_repliesThe most recent replies to Mailshake emails, newest first: who replied, the campaign, the type (reply, bounce, out-of-office, unsubscribe…mailshake_list_activityRecent Mailshake email activity, newest first: emails sent (1 quota unit, at most 25 a page), opens (2 units) or link clicks (3 units)…mailshake_list_team_membersThe team's Mailshake users: id, name, work email, whether each is an administrator and whether they are disabled.mailshake_list_sendersThe team's connected Mailshake senders (the mailboxes campaigns send from): id, address and from name.mailshake_recipient_import_statusProgress of a mailshake_add_recipients import by its status id: finished or not, and which addresses were skipped as unsubscribed…
Acts, when you ask
These change something in Mailshake. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
mailshake_create_campaignCreate a Mailshake campaign with a title and sender.mailshake_pause_campaignPause all sending for a Mailshake campaign at once.mailshake_unpause_campaignResume sending for a paused Mailshake campaign.mailshake_add_recipientsAdd up to 25 recipients to a Mailshake campaign.mailshake_pause_recipientPause all campaign email to one recipient of a Mailshake campaign.mailshake_unpause_recipientResume campaign email to one paused recipient of a Mailshake campaign.mailshake_unsubscribeAdd up to 25 email addresses to the team's Mailshake unsubscribe list, so no campaign emails them again.mailshake_create_leadsTurn up to 25 recipients of a Mailshake campaign into leads, by recipient id or by email address with the campaign.mailshake_close_leadMark a Mailshake lead won (the default) or lost.mailshake_ignore_leadMark a Mailshake lead ignored (not worth pursuing; use mailshake_close_lead with lost for one that was worked and did not pan out).mailshake_reopen_leadReopen a won, lost or ignored Mailshake lead so it is open for review again.
Connect it
First connect Mailshake on Dashboard → Connections, then add Memtro to your client once. The Mailshake tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Mailshake connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › Who replied to our outreach this week?
- › Which recipients in the Q3 campaign bounced?
- › Which open leads are assigned to Sarah?
- › How many emails did the partner campaign send yesterday?
- › Pause the Q3 outreach campaign
Questions
- Is this an official Mailshake MCP server?
- No. It is Memtro's MCP server with Memtro's Mailshake connector behind it: the connector reads Mailshake through its API with the credentials you connect on Dashboard → Connections, and Mailshake publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Mailshake?
- Only when you ask, and only what it has been granted: create a campaign (it cannot send until finished in Mailshake); pause a campaign's sending; resume a paused campaign (its pending emails to prospects are sent); add recipients to a campaign (they are scheduled to be emailed unless the campaign is paused); pause sending to one recipient; resume sending to one recipient (their pending emails are sent); add email addresses to the team's unsubscribe list; create leads from a campaign's recipients; mark a lead won or lost; mark a lead ignored; reopen a won, lost or ignored lead. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.