SendGrid MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SENDGRID_API_KEY | Yes | SendGrid API key |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| delete_contactsA | Destructive: permanently delete contacts from your SendGrid account. Requires confirm_delete: true. |
| list_contactsB | List all contacts in your SendGrid account |
| add_contactC | Add a contact to your SendGrid marketing contacts |
| create_contact_listC | Create a new contact list in SendGrid |
| add_contacts_to_listC | Add contacts to an existing SendGrid list |
| get_contacts_by_emailsB | Read-only: retrieve marketing contacts by email addresses |
| get_contact_by_idA | Read-only: retrieve one marketing contact by contact ID |
| get_total_contact_countA | Read-only: retrieve total marketing contact count |
| get_contact_listA | Read-only: retrieve one SendGrid contact list by ID |
| update_contact_listB | Mutating: rename a SendGrid contact list |
| get_list_contact_countA | Read-only: retrieve contact count for one SendGrid contact list |
| delete_listA | Destructive: delete a contact list from SendGrid. Requires confirm_delete: true. |
| list_contact_listsA | List all contact lists in your SendGrid account |
| get_contacts_by_listB | Get all contacts in a SendGrid list |
| remove_contacts_from_listA | Remove contacts from a SendGrid list without deleting them |
| send_emailC | Send an email using SendGrid |
| send_to_listC | Send an email to a contact list using SendGrid Single Sends |
| create_single_sendA | Mutating: create a SendGrid Single Send draft without scheduling it |
| update_single_sendC | Mutating: update a SendGrid Single Send draft |
| delete_single_sendA | Destructive: delete a SendGrid Single Send. Requires confirm_delete: true. |
| duplicate_single_sendB | Mutating: duplicate a SendGrid Single Send |
| search_single_sendsB | Read-only: search SendGrid Single Sends with SendGrid query syntax |
| schedule_single_sendB | Mutating: schedule an existing SendGrid Single Send for now or a future ISO timestamp |
| get_single_send_scheduleA | Read-only: retrieve schedule information for a Single Send |
| cancel_single_send_scheduleA | Mutating: cancel a scheduled Single Send without deleting the draft |
| list_single_send_categoriesA | Read-only: list categories used by SendGrid Single Sends |
| list_single_send_statsC | Read-only: retrieve Single Sends stats |
| get_single_send_statsA | Read-only: retrieve stats for one SendGrid Single Send |
| get_single_sendC | Get details of a specific single send |
| list_single_sendsA | Read-only: list SendGrid Single Sends as summaries with optional pagination |
| create_templateB | Create a new email template in SendGrid |
| get_templateA | Retrieve a SendGrid template by ID |
| delete_templateA | Destructive: permanently delete a dynamic template from SendGrid. Requires confirm_delete: true. |
| update_template_nameA | Mutating: rename a dynamic template without changing its versions or active content |
| duplicate_templateB | Mutating: copy a dynamic template into a new dynamic template using SendGrid native duplication |
| get_template_versionA | Read-only: retrieve one dynamic template version including subject, HTML, plain text, and active state |
| create_template_versionA | Mutating but safe-by-default: create a new dynamic template version from edited content. The new version is inactive unless active is set to 1. |
| activate_template_versionB | Mutating: activate an existing dynamic template version. This changes which version is used for future sends. |
| update_template_versionA | Advanced mutating operation: directly patch an existing template version. Prefer create_template_version for safer edits. |
| delete_template_versionA | Destructive: permanently delete a dynamic template version. Requires confirm_delete: true. |
| list_templatesA | List all email templates in your SendGrid account |
| list_designsB | Read-only: list SendGrid Design Library designs |
| get_designA | Read-only: retrieve a SendGrid Design Library design including editable content fields |
| create_designC | Mutating: create a new SendGrid Design Library design |
| update_designC | Mutating: patch an existing SendGrid Design Library design |
| duplicate_designC | Mutating: copy an existing SendGrid Design Library design |
| delete_designA | Destructive: permanently delete a SendGrid Design Library design. Requires confirm_delete: true. |
| list_pre_built_designsA | Read-only: list SendGrid pre-built Design Library designs that can be copied into your account |
| get_pre_built_designA | Read-only: retrieve a SendGrid pre-built design |
| duplicate_pre_built_designB | Mutating: copy a SendGrid pre-built design into your account |
| list_custom_fieldsA | Read-only: list SendGrid marketing contact custom field definitions |
| create_custom_fieldA | Mutating: create a SendGrid marketing contact custom field definition |
| update_custom_fieldB | Mutating: update a SendGrid marketing contact custom field definition |
| delete_custom_fieldB | Destructive: delete a SendGrid marketing contact custom field definition. Requires confirm_delete: true. |
| list_segmentsC | Read-only: list SendGrid Segments v2 segments |
| create_segmentC | Mutating: create a SendGrid Segments v2 segment |
| get_segmentA | Read-only: retrieve one SendGrid Segments v2 segment |
| update_segmentC | Mutating: update a SendGrid Segments v2 segment |
| refresh_segmentC | Mutating: refresh a SendGrid Segments v2 segment |
| delete_segmentB | Destructive: delete a SendGrid Segments v2 segment. Requires confirm_delete: true. |
| list_verified_sendersB | List all verified sender identities in your SendGrid account |
| list_marketing_sendersA | Read-only: list SendGrid Marketing sender identities |
| get_marketing_senderA | Read-only: retrieve one SendGrid Marketing sender identity |
| create_marketing_senderC | Mutating: create a SendGrid Marketing sender identity |
| update_marketing_senderC | Mutating: update a SendGrid Marketing sender identity |
| delete_marketing_senderA | Destructive: delete a SendGrid Marketing sender identity. Requires confirm_delete: true. |
| resend_marketing_sender_verificationA | Mutating: resend verification email for a SendGrid Marketing sender identity |
| validate_emailC | Validate an email address using SendGrid |
| get_statsC | Get SendGrid email statistics |
| list_suppression_groupsA | List all unsubscribe groups in your SendGrid account |
| list_group_suppressionsA | Read-only: list suppressed email addresses in a suppression group |
| add_group_suppressionsB | Mutating: add email addresses to a suppression group |
| delete_group_suppressionA | Mutating and sensitive: remove one email address from a suppression group. Requires confirm_delete: true. |
| list_global_suppressionsC | Read-only: list global suppressions |
| add_global_suppressionsB | Mutating: add email addresses to global suppressions |
| delete_global_suppressionA | Mutating and sensitive: remove one email address from global suppressions. Requires confirm_delete: true. |
| list_bouncesC | Read-only: list bounce suppressions |
| list_blocksB | Read-only: list block suppressions |
| list_invalid_emailsA | Read-only: list invalid email suppressions |
| list_spam_reportsC | Read-only: list spam report suppressions |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 80 tools
Although there are many tools, each targets a distinct resource and action. Similar suppression-related tools (e.g., list_blocks, list_bounces) are differentiated by the specific suppression type, and descriptions clearly delineate operations. Minor overlap exists between get_single_send and get_single_send_schedule, but overall ambiguity is low.
Tool names consistently follow a verb_noun pattern in snake_case (e.g., activate_template_version, add_contact, delete_list). A few less common verbs (duplicate, refresh) are used consistently. No mixing of camelCase or inconsistent verb styles, making the naming very predictable.
80 tools is high for a single MCP server, covering a broad range of SendGrid features. While each tool serves a specific purpose, the sheer number may overwhelm agents and suggests the server could be split into smaller, more focused servers. The count is borderline—not extreme but above the typical well-scoped range.
The toolset covers nearly all major SendGrid domains: contacts, lists, segments, templates, designs, single sends, suppressions, sending, statistics, and validation. Minor gaps exist (e.g., transactional sends, webhook management), but the core workflows for marketing and email delivery are well-represented.