转发电子邮件mcp
forwardemail-mcp 是用于转发电子邮件工作流的MCP服务器。它通过本地公开邮件、日历和联系人工具 stdio 用于远程客户端(如Notion Custom Agents)的开发和流式HTTP。
默认配置针对公共转发电子邮件服务。如果运行自托管安装程序,请覆盖环境中的服务URL。
版本控制:
- 发布使用semver标签和GitHub发布。
- 目前的公开发布是
v0.1.2.
身份验证模型:
FE_ALIAS_USER+FE_ALIAS_PASS+DAV URL为邮箱、日历和联系人工具供电。FE_API_KEY用于诸如发送邮件之类的API密钥专用操作。MCP_AUTH_TOKEN保护公众/mcp远程部署时的端点。
它的作用
- 使用有界元数据响应读取和搜索收件箱邮件。
- 阅读单个邮件并列出文件夹。
- 通过提供商API发送邮件。
- 列出、创建、更新和删除日历事件。
- 列出、搜索、阅读和创建联系人。
本地标准快速入门
- 要固定当前公开版本,请执行以下操作:
git checkout v0.1.2- 使用节点
20.18.1或更新。回购引脚20.18.1在.nvmrc并且至少需要该版本package.json.
nvm use- 安装依赖项:
npm install- 根据示例创建本地配置并填写实际值:
cp .env.example .env- 构建服务器:
npm run build- 将MCP客户端指向内置的入口点。例子:
{
"mcpServers": {
"forwardemail": {
"command": "node",
"args": ["/absolute/path/to/forwardemail-mcp/dist/index.js"],
"env": {
"MCP_TRANSPORT": "stdio",
"LOG_LEVEL": "info",
"FE_API_URL": "https://api.forwardemail.net",
"FE_API_KEY": "replace-with-api-key",
"FE_CALDAV_URL": "https://caldav.forwardemail.net",
"FE_CARDDAV_URL": "https://carddav.forwardemail.net",
"FE_ALIAS_USER": "alias@example.com",
"FE_ALIAS_PASS": "replace-with-alias-password"
}
}
}
}MCP_TRANSPORT=stdio 是默认值,因此 npm run dev 也适用于局部迭代。
可选:1Password SDK模式
运行时还支持通过1Password SDK直接从1Password解析机密。
- 集
AUTH_MODE=1password-sdk. - 出口
OP_SERVICE_ACCOUNT_TOKEN. - 将凭据值替换为
op://vault/item/field或op://vault/item/section/field参考文献
例子:
AUTH_MODE=1password-sdk
OP_SERVICE_ACCOUNT_TOKEN=ops_xxx
FE_API_URL=op://vault/forwardemail/api-url
FE_API_KEY=op://vault/forwardemail/api-key
FE_CALDAV_URL=op://vault/forwardemail/caldav-url
FE_CARDDAV_URL=op://vault/forwardemail/carddav-url
FE_ALIAS_USER=op://vault/forwardemail/alias-user
FE_ALIAS_PASS=op://vault/forwardemail/alias-pass如果 AUTH_MODE=env,服务器会读取普通环境变量。
Cloudflare员工部署
- 使用节点
20.18.1或者在打包或部署工作人员之前更新。
nvm use- 构建worker包:
npm run build- 设置员工机密:
wrangler secret put FE_API_URL
wrangler secret put FE_API_KEY
wrangler secret put FE_CALDAV_URL
wrangler secret put FE_CARDDAV_URL
wrangler secret put FE_ALIAS_USER
wrangler secret put FE_ALIAS_PASS
wrangler secret put MCP_AUTH_TOKEN- 您可以选择在本地验证Cloudflare捆绑包,而无需进行部署:
npm run cf:deploy:dry- 部署:
npm run cf:deploy- 在您的worker URL plus上使用已部署的MCP端点
/mcp.GET /health可以保持公开;/mcp应该留在不记名代币后面。
连接到Notion自定义代理
截至2026年3月8日,Notion仅在商业和企业计划中记录了自定义代理的自定义MCP连接,并为自定义MCP服务器启用了工作区管理功能。
- 请工作区管理员在中启用自定义MCP服务器
Settings -> Notion AI -> AI connectors. - 打开自定义代理,然后转到
Settings -> Tools & Access. - 选择
Add connection -> Custom MCP server. - 粘贴以结尾的公共MCP URL
/mcp. - 设置您想要的任何显示名称。
- 添加基于标头的身份验证:
Authorization: Bearer - 保存连接,然后启用所需的工具。
- 保持书写工具打开
Always ask除非您明确希望自动写入。
每个自定义代理都需要自己的MCP连接。
故障排除
401 Unauthorized:客户端发送的承载令牌不匹配MCP_AUTH_TOKEN.404 Not found:使用/mcpMCP流量的路径,而不是工作根URL。- Notion中没有显示任何工具:刷新代理设置页面,确认服务器可访问,并在需要时重新连接。
- 日历或联系人失败:验证
FE_ALIAS_USER,FE_ALIAS_PASS,FE_CALDAV_URL,以及FE_CARDDAV_URL. - 邮件搜索感觉太大:
email_list_inbox和email_search故意钳制结果,只返回元数据摘要。
