Sessy

MCP serverSearch

Find out what happened to the emails you send through Amazon SES, Amazon's email service. Once sessy is added, your AI can search email events, look into bounces, and pull delivery stats to answer questions like why a message never arrived. It can only read this information, so it cannot send email or change anything.

Use Sessy in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Sessy and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use Sessy

Details

Available today. Use it from your connected AI after setup.

After adding sessy, connect it to the Amazon SES account you want to check. Then ask your AI things like 'why did my emails bounce' or 'show recent delivery stats'.

What your AI can do with it

  • Search email events to trace what happened to a message
  • Inspect bounces to see why an email did not arrive
  • Pull delivery stats to review how email is being delivered
  • Look up email activity with read-only access, so nothing can be changed or sent

Install Sessy

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user sessy 'https://api.sessy.do/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://api.sessy.do/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=sessy&config=eyJ1cmwiOiJodHRwczovL2FwaS5zZXNzeS5kby9tY3AifQ==

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://api.sessy.do/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add sessy --url 'https://api.sessy.do/mcp'

    Run it once, then sign in with codex mcp login sessy if the server asks for an account.

From the project's README

As published by marckohlbrugge/sessy in README.md.

Open-source email observability for AWS SES by Marc Köhlbrugge.

What is Sessy?

Amazon SES is a fantastic email service: cost-effective, reliable, and great deliverability. But it's frustratingly difficult to see what's actually happening with your emails.

That's why many people turn to overpriced email services that are often just glorified SES wrappers with a nice UI. You end up paying a lot for something you could do yourself.

Sessy is the open-source alternative. Use raw SES and still get a beautiful interface to see what happens after you hit send: deliveries, bounces, complaints, opens, clicks, and more.

Running your own Sessy instance

The easiest way to run Sessy is with 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

See Docker deployment docs for full configuration options.

Want to deploy your own modified version? See Kamal deployment docs for deploying from a fork.

Using Dokku? See Dokku deployment docs.

Need help configuring AWS SES itself? See AWS SES setup guide.

For hardening recommendations, see SES security and deliverability best practices.

MCP server for AI agents

Sessy ships an MCP server at /mcp, so AI coding agents (Claude Code, Cursor, Codex) can query your email data: search events, inspect a message's full delivery timeline with bounce diagnostics, and pull aggregate stats. Agents can also create and rename sources and fetch the SES wiring details (webhook URL, configuration set and topic names) to set up a new app end to end. Email data is read-only; retention settings and deleting sources stay in the web UI.

Create an API key on the API keys page in the web UI, then follow the connect instructions at /docs/mcp on your instance. For example, for Claude Code:

claude mcp add --transport http sessy https://your-sessy-host/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Two things worth knowing:

  • Cloudflare / CDN users: bot protection (managed challenges) blocks MCP clients. Exempt the /mcp path from bot protection or agent requests will fail.
  • HTTP Basic auth: /mcp authenticates with API keys only and ignores HTTP_AUTH_*. Enabling HTTP Basic later does not revoke previously created API keys — review the API keys page after locking down an install.

Hosted version

We're working on a managed version of Sessy for those who'd rather not run their own instance.

You'll notice references to it in this codebase: a saas/ directory, Gemfile.saas, and the occasional Sessy.saas? check. These power the hosted version and are intentionally kept in this repository for simplicity, rather than maintaining separate repos. None of it affects self-hosting: the default bundle ignores the saas/ engine entirely, and the test suite verifies the open-source version behaves identically without it.

Jobs dashboard

Sessy uses Solid Queue for background jobs. A web dashboard is available at /jobs to monitor queues, retry failed jobs, and view recurring tasks.

Development

You are welcome to modify Sessy to your liking.

To get started:

bin/setup
bin/dev

Contributing

We welcome contributions! Since we're still in a very early stage, please keep the following in mind:

  • Typos and obvious bugs: Feel free to submit a PR directly.
  • Code changes: Please try to match our existing style.
  • New features: Please open an issue first to discuss before implementing.
  • Deployment docs: We keep first-party deployment docs focused on broad, open, self-hosted paths we actively use (for example Docker, Kamal, and Dokku). We generally do not add provider-specific deployment guides to this repository.

For anything beyond small fixes, please open an issue first so no one wastes their time on something we might not merge.

License

Sessy is released under the O'Saasy License, except where a subdirectory specifies otherwise (for example, the Claude and Cursor plugin packages are MIT).

Inspiration

Sessy was heavily inspired by Fizzy and we're grateful to 37signals for open-sourcing their codebase.

Signals

GitHub stars
937
Forks
44
Last commit
Sep 2026
Advanced
Delivery
sessy MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-marckohlbrugge-sessy
Source
github.com/marckohlbrugge/sessy
Hosted endpoint
https://api.sessy.do/mcp