Sessy — Amazon SES observability について
Sessy は AWS SES 向けのオープンソースのメール可観測ツールで、送信後のイベントを把握したいチームを対象としています。Web インターフェースに加え、AI コーディングエージェントがメールデータを参照し、ソースを管理できる MCP サーバーを備えています。
主な機能
- 01配信、バウンス、苦情、開封、クリックを表示
- 02イベント検索と配信タイムラインの確認
- 03集計統計とバウンス診断の取得
- 04ソースの作成と名前変更
- 05Docker によるセルフホスト
活用シーン
- 01メールのバウンスや配信問題を調査
- 02配信状況と受信者の反応を分析
- 03AI コーディングエージェントで 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 は、費用対効果が高く、信頼性に優れ、配信到達率も高い素晴らしいメールサービスです。しかし、メールで実際に何が起きているのかを把握するのは、非常に困難です。
そのため、多くの人が、見栄えのよい UI を備えた、実質的には 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 デプロイのドキュメントをご覧ください。
Dokku をお使いですか?Dokku デプロイのドキュメントをご覧ください。
AWS SES 自体の設定についてサポートが必要ですか?AWS SES セットアップガイドをご覧ください。
セキュリティ強化の推奨事項については、SES のセキュリティと配信到達率に関するベストプラクティスをご覧ください。
AI エージェント向け MCP サーバー
Sessy には /mcp で利用できる MCP サーバーが付属しているため、AI コーディングエージェント(Claude Code、Cursor、Codex)からメールデータを照会できます。イベントを検索したり、バウンス診断を含むメッセージの配信履歴全体を調べたり、集計統計を取得したりできます。また、エージェントはソースの作成や名前の変更、SES 接続の詳細(Webhook URL、設定セット名、トピック名)の取得もできるため、新しいアプリを最初から最後までセットアップできます。メールデータは読み取り専用です。保持設定やソースの削除は、引き続き Web UI で行います。
Web UI の API keys ページで API キーを作成し、インスタンスの /docs/mcp にある接続手順に従ってください。たとえば、Claude Code の場合は次のとおりです。
claude mcp add --transport http sessy https://your-sessy-host/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
知っておくべき点が 2 つあります。
- **Cloudflare/CDN のユーザー:**ボット保護(管理対象のチャレンジ)により、MCP クライアントがブロックされます。ボット保護から
/mcpパスを除外してください。除外しないと、エージェントからのリクエストが失敗します。 - HTTP Basic 認証:
/mcpは API キーのみで認証し、HTTP_AUTH_*は無視します。後から HTTP Basic 認証を有効にしても、すでに作成した API キーは無効になりません。インストール環境のセキュリティを強化した後は、API keys ページを確認してください。
ホステッド版
独自のインスタンスを実行したくない方向けに、Sessy のマネージド版を開発中です。
このコードベースにある saas/ ディレクトリ、Gemfile.saas、ときどき登場する Sessy.saas? チェックは、このホステッド版に関連するものです。別々のリポジトリを管理するのではなく、シンプルさを保つため、意図的にこのリポジトリに含めています。セルフホストには影響しません。デフォルトのバンドルでは saas/ エンジン全体が無視され、テストスイートによって、これがなくてもオープンソース版が同じように動作することが検証されます。
ジョブダッシュボード
Sessy はバックグラウンドジョブに Solid Queue を使用しています。キューの監視、失敗したジョブの再試行、定期タスクの表示を行う Web ダッシュボードを /jobs で利用できます。
開発
Sessy は自由に変更していただけます。
始めるには、次の手順に従ってください。
bin/setup
bin/dev
コントリビューション
コントリビューションを歓迎します!まだごく初期の段階ですので、次の点にご留意ください。
- **誤字や明らかなバグ:**気軽に PR を提出してください。
- **コードの変更:**既存のスタイルに合わせるようお願いします。
- **新機能:**実装する前に、まず issue を作成して相談してください。
- **デプロイのドキュメント:**主要なデプロイ方法のうち、広く利用でき、オープンで、セルフホスト可能なもの(たとえば Docker、Kamal、Dokku)に絞って、公式のデプロイ手順を用意しています。通常、このリポジトリにプロバイダー固有のデプロイガイドは追加しません。
小規模な修正以外の変更を行う場合は、マージされない可能性のある作業に時間を費やすことがないよう、まず issue を作成してください。
ライセンス
Sessy は O'Saasy License のもとで公開されています。ただし、サブディレクトリで別途指定されている場合はその限りではありません(たとえば、Claude および Cursor のプラグインパッケージは MIT です)。
インスピレーション
Sessy は Fizzy から多大なインスピレーションを受けており、コードベースをオープンソース化してくれた 37signals に感謝しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。