使用说明
SendGrid MCP服务器
生产准备就绪 模型上下文协议(MCP)服务器 用于SendGrid电子邮件服务,使用 FastMCP 2.0该服务器使Claude、GPT等AI模型能够发送电子邮件、管理联系人,并与SendGrid强大的电子邮件平台进行交互。
🚀 特性
- 📧 电子邮件管理:发送带有模板和附件的HTML/文本电子邮件
- 👥 联系人管理:添加联系人和管理邮件列表
- 🔐 安全认证:支持回退的承载令牌身份验证
- ⚡ 速率限制:内置API速率限制以防止滥用
- 🛡️ 生产就绪:全面的错误处理和记录
- 🔧 易于配置:基于环境的配置管理
📋 需求
- Python 3.8+
- SendGrid API 密钥
- FastMCP 2.0
🛠️ 安装
-
克隆存储库:
git clone https://github.com/FINCH285/SendGrid-MCP-Server.git cd SendGrid-MCP-Server -
安装依赖项:
pip install -r requirements.txt -
设置环境变量:
cp .env.example .env编辑
.env使用您的SendGrid配置:SENDGRID_API_KEY=your_sendgrid_api_key_here DEFAULT_FROM_EMAIL=your-verified-email@example.com DEFAULT_FROM_NAME=Your Name DEFAULT_TEMPLATE_ID=your-template-id RATE_LIMIT=10 DEBUG=false
🚀 用法
运行服务器
python main.py
服务器将启动并通过STDIO监听MCP连接。
可用工具
电子邮件工具
send_email-向多个收件人发送HTML/文本电子邮件get_template_info-获取SendGrid模板详细信息send_template_email-使用动态模板发送电子邮件
联系工具
add_contact-使用自定义字段添加/更新联系人get_contact_lists-检索所有联系人列表
🔧 配置
认证
服务器支持两种身份验证方法:
- 环境变量:设置
SENDGRID_API_KEY在你的.env文件 - 承载令牌:通过MCP请求中的授权头传递API密钥
📚 SendGrid配置示例
{
"mcpServers": {
"sendgrid-mcp": {
"command": "python",
"args": ["/path/to/your/project/main.py"],
"cwd": "/path/to/your/project",
"disabled": false,
"env": {
"SENDGRID_API_KEY": "SG.your-actual-api-key-here"
}
}
}
}
对于Windows用户,请使用以下路径:
"args": ["C:\\Users\\YourUsername\\project-folder\\main.py"]
"cwd": "C:\\Users\\YourUsername\\project-folder"
对于macOS/Linux用户,请使用以下路径:
"args": ["/Users/yourusername/project-folder/main.py"]
"cwd": "/Users/yourusername/project-folder"
关键配置元素:
-
“sendgrid mcp”:服务器名称/标识符(可自定义)
-
args:指定main.py文件的路径
-
cwd:将工作目录设置为项目文件夹
-
disabled:设置为false以启用服务器
-
env:包含SendGrid API密钥(替换为以“SG”开头的实际密钥)
🏗️ 建筑
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ AI Model │◄──►│ FastMCP │◄──►│ SendGrid │
│ (Claude/GPT) │ │ Server │ │ API │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ MCP Protocol │ HTTP/REST │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Tools Layer │ │ Auth Layer │ │ Config Layer │
│ • email_tools │ │ • Bearer Token │ │ • Environment │
│ • contact_tools │ │ • API Key Auth │ │ • Rate Limits │
└─────────────────┘ └─────────────────┘ └─────────────────┘
🤝 贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🆘 支持
- 问题: GitHub问题
- SendGrid文档: SendGrid API文档
- FastMCP文档: FastMCP文档
