Sessy MCP
Amazon SES observability MCP server: an agent searches email events, inspects bounces and pulls delivery stats
- 945 ★ on the repository
- Last commit
Extended access
Why this level
- The API key opens email events: recipient addresses, bounce reasons and delivery stats
- The agent can create and rename SES sources in Sessy
Install
- Works in
Manual install
claude mcp add --transport http sessy https://your-sessy-host/mcp --header "Authorization: Bearer YOUR_API_KEY"Substitute your instance host, or https://api.sessy.do/mcp for the hosted version.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The API key opens email events: recipient addresses, bounce reasons and delivery stats
- The agent can create and rename SES sources in Sessy
This is third-party code. Review the repository files before installing.
What it does
Sessy is an open Rails application that collects Amazon SES events and shows what happened to an email after sending: delivery, bounces, complaints, opens and clicks. The MCP server is built into the app and served at `/mcp`, and on the hosted version that is `https://api.sessy.do/mcp`. The agent searches events by filter, opens the full delivery timeline of one message with the bounce diagnosis and pulls aggregate stats. Email data is read-only. The agent can also create and rename sources and fetch the SES wiring details: the webhook URL, the configuration set name and the topic name. That connects a new application to SES end to end without visiting the web interface. Retention settings and deleting sources stay in the interface.
Who it is for. Developers who send mail through Amazon SES directly and look for delivery failures together with an agent instead of in the AWS console.
Good fit when
- A customer says a password-reset email never arrived: the agent finds the event and the bounce reason
- The complaint rate rose after a release and you need a delivery summary for the last day
- A new application is being wired to SES and the agent fetches the webhook URL and configuration set name
- Your own Sessy instance is checked for extra bounces by recipient domain
Not a fit when
- Mail does not go through SES: Sessy reads Amazon SES events only
- You need to delete a source or change retention: those actions stay in the web interface
- The service sits behind Cloudflare bot protection: MCP clients get blocked until the `/mcp` path is exempted
Example request
Find emails sent to user@example.com over the last week, show the delivery timeline of the failed one and explain the bounce reasonMCP
- Transport
- http
- Authentication
- API key
Environment variables
Authorizationrequired, secret- Bearer header with an API key from the API keys page
Limitations
You need your own Sessy instance or an account on the hosted version, and API keys are created on the API keys page. Behind Cloudflare or another CDN the `/mcp` path has to be exempted from bot protection or agent requests will be rejected. The server accepts API keys only: turning on HTTP Basic later does not revoke keys already issued, so review the list after tightening access. The license is O'Saasy, while the Claude and Cursor plugin packages are MIT. The hosted address comes from the MCP registry while the author calls the managed version a work in progress; running your own instance needs Docker or Kamal.
How to disable. Remove the server from the client (`claude mcp remove sessy`) and revoke the key on the API keys page in Sessy.
FAQ
How do I connect Sessy to Claude Code?
Create an API key in the web UI and run `claude mcp add --transport http sessy https://your-sessy-host/mcp --header "Authorization: Bearer YOUR_API_KEY"`. Instructions for other clients are on the `/docs/mcp` page of your instance.
Can the agent change email data?
No, events and messages are read-only. The agent can create and rename sources, while retention settings and deleting sources stay in the web interface.
Why does the agent get errors behind Cloudflare?
Cloudflare managed challenges block MCP clients. Exempt the `/mcp` path from bot protection and the requests go through.
How do I run my own Sessy?
With the Docker command from the repository: `docker run -p 80:80 -e SECRET_KEY_BASE=... -e DISABLE_SSL=true -v sessy:/rails/storage ghcr.io/marckohlbrugge/sessy:main`. For deploying from a fork there are Kamal and Dokku guides.
What data does the agent see?
SES events: deliveries, bounces, complaints, opens and clicks, plus the full delivery timeline of a message with bounce diagnostics and aggregate stats.
Discussion
No questions or reviews yet.
Related
MCP serversWraps MCP server: send email through your own AWS, check setup status and read the delivery event log from an agent
An agent searches AWS CloudWatch logs, summarizes activity and correlates events across services.
Sentry's official MCP server: search issues, inspect events and traces and analyze root causes from a coding agent
MCP server that exposes AWS Lambda functions as model tools with no code changes: the agent finds them by prefix and calls them.
AWS's official MCP server suite: docs, IaC, containers, serverless, databases, cost and monitoring
An agent runs servers through a catalog of declared actions: policy decides what runs and what waits for a person
README in short
The text explains why Sessy exists: Amazon SES is cheap and reliable but shows the fate of emails poorly. Next come running through Docker, Kamal and Dokku, the MCP server section with a command for Claude Code and two caveats about Cloudflare and HTTP Basic, then notes on the hosted version.