Skip to main content
Glama
wraps-team

Wraps Email for Amazon SES

by wraps-team

list_suppressions

Read-onlyIdempotent

Check if a specific email is suppressed or list suppressed addresses from your Amazon SES account to prevent sending to invalid recipients and protect your sending reputation.

Instructions

List addresses on your AWS SES account-level suppression list, or check a single address with email. SES silently drops mail to suppressed addresses, and sending to them damages your sending reputation, so check before sending to an address you have not sent to recently. To determine whether one specific address is suppressed, always pass email — that is an exact lookup. The listing is paginated and states explicitly when it is truncated; a truncated listing is never proof that an address is unsuppressed. Optionally filter the listing by reason (BOUNCE or COMPLAINT).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailNoCheck this ONE address against SES and report whether it is suppressed. Use this for any "is <address> suppressed?" question: it is an exact lookup. Do NOT answer that question from the listing instead — the listing is paginated, so an address missing from it is not evidence the address is unsuppressed. `reason` and `limit` are ignored when this is set.
limitNoMaximum number of addresses to list (default 20, max 100). The response always states whether the listing was truncated.
reasonNoOnly list addresses suppressed for this reason.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYeslookup = exact single-address check; list = paged enumeration.
entriesYes
completeYesFalse when SES reported more pages than were read; absence proves nothing.
suppressedNoOnly present for mode=lookup. Authoritative for that address.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.8.1

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint=false, and idempotentHint, so the bar for added value is high. The description still adds meaningful behavior: SES silently drops mail to suppressed addresses, listing is paginated and states truncation explicitly, and `reason`/`limit` are ignored when `email` is set. This is context an agent needs beyond the annotations.

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 front-loaded with the action, then gives usage guidance, then the pagination caveat, then the optional filter. Every sentence earns its place, and the important warning about reputation damage is placed where it is most likely to influence an agent's decision.

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 a rich output schema, full parameter coverage, and strong annotations, the description provides everything an agent needs to select and invoke the tool correctly. It explains when to use the exact-lookup mode, how to interpret truncation, and why checking is important.

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%, and the schema's own parameter descriptions already carry the important semantics: `email` is an exact lookup, `reason` and `limit` are ignored when `email` is set, and `limit` has a default and max. The tool description reinforces the email-vs-listing distinction but does not need to add parameter-level detail, so the 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 opens with a specific verb and resource: 'List addresses on your AWS SES account-level suppression list' and immediately adds the alternate exact-lookup mode with `email`. This clearly distinguishes the two behaviors the tool supports and leaves no ambiguity about what it operates on.

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 gives explicit operational guidance: check before sending to unfamiliar addresses, always pass `email` for single-address questions, and never treat a truncated listing as proof of unsuppressed status. The input schema reinforces this with 'Do NOT answer that question from the listing instead,' making the decision path unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.