Send emails and interact with SendGrid
If you already use Sendgrid MCP, the sendgrid mcp mcp server is the piece that lets your assistant work with it directly. Send emails and interact with SendGrid.
A Model Context Protocol (MCP) server that provides access to SendGrid's Marketing API for email marketing and contact management. https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api
The toolset is worth reading before you wire it up, because it tells you what the integration is really for:
list_contacts — Lists all contacts in your SendGrid account. typescript // No parameters requiredadd_contact — Add a contact to your SendGrid marketing contacts. typescript { email: string; // Required: Contact email address first_name?: string; // Optionaldelete_contacts — Delete contacts from your SendGrid account. typescript { emails: string[]; // Required: Array of email addresses to delete }get_contacts_by_list — Get all contacts in a SendGrid list. typescript { list_id: string; // Required: ID of the contact list }list_contact_lists — List all contact lists in your SendGrid account. typescript // No parameters requiredcreate_contact_list — Create a new contact list in SendGrid. typescript { name: string; // Required: Name of the contact list }delete_list — Delete a contact list from SendGrid. typescript { list_id: string; // Required: ID of the contact list to delete }add_contacts_to_list — Add contacts to an existing SendGrid list. typescript { list_id: string; // Required: ID of the contact list emails: string[]; // Required: Array ofremove_contacts_from_list — Remove contacts from a SendGrid list without deleting them. typescript { list_id: string; // Required: ID of the contact list emails: string[]; //send_email — Send an email using SendGrid. typescript { to: string; // Required: Recipient email address subject: string; // Required: Email subject line textsend_to_list — Send an email to a contact list using SendGrid Single Sends. typescript { name: string; // Required: Name of the single send list_ids: string[]; //create_template — Create a new dynamic email template. typescript { name: string; // Required: Name of the template subject: string; // Required: Default subject lineConfiguration is passed through the environment: SENDGRID_API_KEY. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client. The configuration blocks on this page cover the common clients.
This sits in the team communication group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Sendgrid MCP's toolset — list_contacts, add_contact, delete_contacts and 11 more — is a fair guide to whether it matches your workflow. It is maintained by Garoth; worth a glance at recent repository activity before you build anything load-bearing on it.
This entry was verified against Sendgrid MCP's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.
| Tool | What it does |
|---|---|
| list_contacts | Lists all contacts in your SendGrid account. typescript // No parameters required |
| add_contact | Add a contact to your SendGrid marketing contacts. typescript { email: string; // Required: Contact email address first_name?: string; // Optional: Contact first name last_name?: string; // Optional: Contact last name cu |
| delete_contacts | Delete contacts from your SendGrid account. typescript { emails: string[]; // Required: Array of email addresses to delete } |
| get_contacts_by_list | Get all contacts in a SendGrid list. typescript { list_id: string; // Required: ID of the contact list } |
| list_contact_lists | List all contact lists in your SendGrid account. typescript // No parameters required |
| create_contact_list | Create a new contact list in SendGrid. typescript { name: string; // Required: Name of the contact list } |
| delete_list | Delete a contact list from SendGrid. typescript { list_id: string; // Required: ID of the contact list to delete } |
| add_contacts_to_list | Add contacts to an existing SendGrid list. typescript { list_id: string; // Required: ID of the contact list emails: string[]; // Required: Array of email addresses to add } |
| remove_contacts_from_list | Remove contacts from a SendGrid list without deleting them. typescript { list_id: string; // Required: ID of the contact list emails: string[]; // Required: Array of email addresses to remove } |
| send_email | Send an email using SendGrid. typescript { to: string; // Required: Recipient email address subject: string; // Required: Email subject line text: string; // Required: Plain text content from: string; // Required: Verifi |
| send_to_list | Send an email to a contact list using SendGrid Single Sends. typescript { name: string; // Required: Name of the single send list_ids: string[]; // Required: Array of list IDs to send to subject: string; // Required: Ema |
| create_template | Create a new dynamic email template. typescript { name: string; // Required: Name of the template subject: string; // Required: Default subject line html_content: string; // Required: HTML content with handlebars syntax |
| list_templates | List all dynamic email templates. typescript // No parameters required |
| get_template | Retrieve a template by ID. typescript { template_id: string; // Required: ID of the template to retrieve } |
{
"mcpServers": {
"sendgrid": {
"command": "node",
"args": ["/path/to/sendgrid-mcp/build/index.js"],
"env": {
"SENDGRID_API_KEY": "your-api-key-here"
},
"disabled": false,
"autoApprove": [
"list_contacts",
"list_contact_lists",
"list_templates",
"list_single_sends",
"get_single_send",
"list_verified_senders",
"list_suppression_groups",
"get_stats",
"validate_email"
]
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| SENDGRID_API_KEY | Credential the server authenticates with. | Yes |
Your assistant inside the workspace — read channels, search history, post messages and tame the noise.
Inbox intelligence — search, read, draft and send Gmail through your assistant with OAuth auto-setup.
Read and write Jira, Confluence, Bitbucket, JSM and Compass from your AI client — with your own permissions.
Read and send Telegram messages through your assistant — chats, channels and history via the client API.
Enables Discord bot integration with Model Context Protocol (MCP) compatible applications like Claude Desktop.
Exposes REST APIs defined by OpenAPI specifications as Model Context Protocol (MCP) tools, facilitating seamless integration into MCP-based workflows.