Skip to main content
Glama

Cooper Email

Get one inbox

cooper_get_inbox
Read-onlyIdempotent

Use this when you need one inbox's address, display name, metadata, status, client_id, screening, or send_mode and you already have its id, username, or email. Read-only; requires auth. Inputs: inbox_id (required; inbox id, username, or email). Returns the inbox {id, username, email, display_name, created_at, require_sender_auth, labels, expires_at, status, paused_at, metadata, client_id, screening, send_mode, signature}. signature is {text, html} or null. send_mode is direct or approval. Another account's inbox returns HTTP 404 inbox_not_found.

Input Schema

NameRequiredDescriptionDefault
inbox_idYesInbox id (inb_…), username, or full email address owned by this key

Output Schema

NameRequiredDescriptionDefault
idNoInbox id (inb_…). Pass it as inbox_id to other tools.
emailNoFull email address of the inbox.
labelsNoLabels on the object.
statusNoactive or paused.
metadataNoCaller key-value data stored on the object.
usernameNoLocal part of the address.
client_idNoCaller idempotency key stored with the object, or null.
paused_atNoISO-8601 time the inbox was paused, or null.
screeningNoInbound screening mode: off, observe, or hold.
send_modeNodirect sends immediately. approval turns sends into drafts a verified owner approves.
signatureNoSignature {text, html} added to sends, or null.
created_atNoISO-8601 time the object was created.
expires_atNoISO-8601 time the object expires, or null for no expiry.
display_nameNoFrom display name, or null.
require_sender_authNoWhen true, only mail that passes DMARC/DKIM can create an owner task.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "The inbox.",
      +  "properties": {
      +    "client_id": {
      +      "description": "Caller idempotency key stored with the object, or null."
      +    },
      +    "created_at": {
      +      "description": "ISO-8601 time the object was created."
      +    },
      +    "display_name": {
      +      "description": "From display name, or null."
      +    },
      +    "email": {
      +      "description": "Full email address of the inbox."
      +    },
      +    "expires_at": {
      +      "description": "ISO-8601 time the object expires, or null for no expiry."
      +    },
      +    "id": {
      +      "description": "Inbox id (inb_…). Pass it as inbox_id to other tools."
      +    },
      +    "labels": {
      +      "description": "Labels on the object."
      +    },
      +    "metadata": {
      +      "description": "Caller key-value data stored on the object."
      +    },
      +    "paused_at": {
      +      "description": "ISO-8601 time the inbox was paused, or null."
      +    },
      +    "require_sender_auth": {
      +      "description": "When true, only mail that passes DMARC/DKIM can create an owner task."
      +    },
      +    "screening": {
      +      "description": "Inbound screening mode: off, observe, or hold."
      +    },
      +    "send_mode": {
      +      "description": "direct sends immediately. approval turns sends into drafts a verified owner approves."
      +    },
      +    "signature": {
      +      "description": "Signature {text, html} added to sends, or null."
      +    },
      +    "status": {
      +      "description": "active or paused."
      +    },
      +    "username": {
      +      "description": "Local part of the address."
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds context the annotations cannot: it requires auth and that another account's inbox surfaces as HTTP 404 inbox_not_found. It does not cover rate limits or pagination, but none apply to a single-resource get.

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-loaded with the use condition, then auth/behavior, then inputs, then return shape and error semantics — a clean scan order with no filler sentences. The enumerated return fields are dense but each carries information an agent may need to decide whether this call answers its question.

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?

For a single-parameter read tool with a full output schema, the definition covers auth, the lookup key variants, error semantics for cross-account access, and the meaning of ambiguous fields (send_mode values, nullable signature). The return-field list partly duplicates the output schema, so it is thorough rather than perfectly lean, but nothing an agent needs to call it correctly is missing.

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 description coverage is 100% and the schema already says inbox_id accepts an 'inb_…' id, username, or full email address; the description's 'Inputs: inbox_id (required; inbox id, username, or email)' largely restates it. The extra detail about send_mode values and signature shape describes outputs, not input meaning, so baseline 3 is appropriate.

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 ('one inbox') and enumerates exactly which fields it exists to retrieve (address, display name, metadata, status, client_id, screening, send_mode). The 'one inbox' scoping plus the id/username/email lookup key clearly separates it from cooper_list_inboxes and cooper_update_inbox for an agent scanning siblings.

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?

'Use this when you need one inbox's ... and you already have its id, username, or email' gives a clear use condition plus the invocation precondition (you must already have an identifier, so this is not a discovery tool). It does not name an explicit alternative (e.g. list_inboxes for when you lack an id) or state when not to use it, which keeps it below a 5.

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.