Skip to main content
Glama

Proxy Mail QA

Wait for a verification or sign-in link

wait_for_link

Waits up to 30 seconds for a verify, magic sign-in, invite or password-reset link to arrive at the address, and returns the link with the sending service. The link has not been opened.

Input Schema

NameRequiredDescriptionDefault
appNotrue for a link that opens a mobile app (myapp://…), false for a web link. Leave out for either; when an email has both, the web link comes first.
kindNoWhich kind of link. Default: any of verify, magic_signin, invite or reset. unsubscribe is the email's own unsubscribe or email-preferences link; list_unsubscribe is the List-Unsubscribe header's, which Gmail's Unsubscribe button uses (to do what it does, POST List-Unsubscribe=One-Click to it with your own tools). Proxy Mail QA never opens either.
testNoWith run_id: the test or step this call belongs to, shown beside what it saw in the report.
sinceNoOnly match email received at or after this time. Default: the last 15 minutes.
run_idNoA run from start_run: what this call sees is added to its report.
unusedNotrue: only a code or link nobody has used yet (not returned by an earlier wait, nor opened, copied or filled in the app or Proxy Mail QA for Chrome). For a second code without changing since.
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.
serviceNoOnly match email from this sender, by service name or domain (for example the name of the app under test).
timeout_secondsNoHow long to wait. 0 checks once.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / unused / description
      Previous value: -"true: only a code or link nobody has used yet (not returned by an earlier wait, nor opened or copied in the app). For a second code without changing since."New value: +"true: only a code or link nobody has used yet (not returned by an earlier wait, nor opened, copied or filled in the app or Proxy Mail QA for Chrome). For a second code without changing since."
  2. Changed2 schema fields changed
    • changedInput schema / properties / kind / description
      Previous value: -"Which kind of link. Default: any of verify, magic_signin, invite or reset."New value: +"Which kind of link. Default: any of verify, magic_signin, invite or reset. unsubscribe is the email's own unsubscribe or email-preferences link; list_unsubscribe is the List-Unsubscribe header's, which Gmail's Unsubscribe button uses (to do what it does, POST List-Unsubscribe=One-Click to it with your own tools). Proxy Mail QA never opens either."
    • changedInput schema / properties / kind / enum
      Previous value: -[
      -  "verify",
      -  "magic_signin",
      -  "invite",
      -  "reset",
      -  "any"
      -]New value: +[
      +  "verify",
      +  "magic_signin",
      +  "invite",
      +  "reset",
      +  "unsubscribe",
      +  "list_unsubscribe",
      +  "any"
      +]
  3. First observed

TDQS

A3.6/5.0
Behavior3/5

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

The annotations mark this readOnlyHint=false, which the description never explains — nothing says that a wait consumes or claims a link, even though the 'unused' parameter strongly implies it. It does usefully disclose that the link is returned unopened and that the send arrives within a 30-second budget.

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?

Two sentences, front-loaded with the action and time bound, ending on the important 'has not been opened' qualifier. Nothing wasted.

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?

With no output schema, the description does state the return value (the link plus sending service), which is the main thing an agent needs. The remaining gap is the side effect implied by readOnlyHint=false and the 'unused' parameter.

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%, so every parameter already has a thorough description (including variants, unused, and timeout behavior). The description adds no parameter detail beyond the implicit 'address', so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'waits' and names the resource — a verify, magic sign-in, invite, or password-reset link — plus the return payload. It's clear what the tool does, though it never names the obvious sibling wait_for_code to say how the two differ.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 30-second ceiling tells the agent when this is the wrong tool for a slow send, but there's no explicit guidance to use wait_for_code for codes or check_email for full message bodies. Usage is implied by the link-focused wording rather than stated.

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