Standardized Email MCP Tooling Directory
To ensure universal interoperability across Claude Desktop, Cursor, ChatGPT, and autonomous orchestration frameworks like LangGraph and CrewAI, the email tooling ecosystem has converged on a standardized directory of MCP primitives.
SadaSend implements 10 safe read and transactional send operations (send_email, check_domain_dns, list_templates, check_suppression, render_template, get_stats) with a strict architectural guarantee: zero destructive tools (no create_api_key, no delete_domain) can ever be exposed to or executed by an LLM.
Directory of Safe MCP Email Tools
| Tool Name | Purpose & Security Scope | Key Parameters | Return Type Schema |
|---|---|---|---|
| send_email | Dispatches transactional message with allowlist check | to, subject, text, html, replyTo | { id: string, status: "sent" | "queued" } |
| verify_domain_dns | Inspects SPF, DKIM, and DMARC verification status | domain: string | { spf: boolean, dkim: boolean, dmarc: string } |
| get_message_status | Checks delivery and bounce events for a sent email | messageId: string | { id: string, event: "delivered" | "bounced" } |
| inspect_allowlist | Returns authorized recipient domains for current key | none | { allowedDomains: string[], approvalMode: boolean } |
| check_suppression | Verifies if an email address is in bounce or spam list | email: string | { isSuppressed: boolean, reason?: string } |
JSON Schema Specification for send_email
Here is the official JSON Schema definition emitted during the MCP tools/list handshake:
{
"name": "send_email",
"description": "Dispatches a transactional email to an authorized recipient with edge allowlist verification.",
"inputSchema": {
"type": "object",
"properties": {
"to": {
"type": "string",
"format": "email",
"description": "Destination email address."
},
"subject": {
"type": "string",
"minLength": 1,
"maxLength": 150,
"description": "Email subject line."
},
"text": {
"type": "string",
"description": "Plain-text email body."
},
"html": {
"type": "string",
"description": "Optional responsive HTML body."
},
"replyTo": {
"type": "string",
"format": "email",
"description": "Optional reply-to address."
}
},
"required": ["to", "subject", "text"]
}
}Standard Error Codes & Resolution Actions
- -32602 (Invalid Params): Recipient email address format is invalid or missing required parameters.
- 403 (Forbidden Allowlist Refusal): The recipient domain is outside the authorized key scope.
- 429 (Rate Limit Exceeded): The agent has exceeded its hourly sending budget.
- 503 (Upstream Gateway Unavailable): Temporary email network disruption; safe to retry with idempotency key.
Building AI agents that send email?
Scoped API keys, per-key recipient allowlists, approval mode and a hosted MCP server with ten tools — on the free plan, without a card.