Sessy — AWS SES Observability
Server Details
Track AWS SES bounces, complaints, and delivery stats from your coding agent. Requires a Sessy API key from https://app.sessy.do/api_keys. Does not send email or change SES settings.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- marckohlbrugge/sessy
- GitHub Stars
- 907
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 4 of 4 tools scored.
Each tool targets a distinct aspect: email_stats aggregates, get_message fetches a single message timeline, list_sources enumerates sources, and search_events queries events. There is no overlap in primary purpose, and the descriptions clarify the relationships.
Three tools follow the verb_noun pattern (get_message, list_sources, search_events), while email_stats is a noun_noun blend. All names use lowercase with underscores, so the style is consistent, but the one deviation prevents a perfect score.
Four tools is an ideal size for an AWS SES observability server. Each tool covers a core function without redundancy, making the set easy to navigate and use.
The set covers the main workflow: list sources, search events, drill into messages, and get aggregated stats. Minor gaps exist (e.g., no raw email download or metric comparison across sources), but agents can accomplish the core observability tasks without dead ends.
Available Tools
4 toolsemail_statsEmail statsARead-onlyIdempotentInspect
Aggregate email stats for one source or the whole account over a date range: counts by event type, unique opens/clicks, bounce/complaint/open/click rates, bounce breakdown by subtype, and an optional daily time series. Rates are percentages of sends.
| Name | Required | Description | Default |
|---|---|---|---|
| to_date | No | ISO 8601 date or timestamp; only with date_range custom | |
| from_date | No | ISO 8601 date or timestamp; only with date_range custom | |
| source_id | No | Limit to one source (id from list_sources); omit for the whole account | |
| date_range | No | Date window preset (default last_30_days); use custom with from_date/to_date | |
| include_daily_series | No | Include a per-day sent/delivered/bounced series (ranges up to 120 days); default false |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the read-only safety is covered. The description adds useful context that rates are percentages of sends and that a daily series is optional, but it does not disclose deeper behaviors like pagination or result limits. This adds some value but not enough to exceed baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences, front-loaded with the main purpose, and every clause carries value. There is no redundancy or filler, making it exceptionally concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description adequately enumerates the return components (counts, unique opens/clicks, rates, bounce breakdown, daily series). Combined with the fully documented input schema and safety annotations, the agent has sufficient information to select and call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters. The description's mentions of 'one source or whole account', 'date range', and 'optional daily time series' map to parameters but add no new meaning not already present in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool aggregates email stats, enumerating specific outputs like counts by event type, unique opens/clicks, rates, bounce breakdown, and optional daily series. This verb+resource phrasing distinguishes it from siblings like get_message (single message) and search_events (event-level search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: aggregate stats for one source or the whole account over a date range. It does not explicitly name alternatives, but the scope and purpose imply when to use it versus siblings. Since there are no exclusions or when-not statements, it misses the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_messageGet messageARead-onlyIdempotentInspect
Fetch one email by its ses_message_id (from search_events results): subject, sender, destinations, SES tags, and the per-recipient event timeline including bounce/complaint diagnostics (first 500 events; events_truncated flags the rest — use search_events to page through them).
| Name | Required | Description | Default |
|---|---|---|---|
| ses_message_id | Yes | SES message id from search_events results |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only and idempotent, but the description adds important behavioral details: it lists the exact return fields (subject, sender, destinations, SES tags, event timeline) and discloses the 500-event truncation behavior with the events_truncated flag. This goes well beyond the annotation hints and gives the agent a clear expectation of the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose and packs essential details (return fields, truncation, paging) into parentheticals without excess. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description fully specifies what will be returned and how to handle truncation. It gives the agent enough context to know exactly what to expect and what to do if the event list is incomplete, making it complete for a single-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter already has a description ('SES message id from search_events results'). The tool description repeats the same provenance without adding new semantic meaning, so it scores at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Fetch one email by its ses_message_id', which is a specific verb-resource pair that clearly distinguishes it from siblings like search_events (searching) and email_stats (aggregate stats). It also specifies the exact identifier source and the returned fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'from search_events results', informing the agent to first run search_events to obtain the ID. It also explains when to use search_events again for events beyond the first 500 (i.e., when events_truncated is true), providing clear alternative usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesList sourcesARead-onlyIdempotentInspect
List this account's email sources with 30-day health stats (sent count, bounce rate, last event). Start here: the other tools take a source_id from these results.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds useful behavioral context by specifying the return data (30-day health stats) and the workflow relationship to other tools. It does not mention ordering or pagination, but for a simple list tool with zero parameters, the disclosure is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action and output detail, followed by a clear usage directive. Every sentence earns its place, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description is complete. It states what is listed (email sources), what each result includes (sent count, bounce rate, last event), and how to use the results (source_id for other tools). This is sufficient for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters in the schema, so the baseline is 4. The description does not need to explain parameters because none exist. It effectively communicates that the tool operates on the account's sources without requiring any input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' with a clear resource 'email sources' and includes distinctive detail (30-day health stats with sent count, bounce rate, last event). It also distinguishes itself from siblings by noting it is the entry point and that other tools take a source_id from these results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: 'Start here: the other tools take a source_id from these results.' This clearly positions it as the first step in a workflow and implies that sibling tools should follow after obtaining a source_id. No exclusions are needed for such a straightforward list operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_eventsSearch eventsARead-onlyIdempotentInspect
Search email events (sends, deliveries, bounces, complaints, opens, clicks), newest first. Returns compact rows; use get_message with a row's ses_message_id for the full timeline. The date window defaults to the last 30 days — pass date_range "all_time" to search everything.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows per page (default 25) | |
| query | No | Substring match against recipient email addresses and message subjects | |
| cursor | No | next_cursor value from the previous page | |
| to_date | No | ISO 8601 date or timestamp; only with date_range custom | |
| from_date | No | ISO 8601 date or timestamp; only with date_range custom | |
| source_id | No | Limit to one source (id from list_sources); omit to search all sources | |
| date_range | No | Date window preset (default last_30_days); use custom with from_date/to_date | |
| event_types | No | Only these event types | |
| bounce_types | No | Only these bounce subtypes (combine with event_types ["bounce"]) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, non-destructive, and idempotent hints. The description adds behavioral context: 'newest first' ordering, 'compact rows' return format, and the default 30-day date window. It also mentions the pointer to get_message for full detail, enriching understanding beyond the annotation-only safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, then return behavior, alternative tool, and default behavior. Every sentence earns its place, with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 optional params, no output schema), the description covers essential context: what the tool searches, the compact return format, how to get full details, and the date default. It omits explicit pagination behavior, but the cursor parameter in the schema covers that. Overall, sufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, every parameter is already documented. The description adds only a few clarifications (e.g., date_range defaults to last_30_days, mention of event type categories), but does not significantly go beyond schema-provided semantics. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches email events and enumerates event types (sends, deliveries, bounces, etc.), with explicit 'newest first' ordering. It distinguishes itself from sibling tools by pointing to get_message for full timelines, making its unique role clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use this tool (search events, compact rows) and explicitly names get_message as the alternative for full detail. It does not contrast with email_stats or list_sources, but the provided alternative is sufficient for common use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceEnables sending emails via the Resend API from Claude, with tools for sending, checking delivery status, listing recent emails, and managing domains.Last updated1581MIT
- FlicenseBquality-maintenanceProvides comprehensive telemetry and usage analytics for Claude Code sessions, including token usage tracking, cost monitoring, and tool usage patterns. Enables users to monitor their Claude usage with detailed metrics, warnings, and trend analysis.Last updated12

sendcraft-mcpofficial
Alicense-qualityDmaintenanceEnables AI agents to send emails, manage campaigns, subscribers, templates, and domains via the SendCraft email API.Last updated12MIT- FlicenseAqualityDmaintenanceFetches and tracks Claude.ai usage data including session and weekly limits with automated daily logging and persistent session management. It allows users to monitor their usage history directly through Claude Code integrated tools.Last updated3