Give your agent
an email platform.

Fifteen tools for email, contacts, segments and campaigns. Sends still ask you first.

claude codeplunk

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/mcp
  • Send transactional email

    One-off messages to specific people, from any verified sending domain on your project.

    plunk_send_email
  • Manage contacts

    Create, look up, update, and delete contacts, including custom data and subscription status.

    plunk_create_contact, plunk_get_contact, plunk_update_contact
  • Draft and send campaigns

    Have your agent write a campaign, review it yourself, then send it to a list or segment.

    plunk_create_campaign, plunk_send_campaign
  • Track events

    Fire the events that trigger your workflows, creating the contact on the fly if it does not exist.

    plunk_track_event
  • Works 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.

Terminal
claude mcp add plunk --env PLUNK_API_KEY=sk_your_key -- npx -y @plunk/mcp

Fifteen tools, two halves

Read-only mode registers the first six and nothing else, so an agent can look without touching.

readalways on
plunk_list_contactsplunk_get_contactplunk_verify_emailplunk_list_templatesplunk_list_campaignsplunk_list_segments
writeoff in read-only mode
plunk_create_contactplunk_update_contactplunk_delete_contactplunk_send_emailplunk_track_eventplunk_create_templateplunk_create_campaignplunk_send_campaignplunk_create_segment

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 sends
  • Read-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.

    Six read tools, nothing else
  • Account 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 nine mutating tools are then never registered with the client, so they cannot be invoked even by name. The agent is left with six 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.