邮件服务MCP服务器

一个基于FastMCP 2.0的生产就绪的SendGrid邮件服务MCP服务器,使AI模型能够发送邮件、管理联系人并与SendGrid邮件平台交互。

  • by FINCH285
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 FINCH285/SendGrid-MCP-Server

使用说明

SendGrid MCP服务器

生产准备就绪 模型上下文协议(MCP)服务器 用于SendGrid电子邮件服务,使用 FastMCP 2.0该服务器使Claude、GPT等AI模型能够发送电子邮件、管理联系人,并与SendGrid强大的电子邮件平台进行交互。

🚀 特性

  • 📧 电子邮件管理:发送带有模板和附件的HTML/文本电子邮件
  • 👥 联系人管理:添加联系人和管理邮件列表
  • 🔐 安全认证:支持回退的承载令牌身份验证
  • ⚡ 速率限制:内置API速率限制以防止滥用
  • 🛡️ 生产就绪:全面的错误处理和记录
  • 🔧 易于配置:基于环境的配置管理

📋 需求

  • Python 3.8+
  • SendGrid API 密钥
  • FastMCP 2.0

🛠️ 安装

  1. 克隆存储库:

    git clone https://github.com/FINCH285/SendGrid-MCP-Server.git
    cd SendGrid-MCP-Server
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 设置环境变量:

    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 -检索所有联系人列表

🔧 配置

认证

服务器支持两种身份验证方法:

  1. 环境变量:设置 SENDGRID_API_KEY 在你的 .env 文件
  2. 承载令牌:通过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   │
└─────────────────┘    └─────────────────┘    └─────────────────┘

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🆘 支持

🙏 致谢