groundmail-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GROUNDMAIL_API_KEY | Yes | Your Groundmail API key (e.g. gm_your_key_here), used for stdio transport via the GROUNDMAIL_API_KEY environment variable, or as an `Authorization: Bearer gm_…` header for local and hosted HTTP transports. | |
| GROUNDMAIL_API_URL | No | Optional custom Groundmail API URL, e.g. http://localhost:3003/api for a local API. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| send_emailA | Send a transactional email via Groundmail. Provide subject + html/text, or a published template_id / template_alias with optional variables. |
| list_emailsB | List recent emails sent from this account. |
| get_emailB | Get a single email by public id (msg_…). |
| list_domainsC | List sending domains for this account. |
| create_domainA | Add a sending domain. DNS must still be applied and verified before production sends. |
| apply_domain_dnsB | Apply Groundmail DNS records for a domain. Cloudflare and GoDaddy can use credentials stored in the dashboard; GoDaddy also accepts one-time credentials on the request. |
| verify_domainB | Verify DNS for a sending domain after records are applied. |
| list_webhooksC | List webhook endpoints for this account. |
| create_webhookB | Create a webhook endpoint. Returns the endpoint plus a signing secret (shown once). |
| delete_webhookC | Delete a webhook endpoint by id. |
| list_suppressionsC | List suppressed recipient addresses. |
| add_suppressionC | Add an address to the suppression list. |
| remove_suppressionC | Remove a suppression by id or email address. |
| list_templatesC | List email templates. |
| get_templateC | Get a template by id or alias. |
| create_templateC | Create a draft email template (html or blocks format). |
| publish_templateB | Publish a template, snapshotting an immutable version for sends. |
| send_test_webhook_eventA | Simulate a webhook event (POST /emails/test) for CI or local webhook testing. Optionally deliver to subscribed endpoints. |
| get_deliverabilityB | Fetch best-effort deliverability metrics for recent sends (7d or 30d window). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Each tool targets a distinct resource+action across emails, domains, webhooks, suppressions, and templates; no two tools have overlapping purposes. Descriptions clearly differentiate similar-sounding operations like apply_domain_dns vs verify_domain.
All tools use snake_case with a consistent verb-first pattern (e.g., list_emails, create_domain, delete_webhook). Minor multi-word nouns like send_test_webhook_event still follow the convention without mixing styles.
19 tools is slightly above the ideal 3-15 range for a single service, but the breadth of subdomains (emails, domains, webhooks, suppressions, templates, deliverability) justifies each tool's existence. No obvious redundant tools are present.
Core lifecycle for emails, domains, webhooks, suppressions, and templates is largely covered, but update operations for templates and domains (e.g., update_template, delete_domain) are missing, leaving minor gaps. Agents can work around most scenarios.