Labsco
MCP SERVER

GoodSender

by good-sender

Send email from an agent with the consent flow built in — recipients are asked first, and the message waits until they say yes.

Email: Mailboxes & Delivery
Summary
Two switches decide how much autonomy this has.

The default is deliberately cautious — every send and publish returns a token and waits for `confirm_action`, which is the right posture for a tool that can email real people. Turning the guards off is a supported choice for scheduled runs, but it removes the last checkpoint, so make it consciously. The consent queue is the other thing that sets this apart from a transactional API: an agent cannot mail someone who has not agreed to hear from you, which is a policy enforced in the tool rather than in the prompt.

What it is

A local email server for agents. Templates, recipient groups, sender identities and message content stay on your machine. When an agent adds a recipient, that person gets a consent request and the email queues locally until they grant it — transactional messages such as one-time codes go out without waiting.

What you get
  • Plain text, HTML or Markdown to one recipient or many
  • Consent handled automatically: new recipients get the request, the message queues, and it sends the moment consent arrives
  • Built-in templates for consentless transactional mail, such as one-time codes and order completion
  • Custom templates with dynamic variables, an interactive preview while you iterate, and a test send to check the rendering before it goes anywhere
  • Recipient groups and named sender identities, both referenced by name rather than by address
  • Email health metrics
  • A blog you can run from the same place: settings, custom domain, drafts, publish, preview and a broadcast to a group
  • A confirmation gate on mutating tools — create, publish and send return a token first and only run after `confirm_action`
Requirements

A GoodSender API key in `GOODSENDER_API_KEY`. Three ways to install: an MCPB bundle you open in a supporting client, a Docker image that serves Streamable HTTP on port 9889, or a downloaded binary for your platform referenced directly in the client config. `GOODSENDER_DISABLE_ACTION_GUARDS=true` removes the confirmation step for unattended runs, and `GOODSENDER_TELEMETRY=false` opts out of the usage metrics that are on by default.

Setup effort

One command plus a key — docker run -d -e GOODSENDER_API_KEY=<Your API Key> -v goodsender-mcp-data:/data ghcr.io/good-sender/mcp:latest, then supply credentials