内容
# mcp-emailjs
一个适用于 [EmailJS](https://www.emailjs.com) 的 [MCP(模型上下文协议)](https://modelcontextprotocol.io) 服务器 - 让像 Claude 这样的 AI 代理直接通过 EmailJS 发送电子邮件、验证配置和查询电子邮件历史。
## ⚠️ 必需:启用非浏览器 API 访问
EmailJS 默认阻止来自非浏览器环境的 API 调用。由于此 MCP 服务器作为服务器进程运行(不是浏览器),您**必须**启用 API 访问,否则 `send_email` 将失败,并显示:
> `403: 目前禁用来自非浏览器环境的 API 访问。`
要启用它:
1. 前往 [EmailJS 账户 → 安全](https://dashboard.emailjs.com/admin/account/security)
2. 打开 **"允许 EmailJS API 用于非浏览器应用程序"**
3. 保存
> `get_email_history` 无需此设置即可工作,但 `send_email` 和 `validate_config` 需要此设置。
## 工具
| 工具 | 描述 |
|---|---|
| `send_email` | 使用具有动态参数的 EmailJS 模板发送电子邮件 |
| `validate_config` | 在发送之前验证凭证和模板 ID |
| `get_email_history` | 检索通过您的 EmailJS 账户发送的电子邮件历史记录 |
## 已知限制
**无法以编程方式创建或编辑模板。** EmailJS 没有公开用于模板管理的 API - 模板必须通过 [EmailJS 仪表盘](https://dashboard.emailjs.com) 创建和编辑。此 MCP 只能**使用**现有的模板(通过其 `template_id`),而不能创建它们。
如果您希望 EmailJS 添加模板管理 API,请 👍 并在功能请求上评论: [emailjs-sdk#70](https://github.com/emailjs-com/emailjs-sdk/issues/70)。
## 安装
### Claude 桌面版
将以下内容添加到您的 `claude_desktop_config.json` 中:
```json
{
"mcpServers": {
"emailjs": {
"command": "npx",
"args": ["-y", "mcp-emailjs"],
"env": {
"EMAILJS_SERVICE_ID": "您的服务 ID",
"EMAILJS_PUBLIC_KEY": "您的公共密钥",
"EMAILJS_PRIVATE_KEY": "您的私人密钥"
}
}
}
}
```
> **配置文件位置:**
> - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
> - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
### Cursor / 其他 MCP 客户端
```json
{
"mcpServers": {
"emailjs": {
"command": "npx",
"args": ["-y", "mcp-emailjs"],
"env": {
"EMAILJS_SERVICE_ID": "您的服务 ID",
"EMAILJS_PUBLIC_KEY": "您的公共密钥",
"EMAILJS_PRIVATE_KEY": "您的私人密钥"
}
}
}
}
```
## 环境变量
| 变量 | 必需 | 描述 |
|---|---|---|
| `EMAILJS_SERVICE_ID` | 是* | 您的 EmailJS 服务 ID |
| `EMAILJS_PUBLIC_KEY` | 是* | 您的 EmailJS 公共密钥 |
| `EMAILJS_PRIVATE_KEY` | 否 | 您的 EmailJS 私人密钥(`get_email_history` 需要) |
* 可以作为参数传递给工具调用,而不是环境变量。
## 凭证优先级
凭证按以下顺序解析:
1. **工具调用中传递的参数**(覆盖所有内容)
2. **环境变量**
3. 带有描述性消息的错误
这允许在同一会话中使用多个 EmailJS 账户。
## 使用示例
### 发送电子邮件
```
使用模板 "template_contact" 发送电子邮件,包含:
- 收件人姓名: "Alice"
- 收件人邮箱: "alice@example.com"
- 消息: "Hello from Claude!"
```
### 验证您的配置
```
验证我的 EmailJS 配置,适用于服务 "service_gmail" 和模板 "template_welcome"
```
### 查看电子邮件历史记录
```
显示我通过 EmailJS 发送的最后 10 封电子邮件
```
## 如何找到您的凭证
1. 前往 [EmailJS 仪表盘](https://dashboard.emailjs.com)
2. **服务 ID** → 电子邮件服务 → 您的服务
3. **公共密钥** → 账户 → API 密钥 → 公共密钥
4. **私人密钥** → 账户 → API 密钥 → 私人密钥
## 本地开发
```bash
git clone https://github.com/ElizioMartins/mcp-emailjs
cd mcp-emailjs
npm install
npm run build
# 使用 MCP 检验器进行测试
npm run inspector
```
## 许可证
MIT