Groundmail MCP server: send transactional email, manage domains, templates, webhooks and suppressions from Claude, Cursor, ChatGPT and other MCP clients
Inferred from the transports this listing declares (stdio, streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
GROUNDMAIL_API_KEYAPI keyrequiredGroundmail API key (starts with gm_). Create one at https://app.groundmail.dev/api-keys
Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.
send_emailSend a transactional email via Groundmail. Provide subject + html/text, or a published template_id / template_alias with optional variables. To test without delivering anything, send to a simulator address: delivered@, bounce@, block@, complaint@, suppressed@ or delayed@simulator.groundmail.dev (pl…Send a transactional email via Groundmail. Provide subject + html/text, or a published template_id / template_alias with optional variables. To test without delivering anything, send to a simulator address: delivered@, bounce@, block@, complaint@, suppressed@ or delayed@simulator.groundmail.dev (pl…
No input schema was published for this tool.
list_emailsList recent emails sent from this account. Test emails (test keys, simulator addresses) have test: true.List recent emails sent from this account. Test emails (test keys, simulator addresses) have test: true.
No input schema was published for this tool.
get_emailGet a single email by public id (msg_…).Get a single email by public id (msg_…).
No input schema was published for this tool.
list_domainsList sending domains for this account.List sending domains for this account.
No input schema was published for this tool.
create_domainAdd a sending domain. DNS must still be applied and verified before production sends.Add a sending domain. DNS must still be applied and verified before production sends.
No input schema was published for this tool.
apply_domain_dnsApply Groundmail DNS records for a domain through Cloudflare, Vercel or GoDaddy. Uses the provider connected in the dashboard (Integrations), or one-time credentials passed on the request.Apply Groundmail DNS records for a domain through Cloudflare, Vercel or GoDaddy. Uses the provider connected in the dashboard (Integrations), or one-time credentials passed on the request.
No input schema was published for this tool.
verify_domainVerify DNS for a sending domain after records are applied.Verify DNS for a sending domain after records are applied.
No input schema was published for this tool.
list_webhooksList webhook endpoints for this account.List webhook endpoints for this account.
No input schema was published for this tool.
create_webhookCreate a webhook endpoint. Returns the endpoint plus a signing secret (shown once).Create a webhook endpoint. Returns the endpoint plus a signing secret (shown once).
No input schema was published for this tool.
delete_webhookprivilegedDelete a webhook endpoint by id.Delete a webhook endpoint by id.
No input schema was published for this tool.
list_suppressionsList suppressed recipient addresses.List suppressed recipient addresses.
No input schema was published for this tool.
validate_emailCheck one email address with Groundmail validation before accepting it (for example at signup): verdict valid | risky | invalid, reasons, a typo suggestion, and disposable / role flags. Free; sends nothing.Check one email address with Groundmail validation before accepting it (for example at signup): verdict valid | risky | invalid, reasons, a typo suggestion, and disposable / role flags. Free; sends nothing.
No input schema was published for this tool.
add_suppressionAdd an address to the suppression list.Add an address to the suppression list.
No input schema was published for this tool.
remove_suppressionprivilegedRemove a suppression by id or email address.Remove a suppression by id or email address.
No input schema was published for this tool.
list_category_opt_outsList category opt-outs: addresses that used a one-click unsubscribe to leave product or newsletter email. Sends in that category to them are refused until the opt-out is removed.List category opt-outs: addresses that used a one-click unsubscribe to leave product or newsletter email. Sends in that category to them are refused until the opt-out is removed.
No input schema was published for this tool.
remove_category_opt_outprivilegedRemove a category opt-out by id or email address so the address receives that category again. Use only when the reader has asked to re-subscribe.Remove a category opt-out by id or email address so the address receives that category again. Use only when the reader has asked to re-subscribe.
No input schema was published for this tool.
list_templatesList email templates.List email templates.
No input schema was published for this tool.
get_templateGet a template by id or alias.Get a template by id or alias.
No input schema was published for this tool.
create_templateCreate a draft email template (html or blocks format).Create a draft email template (html or blocks format).
No input schema was published for this tool.
publish_templatePublish a template, snapshotting an immutable version for sends.Publish a template, snapshotting an immutable version for sends.
No input schema was published for this tool.
send_test_webhook_eventSimulate a webhook event (POST /emails/test) for CI or local webhook testing. Optionally deliver to subscribed endpoints.Simulate a webhook event (POST /emails/test) for CI or local webhook testing. Optionally deliver to subscribed endpoints.
No input schema was published for this tool.
list_tenantsList tenants: one per customer you send email for, each with its own domains, suppression list, stats, pause switch and daily limit. Tenants are included on the Scale and Dedicated plans.List tenants: one per customer you send email for, each with its own domains, suppression list, stats, pause switch and daily limit. Tenants are included on the Scale and Dedicated plans.
No input schema was published for this tool.
create_tenantCreate a tenant for one of your customers. Then send with tenant set to its external id, and give it its own domains with create_domain (tenant).Create a tenant for one of your customers. Then send with tenant set to its external id, and give it its own domains with create_domain (tenant).
No input schema was published for this tool.
get_tenantGet one tenant, including whether it is paused and why.Get one tenant, including whether it is paused and why.
No input schema was published for this tool.
update_tenantChange a tenant's name, default from domain, stream policy, daily limit or metadata.Change a tenant's name, default from domain, stream policy, daily limit or metadata.
No input schema was published for this tool.
pause_tenantPause a tenant: its new sends are refused until it is resumed. The rest of the account keeps sending. Confirm with the user first.Pause a tenant: its new sends are refused until it is resumed. The rest of the account keeps sending. Confirm with the user first.
No input schema was published for this tool.
resume_tenantResume a paused tenant so it can send again. A tenant Groundmail paused (pause_source automated or admin) cannot be resumed this way; the user should fix the cause and contact support.Resume a paused tenant so it can send again. A tenant Groundmail paused (pause_source automated or admin) cannot be resumed this way; the user should fix the cause and contact support.
No input schema was published for this tool.
get_tenant_statsA tenant's email counts, bounce and complaint rates over the last days (1–90, default 7), and its sending ramp today.A tenant's email counts, bounce and complaint rates over the last days (1–90, default 7), and its sending ramp today.
No input schema was published for this tool.
get_dmarc_reportDMARC monitoring for a sending domain: who sends mail as it (grouped by provider, with unknown senders flagged as possible spoofing), SPF/DKIM/DMARC pass rates over the last 30 days, and whether it is safe to move the DMARC policy to quarantine. If monitoring is off, shows the current DMARC record;…DMARC monitoring for a sending domain: who sends mail as it (grouped by provider, with unknown senders flagged as possible spoofing), SPF/DKIM/DMARC pass rates over the last 30 days, and whether it is safe to move the DMARC policy to quarantine. If monitoring is off, shows the current DMARC record;…
No input schema was published for this tool.
enable_dmarc_monitoringTurn on free DMARC monitoring for a sending domain. Returns the report address and the exact DMARC record to publish (the current record with the address added to rua=, keeping the policy and other report addresses). Pass apply to update the record through a DNS provider connected in the dashboard.…Turn on free DMARC monitoring for a sending domain. Returns the report address and the exact DMARC record to publish (the current record with the address added to rua=, keeping the policy and other report addresses). Pass apply to update the record through a DNS provider connected in the dashboard.…
No input schema was published for this tool.
get_deliverabilityFetch best-effort deliverability metrics for recent sends (7d or 30d window).Fetch best-effort deliverability metrics for recent sends (7d or 30d window).
No input schema was published for this tool.
import_from_providerBeta. Import templates, suppressions (bounces, complaints, unsubscribes), sending domains and webhooks from SendGrid, Postmark or Mailgun into Groundmail. Ask the user for their provider API key; it is used for this import only and never stored, so do not write it to a file. Run with dry_run first…Beta. Import templates, suppressions (bounces, complaints, unsubscribes), sending domains and webhooks from SendGrid, Postmark or Mailgun into Groundmail. Ask the user for their provider API key; it is used for this import only and never stored, so do not write it to a file. Run with dry_run first…
No input schema was published for this tool.
get_import_reportBeta. The stored report of an import from SendGrid, Postmark or Mailgun: what was imported, skipped and failed, the DNS changes per domain, what still needs doing, the code change and a prompt for it. Pass the import id, or omit it for the latest import. Previews are not stored.Beta. The stored report of an import from SendGrid, Postmark or Mailgun: what was imported, skipped and failed, the DNS changes per domain, what still needs doing, the code change and a prompt for it. Pass the import id, or omit it for the latest import. Previews are not stored.
No input schema was published for this tool.
33 of 33 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Groundmail MCP server: send transactional email, manage domains, templates, webhooks and suppressions from Claude, Cursor, ChatGPT and other MCP clients
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
The crawl stopped at the 60-package limit. The rest of the tree was never resolved.
36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)
56 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.
+44 more not listed. The counts by reason above cover all of them.
Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.