这是一个模型上下文协议(MCP)服务器,提供对SendGrid营销API的访问,用于电子邮件营销和联系人管理。https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api
在这个演示中,我们要求Cline SendGrid代理创建一个新的联系人列表,添加我的电子邮件地址到该列表中,自动生成一个关于Lost Cities的事实模板,并将邮件发送给该列表。在此过程中,Cline会自动识别出它需要知道我们已验证的发件人以及应使用的取消订阅组。一封漂亮的邮件被送到了我的收件箱,让我惊喜不已!
<img src="assets/1.png" width="760" alt="SendGrid MCP 演示 1" /> <img src="assets/2.png" width="760" alt="SendGrid MCP 演示 2" /> <img src="assets/3.png" width="760" alt="SendGrid MCP 演示 3" /> <img src="assets/4.png" width="760" alt="SendGrid MCP 演示 4" /> <img src="assets/5.png" width="760" alt="SendGrid MCP 演示 5" /> <img src="assets/6.png" width="760" alt="SendGrid MCP 演示 6" /> <img src="assets/7.png" width="760" alt="SendGrid MCP 演示 7" /> <img src="assets/8.png" width="760" alt="SendGrid MCP 演示 8" /> <img src="assets/9.png" width="760" alt="SendGrid MCP 演示 9" />此服务器仅支持SendGrid的v3 API,不提供对旧版功能的支持。这包括:
列出您SendGrid账户中的所有联系人。
// 不需要参数
向您的SendGrid营销联系人中添加一个联系人。
{
email: string; // 必需:联系人电子邮件地址
first_name?: string; // 可选:联系人名
last_name?: string; // 可选:联系人姓
custom_fields?: object; // 可选:自定义字段值
}
从您的SendGrid账户中删除联系人。
{
emails: string[]; // 必需:要删除的电子邮件地址数组
}
获取SendGrid列表中的所有联系人。
{
list_id: string; // 必需:联系人列表ID
}
列出您SendGrid账户中的所有联系人列表。
// 不需要参数
在SendGrid中创建新的联系人列表。
{
name: string; // 必需:联系人列表名称
}
从SendGrid中删除联系人列表。
{
list_id: string; // 必需:要删除的联系人列表ID
}
将联系人添加到现有的SendGrid列表中。
{
list_id: string; // 必需:联系人列表ID
emails: string[]; // 必需:要添加的电子邮件地址数组
}
从SendGrid列表中移除联系人而不删除它们。
{
list_id: string; // 必需:联系人列表ID
emails: string[]; // 必需:要移除的电子邮件地址数组
}
使用SendGrid发送邮件。
{
to: string; // 必需:收件人电子邮件地址
subject: string; // 必需:邮件主题行
text: string; // 必需:纯文本内容
from: string; // 必需:已验证的发件人电子邮件地址
html?: string; // 可选:HTML内容
template_id?: string; // 可选:动态模板ID
dynamic_template_data?: object; // 可选:模板变量
}
使用SendGrid单次发送向联系人列表发送邮件。
{
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,则必需
}
创建新的动态电子邮件模板。
{
name: string; // 必需:模板名称
subject: string; // 必需:默认主题行
html_content: string; // 必需:带有handlebars语法的HTML内容
plain_content: string; // 必需:带有handlebars语法的纯文本内容
}
列出所有动态电子邮件模板。
// 不需要参数
通过ID检索模板。
{
template_id: string; // 必需:要检索的模板ID
}
删除动态模板。
{
template_id: string; // 必需:要删除的模板ID
}
获取SendGrid电子邮件统计信息。
{
start_date: string; // 必需:开始日期(YYYY-MM-DD)
end_date?: string; // 可选:结束日期(YYYY-MM-DD)
aggregated_by?: 'day' | 'week' | 'month'; // 可选:聚合周期
}
使用SendGrid验证电子邮件地址。
{
email: string; // 必需:要验证的电子邮件地址
}
列出所有已验证的发件人身份。
// 不需要参数
列出所有取消订阅组。
// 不需要参数
git clone https://github.com/Garoth/sendgrid-mcp.git
cd sendgrid-mcp
npm install
获取您的SendGrid 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文件被git忽略以防止提交敏感信息。
运行测试:
npm test
npm run build
MIT
SendGrid标志版权归Twilio所有