Sessy Open-source email observability for AWS SES. Canonical docs: - https://sessy.do/docs - https://sessy.do/docs/aws-ses-setup - https://sessy.do/docs/self-hosting - https://sessy.do/docs/ses-best-practices - https://sessy.do/docs/mcp - https://github.com/marckohlbrugge/sessy Primary use case: - Use AWS SES for sending. - Use Sessy for event observability (delivery, bounce, complaint, open, click, reject, delay, rendering failure, subscription). Quick setup (self-hosted): 1) Deploy Sessy (Docker/Kamal/Dokku). 2) In AWS SES, create a configuration set. 3) In AWS SNS, create a standard topic. 4) Subscribe the SNS topic to your Sessy webhook URL: https:///webhooks/ 5) In SES configuration set, add an SNS event destination pointing to that topic. 6) Send email with the configuration set name enabled. 7) Verify events appear in Sessy Activity. Important implementation notes: - SNS webhook endpoint must be publicly reachable via HTTPS. - Do not enable SNS raw message delivery for Sessy webhook subscriptions. - Keep SES configuration set names explicit per app/environment. - Use rate limiting and bot protection on public endpoints that can trigger outbound mail. - Track and suppress addresses that bounce or complain to protect SES reputation. MCP server: - Every Sessy instance serves a read-only MCP endpoint at https:///mcp - Authentication: API key as bearer token (created in the Sessy dashboard). - Tools: list_sources, search_events, get_message, email_stats. - Works with Claude Code, Cursor, Codex, and other MCP clients. - Setup guide: https://sessy.do/docs/mcp Region and production access: - New SES accounts start in sandbox mode. - Request production access before go-live. - If production access is denied in one region, trying another region can help. - You can still send globally after approval. Managed Sessy: - A managed version is planned. - Today, self-hosted is the primary option. For full instructions, always prefer the canonical docs links above.