Skip to main content
Glama

Proxy Mail QA

Mark an address as unsubscribed

mark_unsubscribed
Idempotent

Records that the address unsubscribed from a sender, after you did it in your own browser or in the app (Proxy Mail QA never opens unsubscribe links). From then on, any marketing email from that sender fails after_unsubscribe in check_email and shows in check_unsubscribe, however long after. Name the sender with email_id (the email you unsubscribed from, from count_emails) or service (a name or domain, such as acme.com); with neither, the newest marketing email decides. Pass at for an unsubscribe that happened earlier. Marking twice is harmless. In Labs: works once the person who connected you switches on Marketing and offer emails in Account settings → Labs; until then it answers with an error that says so.

Input Schema

NameRequiredDescriptionDefault
atNoWhen it unsubscribed. Default: now.
testNoWith run_id: the test or step this call belongs to, shown beside what it saw in the report.
graceNoA grace period, such as 2h or 1d (up to 30d; 0 for none): marketing that comes within it after unsubscribing doesn’t count, for mail already on its way.
run_idNoA run from start_run: what this call sees is added to its report.
addressYesA test address in this project. A variant works too (capitals, or a +tag such as name+o'brien@…): it acts on the plain address, and a wait on a +tag variant only finds mail sent to it.
serviceNoThe sender, as a service name or a domain such as acme.com.
email_idNoThe email you unsubscribed from (count_emails gives ids).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Far exceeds the annotations: it discloses the downstream effect (marketing mail from that sender 'fails after_unsubscribe in check_email and shows in check_unsubscribe, however long after'), confirms repeat safety in prose ('Marking twice is harmless'), and explains the gated 'In Labs' behavior including the specific error surfaced until the setting is enabled. Nothing an agent would need to predict behavior is left implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and the manual-unsubscribe precondition, and the sender-naming rule follows immediately. It is one dense paragraph where the Labs caveat and the 'at' note could be ordered more crisply, but nearly every clause carries actionable information.

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 7 parameters, no output schema, and annotations that only cover safety/idempotency, the description fills the remaining gaps: the manual precondition, default sender resolution, back-dating, idempotency, and a failure mode (Labs off) with its error message. An agent can call this correctly without further context.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds genuine semantics: the email_id-vs-service choice and the default resolution rule ('with neither, the newest marketing email decides'), plus the purpose of 'at' for back-dated unsubscribes. It does not, however, touch grace, test, or run_id except indirectly.

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?

States a precise verb and resource ('Records that the address unsubscribed from a sender') and immediately scopes the tool's role: it only records an unsubscribe the user performed elsewhere ('after you did it in your own browser or in the app'). This cleanly separates it from mark_resubscribed and from the check_* siblings that merely observe state.

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?

Explicit preconditions ('after you did it in your own browser or in the app'), explicit exclusion ('Proxy Mail QA never opens unsubscribe links'), and explicit alternative selectors ('Name the sender with email_id ... or service ...; with neither, the newest marketing email decides'). It also names the tools whose output feeds it (count_emails) and the ones affected by it (check_email, check_unsubscribe).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Directories

Listed in ChatGPT · Proxy Mail QA

Last observed

Resources