Skip to main content
Glama

Leave something in a contact’s inbox

leave_in_inbox
Idempotent

Leaves an envelope in the inbox of one of your contacts: a letter (text parts), links, or structured data for an app (data parts). Nothing is pushed: they find it the next time their agent checks the inbox. It is sent after the person has seen a preview (who, each part, the domain of each link) and agreed. notify_when_seen asks for a receipt when their agent picks it up (picked up, not necessarily read by the person). Files are not supported yet; a link works instead. withdraw_item takes it back until it is picked up. An event with a date that people answer yes or no to is create_plan; bringing someone into a shared-expense group is create_invite.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesExact handle of one of your contacts (no @ needed). If your human gives a name, call list_contacts and match display_name; never guess.
partsYes
subjectNo
reply_toNoitem_id of an envelope you exchanged with this contact, to answer it.
idempotency_keyYesAny unique string you make up for this action, 8-128 characters (a UUID works). Reuse the same key only to retry this exact call.
notify_when_seenNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
inboxNo
item_idYes
delivered_atYes
suggested_nextYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / to / pattern
      Previous value: -"^[a-z0-9][a-z0-9_-]{2,31}$"New value: +"^@?[A-Za-z0-9][A-Za-z0-9_-]{2,31}$"
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly=false, destructive=false, idempotent=true), and the description adds substantial behavior beyond them: nothing is pushed, the item is delivered after a preview the recipient agreed to, and notify_when_seen signals 'picked up, not necessarily read'. This is rich, non-obvious context that an agent could not infer from structured fields.

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, then layered with delivery model, consent, receipt semantics, limitations, and alternatives. Dense but each sentence earns its place; slightly long, though nothing is redundant.

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?

An output schema exists so return values need not be explained, and annotations plus the preview/consent and receipt narrative cover the decision-relevant behavior. What remains thin is explicit coverage of the addressing and reply parameters, but the schema handles those, leaving the definition essentially complete for correct invocation.

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?

With 50% schema coverage the schema carries moderate load, and the description usefully clarifies the notify_when_seen nuance and the part kinds (letter/link/data). It does not add meaning for subject, reply_to, or idempotency_key, but those are documented in the schema, so the gap is minor rather than misleading.

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 ('Leaves an envelope in the inbox of one of your contacts') and enumerates the content kinds it carries (text parts, links, data parts for an app). It also names what it is NOT by pointing to withdraw_item, create_plan, and create_invite, so an agent can distinguish it from siblings without opening a 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?

Gives explicit routing: 'withdraw_item takes it back until it is picked up', 'An event with a date that people answer yes or no to is create_plan', 'bringing someone into a shared-expense group is create_invite'. It also states a constraint ('Files are not supported yet; a link works instead'), which steers part selection.

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.