Skip to main content
Glama

Create inbox

create_inbox

Create an email inbox for an AI agent to receive verification codes and magic links, in one call with no signup and no API key. Returns the address, a read_token (save it, it is shown once), the expiry time and an Ed25519 identity. Pass account_key to buy a longer-lived inbox with credits. Next: give the address to the website, then call wait_for_code with the read_token.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "create_inbox"
  }
}

Input Schema

NameRequiredDescriptionDefault
aliasNoOptional prefix for the address (lowercase letters, digits and dashes). A random suffix is always added, so the address cannot be guessed.
domainNoOptional: your own verified domain (see add_domain). Creates local_part@domain as a 30-day paid inbox; needs account_key.
purposeNoWhat the inbox is for, e.g. "verify my account on example.com". Optional, stored with the inbox.
ttl_hoursNoHow many hours the inbox lives. 72 is free; 720 (30 days) needs an account_key with credits.
local_partNoWith domain: the part before the @, e.g. "support".
account_keyNoOptional account key (cak_...) to pay for a paid inbox. Without it the inbox is free and expires after 72 hours.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / domain
      Added value: +{
      +  "description": "Optional: your own verified domain (see add_domain). Creates local_part@domain as a 30-day paid inbox; needs account_key.",
      +  "type": "string"
      +}
    • addedInput schema / properties / local_part
      Added value: +{
      +  "description": "With domain: the part before the @, e.g. \"support\".",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the free tier's 72-hour lifetime versus a credit-paid longer inbox, and warns that the read_token is shown once. It omits rate limits, whether the inbox can later be deleted (delete_inbox exists), and consequences of omitting account_key beyond expiry.

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?

Front-loads the capability and the free/no-signup constraint, then the return values, then the next step. Every sentence carries actionable information and there is no filler.

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?

Six optional parameters at full schema coverage with no output schema, so the description's enumeration of return values (address, read_token, expiry, Ed25519 identity) fills exactly the gap the missing output schema leaves. An agent has everything needed to call it and chain the next tool.

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 including alias, domain, ttl_hours and local_part is already documented. The description only restates the account_key and lifetime semantics that the schema already provides, adding no new syntax or edge-case detail; baseline 3 applies.

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 specific verb and resource ("Create an email inbox for an AI agent to receive verification codes and magic links") and adds the scope constraint of being one-call with no signup or API key. This clearly distinguishes it from siblings like create_account, add_domain, or wait_for_code.

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

Usage Guidelines4/5

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

Gives an explicit workflow ("give the address to the website, then call wait_for_code with the read_token") and names the sibling that follows. It also states the condition for the paid path ("Pass account_key to buy a longer-lived inbox with credits"), though it never says when not to use this tool or how it relates to create_account.

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