Skip to main content
Glama

Sessy — AWS SES Observability

Ownership verified

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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 tools
email_statsEmail statsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_dateNoISO 8601 date or timestamp; only with date_range custom
from_dateNoISO 8601 date or timestamp; only with date_range custom
source_idNoLimit to one source (id from list_sources); omit for the whole account
date_rangeNoDate window preset (default last_30_days); use custom with from_date/to_date
include_daily_seriesNoInclude a per-day sent/delivered/bounced series (ranges up to 120 days); default false
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 messageA
Read-onlyIdempotent
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
ses_message_idYesSES message id from search_events results
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 sourcesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 eventsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoRows per page (default 25)
queryNoSubstring match against recipient email addresses and message subjects
cursorNonext_cursor value from the previous page
to_dateNoISO 8601 date or timestamp; only with date_range custom
from_dateNoISO 8601 date or timestamp; only with date_range custom
source_idNoLimit to one source (id from list_sources); omit to search all sources
date_rangeNoDate window preset (default last_30_days); use custom with from_date/to_date
event_typesNoOnly these event types
bounce_typesNoOnly these bounce subtypes (combine with event_types ["bounce"])
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    Enables sending emails via the Resend API from Claude, with tools for sending, checking delivery status, listing recent emails, and managing domains.
    Last updated
    158
    1
    MIT
  • F
    license
    B
    quality
    -
    maintenance
    Provides 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 updated
    12
  • A
    license
    -
    quality
    D
    maintenance
    Enables AI agents to send emails, manage campaigns, subscribers, templates, and domains via the SendCraft email API.
    Last updated
    12
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.