sendgrid-mcp-secure
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SENDGRID_API_KEY | No | Your SendGrid API key. Required for live mode. | |
| SENDGRID_MCP_MODE | No | Set to 'live' to enable real sends, 'dry-run' for dry-run mode. | dry-run |
| SENDGRID_MCP_ALLOW_BCC | No | Set to '1' to allow BCC (not recommended). | off |
| SENDGRID_MCP_AUDIT_LOG | No | Path to the audit log file. | ~/.sendgrid-mcp/audit.jsonl |
| SENDGRID_MCP_MAX_RECIPIENTS | No | Maximum number of recipients per send (to + cc). | 10 |
| SENDGRID_MCP_WRITES_PER_HOUR | No | Maximum number of write actions per hour. | 20 |
| SENDGRID_MCP_RECIPIENT_ALLOWLIST | No | Comma-separated list of allowed recipient emails and/or @domains. | any |
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| preview_emailA | Validate and render an email WITHOUT sending it. Returns the exact payload that would go to SendGrid plus a single-use confirm_token (valid 10 minutes). Sending requires passing that token to send_email — there is no direct-send path. BCC is not accepted by design. |
| send_emailA | Send the email previously rendered by preview_email. Accepts ONLY a confirm token — the payload cannot be altered between preview and send. Tokens are single-use and expire after 10 minutes. In dry-run mode (the default) this simulates and audits but sends nothing. |
| add_suppressionB | Add an address to a suppression list (default: global unsubscribes). Suppressing is the SAFE direction — it stops future sends to the address. |
| remove_suppressionA | Remove an address from a suppression list. DANGEROUS direction — it re-enables sending to someone who bounced or unsubscribed, which can be a compliance violation. Requires confirm=true, is rate-limited, and audited. |
| list_templatesB | List transactional email templates (dynamic + legacy). |
| get_templateA | Fetch one template with its versions (subject + content preview). |
| get_email_statsA | Global email stats (requests/delivered/opens/clicks/bounces/spam) from start_date (YYYY-MM-DD). aggregated_by: day|week|month. |
| list_suppressionsB | List a suppression list: unsubscribes|bounces|blocks|spam_reports|invalid_emails. |
| check_suppressionA | Check whether an address appears on any suppression list. Run this before drafting mail to someone — sending to suppressed addresses hurts deliverability and may violate consent. |
| get_domain_authA | List authenticated sending domains and their DNS validity — the first thing to check when deliverability drops. |
| server_statusA | This server's security posture: mode, rate-limit remaining, allowlist, caps, audit-log path, and whether an API key is present (never the key). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Choppaaahh/sendgrid-mcp-secure'
If you have feedback or need assistance with the MCP directory API, please join our Discord server