Skip to main content
Glama

Mailcheer

Add a subscriber

add_subscriber
Idempotent

Adds or updates a subscriber. By default the person enters as PENDING and receives a confirmation email: that is double opt-in, and it protects the workspace's sending reputation. double_opt_in: false subscribes directly and must only be used when consent was already collected elsewhere — never on your own initiative. A suppressed or unsubscribed address is refused. An address gets at most one confirmation every 2 minutes and 3 per 24 hours: do not retry in a loop, read confirmation_not_sent_reason and confirmation_retry_at in the response.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNo
emailYes
lastNameNo
firstNameNo
double_opt_inNofalse = direct subscription without confirmation. Only request this on explicit instruction from the person.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the annotations: PENDING state on entry, a confirmation email, the sending-reputation rationale, refusal of suppressed/unsubscribed addresses, hard rate limits (1 per 2 minutes, 3 per 24 hours) with an explicit anti-retry-loop warning, and named response fields to inspect. Nothing here is derivable from readOnlyHint/destructiveHint/idempotentHint.

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?

Four tightly packed sentences, each carrying unique load — default behavior, the exception and its guardrail, the failure mode, and the rate limit with the remediation pointer. The critical constraint and the alternative are front-loaded.

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 mutation with no output schema, the description supplies what an agent actually needs: success state (PENDING), side effects (confirmation email), failure mode (suppressed/unsubscribed refused), throttling behavior, and the exact response fields to read instead of looping. No material gap remains.

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 only 20%, so the description carries most of the burden. It does substantively enrich double_opt_in (adding the consent-sourcing rule and the 'never on your own initiative' constraint beyond the schema text), but tags, firstName, and lastName are never mentioned in either place. Partial compensation only.

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?

Opens with a specific verb+resource ('Adds or updates a subscriber') and immediately clarifies the upsert semantics, which is exactly what distinguishes it from remove_subscriber, erase_subscriber, and list_subscribers. An agent can route to this tool without opening the schema.

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 when-to-use for the risky parameter: double_opt_in defaults to the safe double opt-in path, and `false` is only permitted when consent was collected elsewhere, with a direct prohibition ('never on your own initiative'). It also states the refusal case (suppressed/unsubscribed addresses), covering when the call will not succeed.

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.

Resources