Give your agent
an email platform.
Twenty-three tools for email, contacts, segments and campaigns. Sends still ask you first.
›Draft a win-back email for pro users who have gone quiet.
plunk_list_segments
4 segments
plunk_list_contacts(segment: "pro-inactive")
2,431 contacts
plunk_create_campaign("Win-back, August")
draft created
Send this campaign to 2,431 people?
1. Yes, send it
2. No, keep it as a draft
What your agent can do
The same ground the dashboard covers, exposed as tools an MCP client can call.
One command to connect
Install the official @plunk/mcp server, drop in a secret key, and your agent has your whole Plunk project. No SDK, no glue code, no bespoke tool definitions.
claude mcp add plunk -- npx -y @plunk/mcpSend transactional email
One-off messages to specific people, from any verified sending domain on your project.
plunk_send_emailManage contacts by email
Create, look up, update and delete contacts. Subscribing and unsubscribing take an email address directly, so no ID lookup first.
plunk_get_contact, plunk_unsubscribe_contact, plunk_update_contactDraft, test and send campaigns
Have your agent write a campaign, send yourself a test copy, then release it to a list or segment — and cancel it if you change your mind.
plunk_create_campaign, plunk_test_campaign, plunk_send_campaignCheck before it sends
Your agent can see which domains are verified and how a campaign performed, so it stops guessing at what will be accepted.
plunk_list_domains, plunk_get_campaign_statsTrack events
Fire the events that trigger your workflows, creating the contact on the fly if it does not exist.
plunk_track_eventWorks self-hosted
Point PLUNK_API_URL at your own instance and the same server talks to your infrastructure.
PLUNK_API_URL=https://api.your-domain.com
Connected in a minute
Grab a secret key from Settings, API Keys, then point your client at @plunk/mcp.
claude mcp add plunk --env PLUNK_API_KEY=sk_your_key -- npx -y @plunk/mcpTwenty-three tools, two halves
Read-only mode registers the first ten and nothing else, so an agent can look without touching.
What an agent cannot do
Sends ask you first
Sending a campaign, or an email to more than one recipient, prompts you and tells you how many people will receive it. The confirmation comes from you through your MCP client; the model cannot supply it itself.
No surprise sendsRead-only mode is structural
Set PLUNK_READ_ONLY=true and the mutating tools are never registered with the client. They cannot be invoked, even by name. The agent simply has no way to write.
Ten read tools, nothing elseAccount actions stay out of reach
Billing, project deletion, and key rotation all require a dashboard session rather than an API key, so no tool can touch them. Use a separate project for anything an agent should never change.
Blast radius is one project
Frequently asked questions
Which clients does the Plunk MCP server work with?
Any client that speaks the Model Context Protocol. Claude Code, Claude Desktop and Cursor are the common ones, and the setup is the same npx command or mcp.json block for all of them.
Can an agent send email without asking me?
No. Sending a campaign, or an email to more than one recipient, prompts you through your MCP client and reports how many people it would reach. The model cannot supply that confirmation itself.
How do I stop an agent writing to my project at all?
Set PLUNK_READ_ONLY=true. The thirteen mutating tools are then never registered with the client, so they cannot be invoked even by name. The agent is left with ten read tools.
Does it work with a self-hosted Plunk instance?
Yes. Set PLUNK_API_URL to your own API and the same server talks to your infrastructure instead of Plunk Cloud.
Let your agent run your email.
Free plan: 1,000 emails a month. Paid: $0.001 an email.