SendGrid MCP Server

SendGrid MCP Server

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

营销
通信
客户支持
TypeScript
访问服务器

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

配置

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

注意:为了安全起见,修改数据的工具(例如发送电子邮件或删除联系人)被有意地从 autoApprove 中排除。

开发

设置测试

这些测试使用真实的 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 所有

推荐服务器

Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
contentful-mcp

contentful-mcp

在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

精选
TypeScript
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置信息。

精选
TypeScript
The Verge News MCP Server

The Verge News MCP Server

提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。

精选
TypeScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
@kazuph/mcp-gmail-gas

@kazuph/mcp-gmail-gas

用于 Gmail 集成的模型上下文协议 (Model Context Protocol, MCP) 服务器。它允许 Claude Desktop(或任何 MCP 客户端)通过 Google Apps Script 与您的 Gmail 帐户进行交互。

精选
JavaScript
MCP Server Trello

MCP Server Trello

通过 Trello API 促进与 Trello 看板的交互,提供速率限制、类型安全、输入验证和错误处理等功能,以实现对卡片、列表和看板活动的无缝管理。

精选
TypeScript