Sendgrid MCP Server

Send emails and interact with SendGrid

Local serverstdioTypeScript

What is the Sendgrid MCP MCP server?

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.

What the server does

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

Available tools

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 required
  • add_contact — Add a contact to your SendGrid marketing contacts. typescript { email: string; // Required: Contact email address first_name?: string; // Optional
  • 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
  • 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[]; //
  • send_email — Send an email using SendGrid. typescript { to: string; // Required: Recipient email address subject: string; // Required: Email subject line text
  • 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[]; //
  • create_template — Create a new dynamic email template. typescript { name: string; // Required: Name of the template subject: string; // Required: Default subject line

Credentials and setup notes

Configuration 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.

Installation

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.

Where it fits

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.

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Sendgrid MCP.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
list_contactsLists all contacts in your SendGrid account. typescript // No parameters required
add_contactAdd 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_contactsDelete contacts from your SendGrid account. typescript { emails: string[]; // Required: Array of email addresses to delete }
get_contacts_by_listGet all contacts in a SendGrid list. typescript { list_id: string; // Required: ID of the contact list }
list_contact_listsList all contact lists in your SendGrid account. typescript // No parameters required
create_contact_listCreate a new contact list in SendGrid. typescript { name: string; // Required: Name of the contact list }
delete_listDelete a contact list from SendGrid. typescript { list_id: string; // Required: ID of the contact list to delete }
add_contacts_to_listAdd 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_listRemove 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_emailSend 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_listSend 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_templateCreate 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_templatesList all dynamic email templates. typescript // No parameters required
get_templateRetrieve a template by ID. typescript { template_id: string; // Required: ID of the template to retrieve }

How to install the Sendgrid MCP MCP server

{
  "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.

Configuration

VariableDescriptionRequired
SENDGRID_API_KEYCredential the server authenticates with.Yes

Example prompts to try

  • Use Sendgrid MCP to list contacts.
  • Use Sendgrid MCP to add contact.
  • Use Sendgrid MCP to delete contacts.

Frequently asked questions

It connects Sendgrid MCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (list_contacts, add_contact, delete_contacts, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Sendgrid MCP directly.