MCP Server
Active
MIT
SendGrid Secure MCP Server
io.github.Choppaaahh/sendgrid-mcp-secure
What is the SendGrid Secure MCP server?
Security-first SendGrid MCP server: dry-run default, recipient allowlists, rate caps, audit log.
How to install SendGrid Secure
Copy-paste configuration for popular MCP clients.
transport: stdio
Config generated by PluginBench — verify against the source before use.Environment / auth
SENDGRID_API_KEYrequiredsecretSendGrid API key (use a restricted key with Mail Send scope only)
SENDGRID_MCP_MODEdry-run (default) or live
SENDGRID_MCP_RECIPIENT_ALLOWLISTComma-separated recipient addresses/domains allowed to receive mail
SENDGRID_MCP_WRITES_PER_HOURHourly cap on write operations (sends)
SENDGRID_MCP_MAX_RECIPIENTSMax recipients per send
SENDGRID_MCP_AUDIT_LOGPath to the append-only audit log
SENDGRID_MCP_ALLOW_BCCBCC stays disabled unless explicitly enabled
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"sendgrid-mcp-secure": {
"command": "uvx",
"args": [
"sendgrid-mcp-secure"
],
"env": {
"SENDGRID_API_KEY": "<YOUR_SENDGRID_API_KEY>",
"SENDGRID_MCP_MODE": "<YOUR_SENDGRID_MCP_MODE>",
"SENDGRID_MCP_RECIPIENT_ALLOWLIST": "<YOUR_SENDGRID_MCP_RECIPIENT_ALLOWLIST>",
"SENDGRID_MCP_WRITES_PER_HOUR": "<YOUR_SENDGRID_MCP_WRITES_PER_HOUR>",
"SENDGRID_MCP_MAX_RECIPIENTS": "<YOUR_SENDGRID_MCP_MAX_RECIPIENTS>",
"SENDGRID_MCP_AUDIT_LOG": "<YOUR_SENDGRID_MCP_AUDIT_LOG>",
"SENDGRID_MCP_ALLOW_BCC": "<YOUR_SENDGRID_MCP_ALLOW_BCC>"
}
}
}
}Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"sendgrid-mcp-secure": {
"command": "uvx",
"args": [
"sendgrid-mcp-secure"
],
"env": {
"SENDGRID_API_KEY": "<YOUR_SENDGRID_API_KEY>",
"SENDGRID_MCP_MODE": "<YOUR_SENDGRID_MCP_MODE>",
"SENDGRID_MCP_RECIPIENT_ALLOWLIST": "<YOUR_SENDGRID_MCP_RECIPIENT_ALLOWLIST>",
"SENDGRID_MCP_WRITES_PER_HOUR": "<YOUR_SENDGRID_MCP_WRITES_PER_HOUR>",
"SENDGRID_MCP_MAX_RECIPIENTS": "<YOUR_SENDGRID_MCP_MAX_RECIPIENTS>",
"SENDGRID_MCP_AUDIT_LOG": "<YOUR_SENDGRID_MCP_AUDIT_LOG>",
"SENDGRID_MCP_ALLOW_BCC": "<YOUR_SENDGRID_MCP_ALLOW_BCC>"
}
}
}
}Windsurf
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"sendgrid-mcp-secure": {
"command": "uvx",
"args": [
"sendgrid-mcp-secure"
],
"env": {
"SENDGRID_API_KEY": "<YOUR_SENDGRID_API_KEY>",
"SENDGRID_MCP_MODE": "<YOUR_SENDGRID_MCP_MODE>",
"SENDGRID_MCP_RECIPIENT_ALLOWLIST": "<YOUR_SENDGRID_MCP_RECIPIENT_ALLOWLIST>",
"SENDGRID_MCP_WRITES_PER_HOUR": "<YOUR_SENDGRID_MCP_WRITES_PER_HOUR>",
"SENDGRID_MCP_MAX_RECIPIENTS": "<YOUR_SENDGRID_MCP_MAX_RECIPIENTS>",
"SENDGRID_MCP_AUDIT_LOG": "<YOUR_SENDGRID_MCP_AUDIT_LOG>",
"SENDGRID_MCP_ALLOW_BCC": "<YOUR_SENDGRID_MCP_ALLOW_BCC>"
}
}
}
}VS Code
.vscode/mcp.json
{
"servers": {
"sendgrid-mcp-secure": {
"type": "stdio",
"command": "uvx",
"args": [
"sendgrid-mcp-secure"
],
"env": {
"SENDGRID_API_KEY": "<YOUR_SENDGRID_API_KEY>",
"SENDGRID_MCP_MODE": "<YOUR_SENDGRID_MCP_MODE>",
"SENDGRID_MCP_RECIPIENT_ALLOWLIST": "<YOUR_SENDGRID_MCP_RECIPIENT_ALLOWLIST>",
"SENDGRID_MCP_WRITES_PER_HOUR": "<YOUR_SENDGRID_MCP_WRITES_PER_HOUR>",
"SENDGRID_MCP_MAX_RECIPIENTS": "<YOUR_SENDGRID_MCP_MAX_RECIPIENTS>",
"SENDGRID_MCP_AUDIT_LOG": "<YOUR_SENDGRID_MCP_AUDIT_LOG>",
"SENDGRID_MCP_ALLOW_BCC": "<YOUR_SENDGRID_MCP_ALLOW_BCC>"
}
}
}
}Claude Code
claude mcp add sendgrid-mcp-secure --env SENDGRID_API_KEY=<YOUR_SENDGRID_API_KEY> --env SENDGRID_MCP_MODE=<YOUR_SENDGRID_MCP_MODE> --env SENDGRID_MCP_RECIPIENT_ALLOWLIST=<YOUR_SENDGRID_MCP_RECIPIENT_ALLOWLIST> --env SENDGRID_MCP_WRITES_PER_HOUR=<YOUR_SENDGRID_MCP_WRITES_PER_HOUR> --env SENDGRID_MCP_MAX_RECIPIENTS=<YOUR_SENDGRID_MCP_MAX_RECIPIENTS> --env SENDGRID_MCP_AUDIT_LOG=<YOUR_SENDGRID_MCP_AUDIT_LOG> --env SENDGRID_MCP_ALLOW_BCC=<YOUR_SENDGRID_MCP_ALLOW_BCC> -- uvx sendgrid-mcp-secureRelated MCP servers
Neutral, non-custodial MCP payment router: discover rails, then pay across them.
0
View repository →Python
MIT