Skip to main content
Glama

Cooper Email

Get a sub-account

cooper_get_workspace
Read-onlyIdempotent

Use this when you need one sub-account created by the signed-in parent, including its inbox quota and how many inboxes are in use. Read-only; requires auth. Inputs: workspace_id (required). Returns {id, name, inbox_quota, inboxes_used, account_id, api_key_prefix, created_at}. Does not return the API key. Another parent's workspace returns 404 workspace_not_found. A sub-account key returns 403 permission_denied. An inbox-scoped key returns 403 permission_denied.

Input Schema

NameRequiredDescriptionDefault
workspace_idYesWorkspace id (ws_…) created by this parent account

Output Schema

NameRequiredDescriptionDefault
idNoWorkspace id.
nameNoHuman-readable name.
api_keyNoWorkspace API key, returned only once on create. Never repeat it in full.
account_idNoSub-account id for this workspace.
created_atNoISO-8601 time the object was created.
inbox_quotaNoMost inboxes the workspace may hold.
inboxes_usedNoLive inboxes in the workspace.
api_key_prefixNoFirst characters of the workspace key, for display.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "The workspace. The API key is not returned.",
      +  "properties": {
      +    "account_id": {
      +      "description": "Sub-account id for this workspace."
      +    },
      +    "api_key": {
      +      "description": "Workspace API key, returned only once on create. Never repeat it in full."
      +    },
      +    "api_key_prefix": {
      +      "description": "First characters of the workspace key, for display."
      +    },
      +    "created_at": {
      +      "description": "ISO-8601 time the object was created."
      +    },
      +    "id": {
      +      "description": "Workspace id."
      +    },
      +    "inbox_quota": {
      +      "description": "Most inboxes the workspace may hold."
      +    },
      +    "inboxes_used": {
      +      "description": "Live inboxes in the workspace."
      +    },
      +    "name": {
      +      "description": "Human-readable name."
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, non-destructive and closed-world, so the safety profile is pre-established; the description still adds genuine context: auth is required, the API key is deliberately not returned, and three distinct failure modes are enumerated (404 workspace_not_found for another parent's workspace, 403 permission_denied for a sub-account key, 403 permission_denied for an inbox-scoped key). It does not explain pagination or rate limits, but neither is material for 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the when-to-use clause, then inputs, then returns, then errors - a predictable and scannable shape with no filler prose. The 'Returns {id, name, ...}' sentence restates the output schema verbatim, which is redundant given a structured output schema exists, but it is a single line.

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?

For a one-parameter read tool this covers everything an agent needs: trigger condition, required input, ownership scoping, the non-obvious omission of the API key, and the exact error codes for the three realistic failure paths. Nothing material is left to guesswork.

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?

Schema coverage is 100% and already documents the ws_… format, so the baseline is 3. The description adds a real semantic constraint beyond the schema: the id must be one 'created by the signed-in parent,' which directly drives the 404 behaviour and tells the agent the parameter is ownership-scoped rather than arbitrary.

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 (retrieve one sub-account), the resource, and its scope: 'one sub-account created by the signed-in parent, including its inbox quota and how many inboxes are in use.' The phrase 'one sub-account' cleanly disambiguates it from the list-style siblings such as cooper_list_workspaces, and the explicit field list tells the agent exactly what comes back.

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?

Explicit when-to-use condition ('when you need one sub-account created by the signed-in parent') plus the ownership constraint that selects it. It does not name an alternative tool for the multi-record case (cooper_list_workspaces), so routing in the other direction is left to inference.

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.