S

Sendgrid邮件管理工具

提供了一个通过SendGrid的API管理电子邮件营销、联系人列表、动态模板和电子邮件分析的接口。

marketingcommunicationcustomer-support

406 查看 · 2026-07-07 更新

简介

提供了一个通过SendGrid的API管理电子邮件营销、联系人列表、动态模板和电子邮件分析的接口。

简介

提供了一个通过SendGrid的API管理电子邮件营销、联系人列表、动态模板和电子邮件分析的接口。

SendGrid MCP 服务器

SendGrid Logo

这是一个提供访问 SendGrid 营销 API 的模型上下文协议 (MCP) 服务器,用于电子邮件营销和联系人管理。https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api

演示

在这个演示中,我们要求 Cline SendGrid 代理创建一个新的联系人列表,将我的电子邮件添加到其中,自动生成一个关于 Lost Cities 事实的模板,并将邮件发送给列表中的联系人。在此过程中,Cline 会自动意识到它需要知道我们已验证的发件人以及要使用的退订组。一封漂亮的邮件被发送到了我的收件箱,让我对 Lost Cities 感到惊喜!

SendGrid MCP Demo 1 SendGrid MCP Demo 2 SendGrid MCP Demo 3 SendGrid MCP Demo 4 SendGrid MCP Demo 5 SendGrid MCP Demo 6 SendGrid MCP Demo 7 SendGrid MCP Demo 8 SendGrid MCP Demo 9

关于 API 支持的重要说明

该服务器仅支持 SendGrid 的 v3 APIs 并不提供对旧版功能的支持。这包括:

  • 仅支持动态模板 - 不支持旧版模板
  • 使用 Marketing API v3 进行所有联系人及联系人列表操作
  • 使用 Single Sends API 发送批量邮件

可用工具

联系人管理

列出联系人

列出您的 SendGrid 账户中的所有联系人。

// No parameters required

添加联系人

向您的 SendGrid 营销联系人中添加一个联系人。

{ email: string; // Required: Contact email address first_name?: string; // Optional: Contact first name last_name?: string; // Optional: Contact last name custom_fields?: object; // Optional: Custom field values }

删除联系人

从您的 SendGrid 账户中删除联系人。

{ emails: string[]; // Required: Array of email addresses to delete }

根据列表获取联系人

获取 SendGrid 列表中的所有联系人。

{ list_id: string; // Required: ID of the contact list }

列表管理

列出联系人列表

列出您的 SendGrid 账户中的所有联系人列表。

// No parameters required

创建联系人列表

在 SendGrid 中创建一个新的联系人列表。

{ name: string; // Required: Name of the contact list }

删除列表

从 SendGrid 中删除一个联系人列表。

{ list_id: string; // Required: ID of the contact list to delete }

将联系人添加到列表

将联系人添加到现有的 SendGrid 列表中。

{ list_id: string; // Required: ID of the contact list emails: string[]; // Required: Array of email addresses to add }

从列表中移除联系人

从 SendGrid 列表中移除联系人而不删除它们。

{ list_id: string; // Required: ID of the contact list emails: string[]; // Required: Array of email addresses to remove }

发送邮件

发送邮件

使用 SendGrid 发送邮件。

{ to: string; // Required: Recipient email address subject: string; // Required: Email subject line text: string; // Required: Plain text content from: string; // Required: Verified sender email address html?: string; // Optional: HTML content template_id?: string; // Optional: Dynamic template ID dynamic_template_data?: object; // Optional: Template variables }

向列表发送邮件

使用 SendGrid Single Sends 向联系人列表发送邮件。

{ name: string; // Required: Name of the single send list_ids: string[]; // Required: Array of list IDs to send to subject: string; // Required: Email subject line html_content: string; // Required: HTML content plain_content: string; // Required: Plain text content sender_id: number; // Required: ID of the verified sender suppression_group_id?: number; // Required if custom_unsubscribe_url not provided custom_unsubscribe_url?: string; // Required if suppression_group_id not provided }

模板管理(仅限动态模板)

创建模板

创建一个新的动态电子邮件模板。

{ name: string; // Required: Name of the template subject: string; // Required: Default subject line html_content: string; // Required: HTML content with handlebars syntax plain_content: string; // Required: Plain text content with handlebars syntax }

列出模板

列出所有动态电子邮件模板。

// No parameters required

获取模板

通过 ID 检索模板。

{ template_id: string; // Required: ID of the template to retrieve }

删除模板

删除一个动态模板。

{ template_id: string; // Required: ID of the template to delete }

分析与验证

获取统计信息

获取 SendGrid 邮件统计数据。

{ start_date: string; // Required: Start date (YYYY-MM-DD) end_date?: string; // Optional: End date (YYYY-MM-DD) aggregated_by?: 'day' | 'week' | 'month'; // Optional: Aggregation period }

validate_email

使用 SendGrid 验证电子邮件地址。

{ email: string; // Required: Email address to validate }

账户管理

list_verified_senders

列出所有已验证的发件人身份。

// No parameters required

list_suppression_groups

列出所有退订组。

// No parameters required

安装

git clone https://github.com/Garoth/sendgrid-mcp.git cd sendgrid-mcp npm install

配置

  1. 获取您的 SendGrid API 密钥:

    • 登录您的 SendGrid 账户
    • 转到设置 > API 密钥
    • 创建一个新的具有完全访问权限的 API 密钥
    • 安全保存该 API 密钥,因为它不会再次显示
  2. 将其添加到 VSCode 设置中的 Cline MCP 设置文件中(例如:~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):

{ "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" ] } } }

注意:为了安全起见,故意将修改数据的工具(如发送电子邮件或删除联系人)排除在自动批准之外。

开发

设置测试

测试使用真实的 API 调用来确保准确响应。要运行测试,请执行以下步骤:

  1. 复制示例环境文件:

    cp .env.example .env
  2. 编辑 .env 并添加您的 SendGrid API 密钥:

    SENDGRID_API_KEY=your-api-key-here
    

    注意:.env 文件已被 gitignore 以防止提交敏感信息。

  3. 运行测试:

    npm test

构建

npm run build

重要注意事项

  • 当向列表发送电子邮件时,您必须提供 suppression_group_id 或 custom_unsubscribe_url 以符合电子邮件规定
  • 发件人电子邮件地址必须先通过 SendGrid 验证才能用于发送电子邮件
  • 所有模板都作为支持 handlebars 语法(例如 {{variable_name}})的动态模板创建
  • 所有的批量邮件操作都使用 Single Sends API,因为它提供了更好的跟踪和管理功能
  • SendGrid API 是“最终一致”的 - 数据更改(如添加联系人或更新列表)可能不会立即反映出来

许可证

MIT

SendGrid 徽标版权 / 归 Twilio 所有

## 工具列表 - **delete_contacts**: Delete contacts from your SendGrid account - **list_contacts**: List all contacts in your SendGrid account - **send_email**: Send an email using SendGrid - **add_contact**: Add a contact to your SendGrid marketing contacts - **create_contact_list**: Create a new contact list in SendGrid - **add_contacts_to_list**: Add contacts to an existing SendGrid list - **create_template**: Create a new email template in SendGrid - **get_template**: Retrieve a SendGrid template by ID - **delete_template**: Delete a dynamic template from SendGrid - **validate_email**: Validate an email address using SendGrid - **get_stats**: Get SendGrid email statistics - **list_templates**: List all email templates in your SendGrid account - **delete_list**: Delete a contact list from SendGrid - **list_contact_lists**: List all contact lists in your SendGrid account - **get_contacts_by_list**: Get all contacts in a SendGrid list - **list_verified_senders**: List all verified sender identities in your SendGrid account - **list_suppression_groups**: List all unsubscribe groups in your SendGrid account - **send_to_list**: Send an email to a contact list using SendGrid Single Sends - **get_single_send**: Get details of a specific single send - **list_single_sends**: List all single sends in your SendGrid account - **remove_contacts_from_list**: Remove contacts from a SendGrid list without deleting them ## 服务配置 ```json [{'mcpServers': {'sendgrid': {'args': ['/path/to/sendgrid-mcp/build/index.js'], 'autoApprove': ['list_contacts', 'list_contact_lists', 'list_templates', 'list_single_sends', 'get_single_send', 'list_verified_senders', 'list_suppression_groups', 'get_stats', 'validate_email'], 'command': 'node', 'disabled': False, 'env': {'SENDGRID_API_KEY': 'your-api-key-here'}}}}]

来源

Sendgrid邮件管理工具 - MCP - HelloWorld