关于 Sessy — Amazon SES observability
Sessy 是面向 AWS SES 的开源邮件可观测工具,适合希望查看邮件发送后事件的团队。它提供邮件数据界面,并内置 MCP 服务供 AI 编码 Agent 查询和管理来源。
主要功能
- 01查看送达、退信、投诉、打开和点击事件
- 02检索邮件事件并查看投递时间线
- 03获取聚合统计和退信诊断
- 04创建及重命名来源
- 05通过 Docker 部署自托管实例
适用场景
- 01排查邮件退信及投递问题
- 02分析邮件送达与用户互动数据
- 03让 AI 编码 Agent 查询 SES 邮件事件
- 04为新应用获取 SES 配置连接信息
MCP 相关
Sessy 在 `/mcp` 提供 MCP 服务,客户端可检索事件、查看邮件投递时间线和统计,并创建或重命名来源及获取 SES 配置信息。邮件数据为只读。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.sessy.do/mcpclaude mcp add --transport http marckohlbrugge-sessy https://api.sessy.do/mcp{"mcpServers":{"marckohlbrugge-sessy":{"type":"http","url":"https://api.sessy.do/mcp"}}}在 Cursor 中打开{"servers":{"marckohlbrugge-sessy":{"type":"http","url":"https://api.sessy.do/mcp"}}}在 VS Code 中打开{"mcpServers":{"marckohlbrugge-sessy":{"type":"http","url":"https://api.sessy.do/mcp"}}}{"mcpServers":{"marckohlbrugge-sessy":{"serverUrl":"https://api.sessy.do/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://api.sessy.do/mcp需要授权工具
详细介绍
Sessy
由 Marc Köhlbrugge 打造的 AWS SES 开源邮件可观测性工具。
什么是 Sessy?
Amazon SES 是一项出色的邮件服务:经济实惠、可靠,送达率也很高。但要了解邮件的实际情况,却令人十分头疼。
因此,许多人转而使用价格过高的邮件服务,而这些服务往往只是披着精美界面的 SES 包装器。结果,你为本可以自己实现的功能付出了高昂费用。
Sessy 是开源替代方案。使用原始 SES,同时享有精美界面,在点击发送后查看邮件的情况:送达、退信、投诉、打开、点击等。
运行自己的 Sessy 实例
运行 Sessy 最简单的方法是使用 Docker:
docker run -p 80:80 \
-e SECRET_KEY_BASE=$(openssl rand -hex 64) \
-e DISABLE_SSL=true \
-v sessy:/rails/storage \
ghcr.io/marckohlbrugge/sessy:main
完整配置选项请参阅 Docker 部署文档。
想部署自己修改过的版本?请参阅 Kamal 部署文档,了解如何从 fork 部署。
使用 Dokku?请参阅 Dokku 部署文档。
需要帮助配置 AWS SES 本身?请参阅 AWS SES 设置指南。
加固建议请参阅 SES 安全与送达率最佳实践。
面向 AI Agent 的 MCP 服务
Sessy 在 /mcp 提供 MCP 服务,因此 AI 编码 Agent(Claude Code、Cursor、Codex)可以查询你的邮件数据:搜索事件、查看邮件的完整送达时间线及退信诊断,并获取汇总统计数据。Agent 还可以创建和重命名来源,并获取 SES 接线详情(webhook URL、配置集和主题名称),以端到端地设置新应用。邮件数据为只读;保留设置和删除来源仍需在 Web 界面中操作。
在 Web 界面的 API keys 页面创建 API 密钥,然后按照你的实例上 /docs/mcp 中的连接说明操作。例如,使用 Claude Code:
claude mcp add --transport http sessy https://your-sessy-host/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
有两点值得注意:
- **Cloudflare / CDN 用户:**机器人防护(托管质询)会阻止 MCP 客户端。请将
/mcp路径从机器人防护中排除,否则 Agent 请求会失败。 - HTTP Basic 认证:
/mcp仅使用 API 密钥进行认证,并忽略HTTP_AUTH_*。之后启用 HTTP Basic 不会撤销之前创建的 API 密钥——锁定安装后,请检查 API keys 页面。
托管版本
我们正在开发 Sessy 的托管版本,供不想运行自己实例的用户使用。
你会在此代码库中看到相关内容:saas/ 目录、Gemfile.saas,以及偶尔出现的 Sessy.saas? 检查。这些内容为托管版本提供支持。为了简化维护,我们有意将其保留在此代码库中,而非维护单独的仓库。这些内容不会影响自托管:默认依赖包会完全忽略 saas/ 引擎,测试套件也会验证开源版本在没有它的情况下行为完全一致。
作业仪表板
Sessy 使用 Solid Queue 处理后台作业。你可以通过 /jobs 访问 Web 仪表板,监控队列、重试失败的作业并查看定期任务。
开发
欢迎按照自己的喜好修改 Sessy。
开始使用:
bin/setup
bin/dev
贡献
欢迎贡献!由于项目仍处于非常早期的阶段,请注意以下事项:
- **错别字和明显的错误:**欢迎直接提交 PR。
- **代码更改:**请尽量遵循我们现有的风格。
- **新功能:**请先提出 issue 讨论,再开始实现。
- **部署文档:**我们的第一方部署文档聚焦于广泛适用、开放且可自托管的部署方式,并且是我们正在积极使用的方式(例如 Docker、Kamal 和 Dokku)。通常我们不会在此仓库中添加特定于某个服务提供商的部署指南。
除了小型修复之外,请先提出 issue,避免有人花时间实现我们可能不会合并的内容。
许可证
Sessy 根据 O'Saasy License 发布,但子目录另有说明的情况除外(例如,Claude 和 Cursor 插件包采用 MIT 许可证)。
灵感来源
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。