AI-Mail
Server Details
ai-mail.sh gives your AI agent its own email address for $0.05, paid with x402 (USDC on Base), with no signup. Verification codes and links come back already extracted, and wait holds the request until mail arrives. Addresses are never reassigned: come back months later, pay again, same address. Receive-only, no tracking, and you delete it, it's gone. Works over HTTP or MCP.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
The tools are mostly distinct: delete_all_emails vs delete_email, and inbox_status vs list/read/wait are clear. However, wait_for_email overlaps somewhat with list_emails plus read_email, since all three can retrieve email content, though wait_for_email has a specific waiting-for-unseen purpose.
All names use lower snake_case, which is consistent and readable. The only minor deviation is inbox_status, which is noun-first rather than the verb_noun pattern used by the other five tools.
Six tools is well-scoped for an email inbox management server. Each tool covers a distinct operation without redundancy or bloat.
The surface covers core inbox workflows: status, list, read, wait, and delete (single and all). Minor gaps exist for search/filtering, marking read/unread, or handling attachments, but these are not fatal for the apparent verification-email use case.
Available Tools
6 toolsdelete_all_emailsAInspect
Permanently delete every email in this inbox. They cannot be recovered.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It usefully discloses irreversibility ('cannot be recovered') and scope (all emails), which is meaningful for a destructive operation. However it omits whether authentication or confirmation is required, and whether the deletion applies across folders or just the inbox.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and immediately followed by the irreversibility warning. Every sentence earns its place with zero padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 this is largely complete: it conveys action, scope, and permanence. It could go slightly further on scope boundaries (does 'inbox' mean all folders?) and any required confirmation, but nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is trivially complete, so there is nothing for the description to clarify. Baseline of 4 applies since parameter semantics are not a meaningful dimension here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (delete) with an explicit scope (every email in this inbox), which cleanly distinguishes it from the sibling delete_email that targets a single message. An agent can tell what this does and how it differs from the nearest alternative without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no exclusions, and never references the sibling delete_email or any safer alternative. The destructive scope is implied by 'every email' but the agent is left to infer when bulk deletion is appropriate versus targeted deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_emailBInspect
Permanently delete one email by id. It cannot be recovered.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the single most important trait — permanence and irreversibility — which is valuable, but it says nothing about permissions, behavior on an invalid/unknown id, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and immediately followed by the consequence. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter destructive tool with no output schema, the essentials are covered: what it does, scope, and that it is irreversible. Only minor gaps remain around invalid-id handling and obtaining a valid id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the sole parameter is just a bare string. The description's "by id" does at least establish that the id identifies the target email, but adds no format, source, or retrieval guidance (e.g., that the id comes from list_emails).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with scope: "Permanently delete one email by id." The word "one" implicitly distinguishes it from the sibling delete_all_emails, though that sibling is never named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus delete_all_emails or list_emails/read_email; there is no stated precondition (e.g., confirm the id first) or exclusion. The agent must infer the routing from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox_statusBInspect
Your email address, plan, expiry, how many more emails it will accept, and how many are unseen.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It does tell the agent what information comes back (address, plan, expiry, quota, unseen count), which is useful behavioral content, but it never states that the call is a side-effect-free read or that it takes no arguments.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the most decision-relevant content (identity, plan, expiry, quota, unseen) front-loaded and zero filler. It reads as a bare fragment rather than a complete sentence, but no words are wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must describe the return payload, and it does so by listing the exact fields. With zero parameters and no annotations, that covers the essentials; only the read-only nature and error behavior are left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate. The enumeration of returned fields loosely maps to what the agent gets back but no longer matters at the parameter level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates exactly what the tool surfaces (email address, plan, expiry, remaining quota, unseen count), so the resource is unmistakable and clearly distinct from the action-oriented siblings like list_emails and read_email. It lacks an explicit verb such as 'retrieve' or 'report', but the returned fields make the purpose inferable 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to invoke this versus the sibling tools, nor any prerequisite or exclusion. An agent can infer it is an account-status lookup, but nothing in the text confirms that or routes it against alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_emailsBInspect
List recent emails (newest first) with sender, subject and any extracted code.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it does disclose useful traits: sort order (newest first) and that extracted code is included in results. It omits whether listing marks emails as read, how deep 'recent' goes, and any pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that names the resource, ordering, and returned payload with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter list tool with no output schema, the description adequately covers what comes back. However, with no annotations and no output schema, it should clarify what 'recent' means and whether listing has side effects on read state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the limit parameter. The schema's default (10), min (1), and max (50) convey bounds structurally, but the description adds no meaning about how limit interacts with 'recent' results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource (list emails) with an explicit description of returned fields (sender, subject, extracted code) and ordering (newest first). It does not explicitly differentiate itself from siblings like read_email or inbox_status, but the verb and scope are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus read_email, inbox_status, or wait_for_email. It doesn't state whether it covers all folders, unread only, or how it relates to the sibling readers, leaving the agent to infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_emailBInspect
Read one email in full by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It conveys a safe read of a single item, but says nothing about auth/permissions, what happens if the id is invalid or not found, or the shape of the returned content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every word carries meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read with no output schema, the description covers the core operation but leaves the error/empty-result behavior and returned content unaddressed. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter with 0% schema description coverage, so the description is the only source of meaning; 'by id' does clarify that the parameter is an email identifier. It adds no format, type, or validation detail beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Read one email') with scope ('one ... in full by id'), which implicitly contrasts with the list_emails sibling. No sibling is named, but the singular/full-content framing makes the intent distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'in full' implies this is the tool for retrieving complete email content as opposed to list_emails (summaries), which is a useful implicit signal. However, there is no explicit when-to-use statement, no exclusions, and no mention of alternatives by name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wait_for_emailAInspect
Return the next email you haven't seen yet, waiting up to timeout_seconds for one to arrive. Use after signing up somewhere to get the verification code (otp) or link (verify_link).
| Name | Required | Description | Default |
|---|---|---|---|
| delete | No | Delete the email as it is returned. Once deleted it is gone. | |
| timeout_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the blocking/waiting behavior and the 'unseen' selection semantics, but does not state what happens on timeout (error vs. empty return), nor that returning an email marks it as seen.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core behavior, then the motivating use case. Every clause earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-param tool with no output schema, the description covers what is returned (email containing otp or verify_link) and the blocking constraint. Only the timeout-failure behavior is left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
timeout_seconds has no schema description, and the description compensates by specifying the wait meaning up to that value. The delete parameter is documented in the schema ('Once deleted it is gone'), so the description adds value where coverage is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return the next email you haven't seen yet') with the key qualifier that it blocks up to timeout_seconds. Clearly distinguishable from siblings like list_emails and read_email, which do not wait.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the scenario ('Use after signing up somewhere to get the verification code (otp) or link (verify_link)'), which routes the agent correctly. It lacks an explicit when-not or mention of the delete/read alternatives, but the positive usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
delete_all_emails - First observed
delete_email - First observed
inbox_status - First observed
list_emails - First observed
read_email - First observed
wait_for_email
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1622 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm37 PyPIMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.