Skip to main content
Glama
tecspda

listmonk-mcp-ts

list_subscribers

Read-only

Retrieve subscribers newest first with pagination, total count, names, emails, status, and list names. Filter results with a SQL query to target specific subscribers.

Instructions

List subscribers, newest first, one page at a time. Returns the total subscriber count and each subscriber's name, email, status and list names. Use query to filter with a SQL expression; use get_subscriber_by_email when you already know the address.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, starting at 1
queryNoOptional SQL condition on the subscribers table, e.g. subscribers.name LIKE '%john%' or subscribers.status = 'blocklisted'. Omit to list everyone
per_pageNoSubscribers per page

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.1.1
    • changedInput schema / properties / page / description
      Previous value: -"Page number"New value: +"Page number, starting at 1"
    • changedInput schema / properties / per_page / description
      Previous value: -"Items per page"New value: +"Subscribers per page"
    • changedInput schema / properties / query / description
      Previous value: -"Optional query string"New value: +"Optional SQL condition on the subscribers table, e.g. subscribers.name LIKE '%john%' or subscribers.status = 'blocklisted'. Omit to list everyone"
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

With readOnlyHint already declaring safety, the description adds real value beyond annotations: results are ordered newest first, returned one page at a time, and include the total subscriber count plus specific fields per record. It omits default page size behavior and what an empty result looks like, but the core operational picture is there.

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?

Three tight sentences: what it returns, how results are ordered/paged, then how to filter and which sibling to prefer instead. Nothing is padded and the most important facts come first.

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?

No output schema exists, so describing the return payload (total count, name, email, status, list names) is exactly the right compensation, and pagination is covered. The remaining gap is the unresolved overlap with get_list_subscribers_tool, which an agent would still have to guess about.

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% and the descriptions already explain `page`, `per_page`, and give concrete SQL examples for `query`. The description's note about using `query` to filter largely restates the schema rather than adding syntax or constraints, so the baseline of 3 applies.

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?

States a specific verb and resource (list subscribers) plus ordering and pagination behavior, which an agent can act on. It does not, however, distinguish itself from the very similarly named sibling get_list_subscribers_tool, leaving one obvious ambiguity unresolved.

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 routing: use `query` for SQL filtering, and use get_subscriber_by_email when the address is already known. It stops short of mentioning get_subscriber_by_id or get_list_subscribers_tool, so the full alternative set is not covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.