Skip to main content
Glama

List Emails

emails_list
Read-only

Lists an app's email templates: email_id, name, status (active/inactive), subject, preview_text, open/click/conversion rates, and timestamps. Never includes design JSON or rendered HTML. Edit those in the Meridian dashboard. Takes the app_id returned by apps_list. Optional status, search (name/subject), and limit (default 20, maximum 100). Newest first, one page per call: while next_cursor is not null, call again with it as cursor and the same status and search to read the next page. A null next_cursor means there are no more emails.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "app_id": "<app_id>"
    },
    "name": "emails_list"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of emails to return. Default 20, maximum 100.
app_idYesThe app uuid returned by `apps_list`.
cursorNoThe `next_cursor` of the previous call, passed back unchanged with the same filters. Omit it for the first page.
searchNoCase-insensitive substring match on name or subject.
statusNoFilter by status: `active` or `inactive`.
organization_idNoAn organisation uuid or slug. When supplied, `app_id` is resolved within that organisation and may be a slug instead of a uuid, mirroring the Meridian web app.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare this a safe read (readOnlyHint=true, destructiveHint=false), so the bar is low, yet the description adds genuinely new behavior: fields deliberately omitted from the response, newest-first ordering, one page per call, the exact cursor loop termination condition, and the default/maximum page size. These are the details an agent would otherwise discover only by trial.

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?

Return shape comes first, then exclusions, then parameters, then the pagination rule — a well-ordered front-load. Every sentence carries information (field list, exclusion, input dependency, filters, paging rule) and there is no filler or repetition beyond a brief limit restatement.

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?

There is no output schema, so the description must supply the return contract, and it does: the field set, the ordering, the absence of design JSON/HTML, and the next_cursor lifecycle. Combined with fully documented parameters, an agent can invoke and page through this tool without further discovery.

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%, so the schema already documents every parameter, including cursor, search, and limit; the description mostly restates those rather than extending them. The one added nuance is the constraint that status and search must stay identical across cursor pages, but organization_id is never mentioned in the description at all. Baseline 3 is appropriate when the schema carries the semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ("Lists an app's email templates") and then enumerates exactly the returned fields plus an explicit exclusion ("Never includes design JSON or rendered HTML"). That is far more precise than the title alone. It stops short of a 5 because it never contrasts itself with the plausible alternatives in the catalog (emails_variables_list, app_get), leaving that discrimination to the agent.

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 clear conditions for use: read email template metadata here, edit design/HTML in the Meridian dashboard, and supply the app_id from `apps_list`. The pagination loop is spelled out as a concrete protocol (call again with next_cursor while non-null, keeping status and search fixed). No sibling tool is named as an alternative, so it is clear context without exclusions between tools.

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