提供了一个通过SendGrid的API管理电子邮件营销、联系人列表、动态模板和电子邮件分析的接口。
406 查看 · 2026-07-07 更新
简介
提供了一个通过SendGrid的API管理电子邮件营销、联系人列表、动态模板和电子邮件分析的接口。
简介
提供了一个通过SendGrid的API管理电子邮件营销、联系人列表、动态模板和电子邮件分析的接口。
SendGrid MCP 服务器
这是一个提供访问 SendGrid 营销 API 的模型上下文协议 (MCP) 服务器,用于电子邮件营销和联系人管理。https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api
演示
在这个演示中,我们要求 Cline SendGrid 代理创建一个新的联系人列表,将我的电子邮件添加到其中,自动生成一个关于 Lost Cities 事实的模板,并将邮件发送给列表中的联系人。在此过程中,Cline 会自动意识到它需要知道我们已验证的发件人以及要使用的退订组。一封漂亮的邮件被发送到了我的收件箱,让我对 Lost Cities 感到惊喜!
关于 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
配置
-
获取您的 SendGrid API 密钥:
- 登录您的 SendGrid 账户
- 转到设置 > API 密钥
- 创建一个新的具有完全访问权限的 API 密钥
- 安全保存该 API 密钥,因为它不会再次显示
-
将其添加到 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 调用来确保准确响应。要运行测试,请执行以下步骤:
-
复制示例环境文件:
cp .env.example .env -
编辑
.env并添加您的 SendGrid API 密钥:SENDGRID_API_KEY=your-api-key-here注意:
.env文件已被 gitignore 以防止提交敏感信息。 -
运行测试:
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'}}}}]
来源
- 来源:github
- 链接:https://github.com/Garoth/sendgrid-mcp