内容
# 发送网格MCP服务器
适用于发送网格电子邮件服务的**模型上下文协议(MCP)服务器**,使用**FastMCP 2.0**构建。该服务器使像Claude、GPT等AI模型能够发送电子邮件、管理联系人以及与发送网格强大的电子邮件平台交互。
## 🚀 功能特点
- **📧 电子邮件管理**: 发送带有模板和附件的HTML/文本电子邮件
- **👥 联系人管理**: 添加联系人和管理邮件列表
- **🔐 安全认证**: 带有备用支持的Bearer令牌认证
- **⚡ 速率限制**: 内置API速率限制以防止滥用
- **🛡️ 生产就绪**: 全面的错误处理和日志记录
- **🔧 简易配置**: 基于环境的配置管理
## 📋 要求
- Python 3.8+
- 发送网格API密钥
- FastMCP 2.0
## 🛠️ 安装
1. **克隆仓库:**
```bash
git clone https://github.com/FINCH285/SendGrid-MCP-Server.git
cd SendGrid-MCP-Server
```
2. **安装依赖项:**
```bash
pip install -r requirements.txt
```
3. **设置环境变量:**
```bash
cp .env.example .env
```
编辑`.env`文件,添加您的发送网格配置:
```env
SENDGRID_API_KEY=您的发送网格API密钥
DEFAULT_FROM_EMAIL=您的认证邮箱@example.com
DEFAULT_FROM_NAME=您的姓名
DEFAULT_TEMPLATE_ID=您的模板ID
RATE_LIMIT=10
DEBUG=false
```
## 🚀 使用
### 运行服务器
```bash
python main.py
```
服务器将启动并通过STDIO监听MCP连接。
### 可用工具
#### 电子邮件工具
- **`发送电子邮件`** - 发送HTML/文本电子邮件给多个收件人
- **`获取模板信息`** - 获取发送网格模板详情
- **`发送模板电子邮件`** - 使用动态模板发送电子邮件
#### 联系人工具
- **`添加联系人`** - 添加/更新带有自定义字段的联系人
- **`获取联系人列表`** - 检索所有联系人列表
## 🔧 配置
### 认证
服务器支持两种认证方法:
1. **环境变量**: 在`.env`文件中设置`SENDGRID_API_KEY`
2. **Bearer令牌**: 在MCP请求中通过Authorization头部传递API密钥
## 📚 发送网格配置示例
```python
{
"mcpServers": {
"sendgrid-mcp": {
"command": "python",
"args": ["/path/to/your/project/main.py"],
"cwd": "/path/to/your/project",
"disabled": false,
"env": {
"SENDGRID_API_KEY": "SG.您的实际API密钥"
}
}
}
}
```
对于Windows用户,请使用以下路径:
```json
"args": ["C:\\Users\\YourUsername\\project-folder\\main.py"]
"cwd": "C:\\Users\\YourUsername\\project-folder"
```
对于macOS/Linux用户,请使用以下路径:
```json
"args": ["/Users/yourusername/project-folder/main.py"]
"cwd": "/Users/yourusername/project-folder"
```
关键配置元素:
- "sendgrid-mcp": 服务器名称/标识符(可自定义)
- args: 指定到您的`main.py`文件的路径
- cwd: 设置工作目录为您的项目文件夹
- disabled: 设置为false以启用服务器
- env: 包含您的发送网格API密钥(替换为您的实际密钥,以"SG."开头)
## 🏗️ 架构
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ AI 模型 │◄──►│ FastMCP │◄──►│ 发送网格 │
│ (Claude/GPT) │ │ 服务器 │ │ API │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ MCP协议 │ HTTP/REST │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 工具层 │ │ 认证层 │ │ 配置层 │
│ • 电子邮件工具 │ │ • Bearer令牌 │ │ • 环境变量 │
│ • 联系人工具 │ │ • API密钥认证 │ │ • 速率限制 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
```
## 🤝 贡献
1. 分叉仓库
2. 创建功能分支(`git checkout -b feature/amazing-feature`)
3. 提交更改(`git commit -m '添加惊人功能'`)
4. 推送到分支(`git push origin feature/amazing-feature`)
5. 打开拉取请求
## 📄 许可证
该项目在MIT许可证下许可 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 🆘 支持
- **问题**: [GitHub 问题](https://github.com/FINCH285/SendGrid-MCP-Server/issues)
- **发送网格文档**: [发送网格API文档](https://docs.sendgrid.com/)
- **FastMCP文档**: [FastMCP文档](https://github.com/jlowin/fastmcp)
## 🙏 致谢
- [发送网格](https://sendgrid.com/) 提供优秀的电子邮件API
- [FastMCP](https://github.com/jlowin/fastmcp) 提供MCP框架
- [Anthropic](https://anthropic.com/) 提供模型上下文协议规范