SendGrid MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides access to SendGrid's Marketing API for email marketing and contact management, including contact and list management, email sending, template management, and analytics capabilities

SendGrid MCP 服务器

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

演示

在这个演示中,我们让 Cline SendGrid 代理创建一个新的联系人列表,将我的邮件添加到其中,自动生成“失落之城”相关信息的模板,并将邮件发送到列表。在这个过程中,Cline 会自动识别我们已验证的发件人,以及需要使用哪个退订组。一封精美的邮件发送到我的收件箱,让我对“失落之城”的邮件感到欣喜若狂!

关于 API 支持的重要说明

此服务器仅支持 SendGrid 的 v3 API,不支持旧版功能。这些功能包括:

  • 仅限动态模板 - 不支持旧版模板
  • 适用于所有联系人和联系人列表操作的营销 API v3
  • 用于批量发送电子邮件的单一发送 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 }

验证电子邮件

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

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

账户管理

列表_已验证_发件人

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

// No parameters required

列出压制群组

列出所有取消订阅的群组。

// 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文件被 gitignored 以防止提交敏感信息。
  3. 运行测试:
    npm test

建筑

npm run build

重要提示

  • 向列表发送电子邮件时,您必须提供 suppression_group_id 或 custom_unsubscribe_url 以遵守电子邮件法规
  • 发件人电子邮件地址必须先通过 SendGrid 验证,然后才能用于发送电子邮件
  • 所有模板均创建为动态模板,并支持 handlebars 语法(例如 {{variable_name}})
  • 单一发送 API 用于所有批量电子邮件操作,因为它提供更好的跟踪和管理功能
  • SendGrid API 是“最终一致的”——数据更改(例如添加联系人或更新列表)可能不会在更改后立即生效

执照

麻省理工学院

SendGrid 徽标版权归 Twilio 所有

ID: 82glmn141z