
SendGrid MCP Server
通过 SendGrid 的 API 提供一个界面来管理电子邮件营销、联系人列表、动态模板和电子邮件分析。
Tools
list_templates
List all email templates in your SendGrid account
create_contact_list
Create a new contact list in SendGrid
validate_email
Validate an email address using SendGrid
get_stats
Get SendGrid email statistics
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
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
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
README
SendGrid MCP 服务器
<img src="assets/sendgrid-logo.png" width="256" height="256" alt="SendGrid Logo" />
一个模型上下文协议 (MCP) 服务器,提供对 SendGrid 营销 API 的访问,用于电子邮件营销和联系人管理。 https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api
演示
在这个演示中,我们要求 Cline SendGrid 代理创建一个新的联系人列表,将我的电子邮件添加到其中,自动生成一个“失落之城”事实的模板,并将电子邮件发送到该列表。 在此过程中,Cline 将自动意识到它需要知道我们拥有的已验证发件人,以及要使用的取消订阅组。 一封漂亮的电子邮件被发送到我的收件箱,让我对“失落之城”感到高兴!
<img src="assets/1.png" width="760" alt="SendGrid MCP Demo 1" /> <img src="assets/2.png" width="760" alt="SendGrid MCP Demo 2" /> <img src="assets/3.png" width="760" alt="SendGrid MCP Demo 3" /> <img src="assets/4.png" width="760" alt="SendGrid MCP Demo 4" /> <img src="assets/5.png" width="760" alt="SendGrid MCP Demo 5" /> <img src="assets/6.png" width="760" alt="SendGrid MCP Demo 6" /> <img src="assets/7.png" width="760" alt="SendGrid MCP Demo 7" /> <img src="assets/8.png" width="760" alt="SendGrid MCP Demo 8" /> <img src="assets/9.png" width="760" alt="SendGrid MCP Demo 9" />
关于 API 支持的重要说明
此服务器专门支持 SendGrid 的 v3 API,不提供对旧版功能的支持。 这包括:
- 仅支持动态模板 - 不支持旧版模板
- 营销 API v3 用于所有联系人和联系人列表操作
- Single Sends API 用于批量电子邮件发送
可用工具
联系人管理
list_contacts
列出您的 SendGrid 帐户中的所有联系人。
// No parameters required
add_contact
将联系人添加到您的 SendGrid 营销联系人。
{
email: string; // 必需:联系人电子邮件地址
first_name?: string; // 可选:联系人名字
last_name?: string; // 可选:联系人姓氏
custom_fields?: object; // 可选:自定义字段值
}
delete_contacts
从您的 SendGrid 帐户中删除联系人。
{
emails: string[]; // 必需:要删除的电子邮件地址数组
}
get_contacts_by_list
获取 SendGrid 列表中的所有联系人。
{
list_id: string; // 必需:联系人列表的 ID
}
列表管理
list_contact_lists
列出您的 SendGrid 帐户中的所有联系人列表。
// No parameters required
create_contact_list
在 SendGrid 中创建一个新的联系人列表。
{
name: string; // 必需:联系人列表的名称
}
delete_list
从 SendGrid 中删除一个联系人列表。
{
list_id: string; // 必需:要删除的联系人列表的 ID
}
add_contacts_to_list
将联系人添加到一个现有的 SendGrid 列表。
{
list_id: string; // 必需:联系人列表的 ID
emails: string[]; // 必需:要添加的电子邮件地址数组
}
remove_contacts_from_list
从 SendGrid 列表中删除联系人,但不删除它们。
{
list_id: string; // 必需:联系人列表的 ID
emails: string[]; // 必需:要删除的电子邮件地址数组
}
电子邮件发送
send_email
使用 SendGrid 发送电子邮件。
{
to: string; // 必需:收件人电子邮件地址
subject: string; // 必需:电子邮件主题行
text: string; // 必需:纯文本内容
from: string; // 必需:已验证的发件人电子邮件地址
html?: string; // 可选:HTML 内容
template_id?: string; // 可选:动态模板 ID
dynamic_template_data?: object; // 可选:模板变量
}
send_to_list
使用 SendGrid Single Sends 将电子邮件发送到联系人列表。
{
name: string; // 必需:单次发送的名称
list_ids: string[]; // 必需:要发送到的列表 ID 数组
subject: string; // 必需:电子邮件主题行
html_content: string; // 必需:HTML 内容
plain_content: string; // 必需:纯文本内容
sender_id: number; // 必需:已验证发件人的 ID
suppression_group_id?: number; // 如果未提供 custom_unsubscribe_url,则为必需
custom_unsubscribe_url?: string; // 如果未提供 suppression_group_id,则为必需
}
模板管理(仅限动态模板)
create_template
创建一个新的动态电子邮件模板。
{
name: string; // 必需:模板名称
subject: string; // 必需:默认主题行
html_content: string; // 必需:带有 handlebars 语法的 HTML 内容
plain_content: string; // 必需:带有 handlebars 语法的纯文本内容
}
list_templates
列出所有动态电子邮件模板。
// No parameters required
get_template
按 ID 检索模板。
{
template_id: string; // 必需:要检索的模板的 ID
}
delete_template
删除一个动态模板。
{
template_id: string; // 必需:要删除的模板的 ID
}
分析和验证
get_stats
获取 SendGrid 电子邮件统计信息。
{
start_date: string; // 必需:开始日期 (YYYY-MM-DD)
end_date?: string; // 可选:结束日期 (YYYY-MM-DD)
aggregated_by?: 'day' | 'week' | 'month'; // 可选:聚合周期
}
validate_email
使用 SendGrid 验证电子邮件地址。
{
email: string; // 必需:要验证的电子邮件地址
}
帐户管理
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"
]
}
}
}
注意:为了安全起见,修改数据的工具(例如发送电子邮件或删除联系人)被有意地从 autoApprove 中排除。
开发
设置测试
这些测试使用真实的 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 所有
推荐服务器
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Playwright MCP Server
提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。
Apple MCP Server
通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。
contentful-mcp
在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。
serper-search-scrape-mcp-server
这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置信息。
The Verge News MCP Server
提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。
@kazuph/mcp-gmail-gas
用于 Gmail 集成的模型上下文协议 (Model Context Protocol, MCP) 服务器。它允许 Claude Desktop(或任何 MCP 客户端)通过 Google Apps Script 与您的 Gmail 帐户进行交互。
MCP Server Trello
通过 Trello API 促进与 Trello 看板的交互,提供速率限制、类型安全、输入验证和错误处理等功能,以实现对卡片、列表和看板活动的无缝管理。