Groundmail

io.github.GroundmailPublished by GitHub account Groundmailv0.29.4Updated Nov 7, 2026

Send and receive email, give agents mailboxes, and manage domains and templates with Groundmail.

VerifiedStreamable HTTPWeb executableDeveloper ToolsCommunication & Collaboration

Overview

AI-generated overview

Groundmail's MCP server lets an assistant send and receive transactional email, manage sending domains, templates, webhooks and suppressions, and check…

What you can do
  • Send, list and look up emails, including address validation and deliverability/DMARC checks
  • Add and verify sending domains, applying DNS records through Cloudflare, Vercel or GoDaddy
  • Manage templates, webhooks, suppressions and imports from other providers
  • Run email tests with a per-run test address, then wait for the message and read its code and links
  • Create and manage tenants (one per customer) with pause, resume and stats
When to use it
Useful when you want an agent to send transactional mail such as password resets or receipts, inspect delivery and bounces, or set up and verify a sending domain without leaving the chat client.
Requirements
Either the hosted endpoint with OAuth sign-in in the browser, or a local run via npx groundmail-mcp with a GROUNDMAIL_API_KEY (starts with gm_). HTTP modes accept a Bearer API key header. A Groundmail account is needed; free tier covers 3,000 emails a month. Optional GROUNDMAIL_API_URL overrides the API base URL.
Before you install
Sending email is an outward action that can reach real recipients, and domain, webhook and suppression tools can change or delete configuration. Choose the Full, Send only or Read only access level deliberately and revoke access when done. The API key is a secret; keep it out of shared config. Paid plans apply beyond the free monthly quota.

Installation

In SourceWeft

  1. Open Groundmail in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.Groundmail%2Fgroundmail/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "groundmail": {
      "type": "http",
      "url": "https://mcp.groundmail.dev/mcp"
    }
  }
}

README

[Groundmail]

Groundmail MCP server

Send transactional email and manage domains, templates, webhooks and suppressions
from Claude, Claude Code, ChatGPT, Cursor and any other MCP client.

[npm] [MCP registry] [License: MIT]

Docs · Get a free account · groundmail.dev


Quick start

The fastest way is the hosted server. Add the URL, sign in through your browser, and you're done. No API key to copy.

https://mcp.groundmail.dev/mcp
ClientHow to connect
Claude Codeclaude mcp add --transport http groundmail https://mcp.groundmail.dev/mcp, then run /mcp, pick groundmail and choose Authenticate
CursorAdd { "mcpServers": { "groundmail": { "url": "https://mcp.groundmail.dev/mcp" } } } to .cursor/mcp.json; Cursor shows "Needs login"
Claude.aiSettings → Connectors → Add custom connector → paste the URL
ChatGPTSettings → Apps & Connectors → Create (developer mode) → paste the URL, authentication OAuth

When you connect, you choose the access: Full, Send only or Read only. Revoke it any time in Groundmail under Settings → CLIs & agents.

What you can ask for

"Send a password reset email to [email protected] from [email protected]."

"Did my last 10 emails get delivered? Show any bounces."

"Add mail.acme.com as a sending domain and apply the DNS records on Cloudflare."

"How is my deliverability over the last 7 days?"

Tools cover emails (send, list, look up), domains (add, apply DNS through Cloudflare, Vercel or GoDaddy, verify), templates, webhooks, suppressions, address validation, deliverability, DMARC monitoring, email testing (a test address per run, then wait for the email and read its code and links), imports from other providers and tenants (one per customer you send for: create, update, pause, resume, stats; tenant on sends, domains and suppressions). Each tool carries read-only and destructive annotations and an output schema. Full list: docs.groundmail.dev/ai/mcp.

Transports

ModeCommand / URLAuth
HTTP (hosted)https://mcp.groundmail.dev/mcpOAuth (recommended) or Authorization: Bearer gm_…
stdionpx -y groundmail-mcpGROUNDMAIL_API_KEY=gm_…
HTTP (local)npx -y groundmail-mcp --http --port 3000Authorization: Bearer gm_… on each request

Optional: GROUNDMAIL_API_URL (for example http://localhost:3003/api against a local API).

Local HTTP endpoint: http://127.0.0.1:3000/mcp · health: GET /health Hosted health: GET https://mcp.groundmail.dev/health

Cursor with an API key (stdio)

.cursor/mcp.json:

json
{  "mcpServers": {    "groundmail": {      "command": "npx",      "args": ["-y", "groundmail-mcp"],      "env": {        "GROUNDMAIL_API_KEY": "gm_your_key_here"      }    }  }}
Cursor with an API key (local or hosted HTTP)
bash
npx -y groundmail-mcp --http --port 3000
json
{  "mcpServers": {    "groundmail": {      "url": "http://127.0.0.1:3000/mcp",      "headers": {        "Authorization": "Bearer gm_your_key_here"      }    }  }}

For the hosted server with a key instead of OAuth, use "url": "https://mcp.groundmail.dev/mcp" with the same header.

Claude Code with an API key
bash
# Hosted, API keyclaude mcp add --transport http groundmail https://mcp.groundmail.dev/mcp \  --header "Authorization: Bearer $GROUNDMAIL_API_KEY"
# Local stdioclaude mcp add groundmail --env GROUNDMAIL_API_KEY=gm_your_key_here -- npx -y groundmail-mcp

Want your coding agent to know Groundmail too? Install the agent skills: npx skills add Groundmail/groundmail-skills -y.

Why Groundmail

  • Our own mail servers and IP space. Your password resets and receipts don't share a pool with bulk marketing senders.
  • Transactional email only. No newsletters or cold outreach on the platform, which keeps the sending reputation clean.
  • Start free. Free covers 3,000 emails a month. After that, pay as you go is $15 a month with 20,000 emails included, then from $0.70 per 1,000, less as you grow. Pricing
  • Built for code and for agents. REST API, SMTP, SDKs for Node, Python, Go, PHP and Ruby, a CLI, and an MCP server for Claude, ChatGPT and Cursor.

All Groundmail libraries

UsePackage
Node.js / TypeScriptgroundmail on npm
Python (Django), Go, Ruby (Rails Action Mailer)Groundmail/groundmail-sdks
PHPGroundmail/groundmail-php
LaravelGroundmail/groundmail-laravel
Symfony MailerGroundmail/groundmail-symfony-mailer
NodemailerGroundmail/groundmail-nodemailer
NestJSGroundmail/nestjs-groundmail
StrapiGroundmail/strapi-provider-email-groundmail
MedusaGroundmail/medusa-notification-groundmail
AdonisJSGroundmail/adonisjs-groundmail
Phoenix (Swoosh)Groundmail/swoosh_groundmail
CLIgroundmail-cli on npm
MCP server (Claude, ChatGPT, Cursor)Groundmail/groundmail-mcp
Agent skills and Claude Code pluginGroundmail/groundmail-skills
Email templates (React Email, MJML, HTML)Groundmail/email-templates

Website · Docs · Pricing · Sign up free

Source: README.md at commit 045313c

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

28
  1. v0.29.4LatestNov 7, 2026
  2. v0.29.1Nov 6, 2026
  3. v0.29.0Nov 5, 2026
  4. v0.28.1Nov 5, 2026
  5. v0.28.0Nov 4, 2026
  6. v0.27.0Nov 4, 2026
  7. v0.25.0Nov 4, 2026
  8. v0.23.0Nov 3, 2026
  9. v0.20.1Nov 1, 2026
  10. v0.20.0Oct 31, 2026
  11. v0.19.4Oct 30, 2026
  12. v0.19.1Oct 30, 2026
  13. v0.18.0Oct 30, 2026
  14. v0.17.1Oct 29, 2026
  15. v0.16.1Oct 25, 2026
  16. v0.15.1Oct 23, 2026
  17. v0.15.0Oct 22, 2026
  18. v0.14.6Oct 22, 2026
  19. v0.14.3Oct 20, 2026
  20. v0.14.2Oct 19, 2026
  21. v0.14.0Oct 19, 2026
  22. v0.12.1Oct 19, 2026
  23. v0.12.0Oct 18, 2026
  24. v0.11.1Oct 18, 2026
  25. v0.9.0Oct 18, 2026
  26. v0.6.4Oct 17, 2026
  27. v0.6.2Oct 17, 2026
  28. v0.5.12Oct 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts