Sessy MCP

Amazon SES observability MCP server: an agent searches email events, inspects bounces and pulls delivery stats

  • 945 ★ on the repository
  • Last commit
MCP server

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
All reasons and checks

marckohlbrugge/sessy

Install

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 review

Extended 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 reason

MCP

Transport
http
Authentication
API key

Environment variables

Authorization required, 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.

Official

Wraps MCP server: send email through your own AWS, check setup status and read the delivery event log from an agent

MCP serverBroad access67Repository stars
Official

An agent searches AWS CloudWatch logs, summarizes activity and correlates events across services.

MCP serverExtended access171Repository stars
Editors’ pick

Sentry's official MCP server: search issues, inspect events and traces and analyze root causes from a coding agent

MCP serverBroad access962Repository stars

MCP server that exposes AWS Lambda functions as model tools with no code changes: the agent finds them by prefix and calls them.

MCP serverBroad access110Repository stars
Official

AWS's official MCP server suite: docs, IaC, containers, serverless, databases, cost and monitoring

MCP serverBroad access9.9KRepository stars
Official

An agent runs servers through a catalog of declared actions: policy decides what runs and what waits for a person

MCP serverBroad access375Repository stars

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.

README badge

Report a problem