Skip to main content
Glama

Substack MCP Server and API by Cotlet

List subscribers

list_subscribers
Read-onlyIdempotent

Subscribers with plan, start date and activity rating. Lists subscribers, newest first, from the subscriber dashboard. Activity rating is the 0 to 5 score Substack shows there. Pages hold up to 500 rows; pass next_cursor back as cursor. The plan and since filters apply inside each page, so a filtered page can be short or empty while next_cursor still points further. Someone added a minute ago may not show yet: Substack fills the table in the background. paid includes founding members.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_subscribers"
  }
}

Input Schema

NameRequiredDescriptionDefault
planNoall, free, paid, comp or founding. Default: all.
limitNo1 to 500. Default: 100.
sinceNoOnly subscribers who joined on or after this date.
cursorNoNext page cursor from the previous call.

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?

Goes well beyond the readOnly/idempotent annotations: discloses 500-row page size, the subtle pagination-plus-filter interaction, background table population causing recently-added subscribers to be missing, and that paid includes founding members. These are exactly the behaviors an agent would otherwise get wrong.

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-loads the resource and return fields, then behavior and caveats; nearly every sentence carries information. The opening 'Subscribers with plan, start date and activity rating.' is a fragment that reads as a field list and slightly hurts flow, but nothing is padding.

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?

With no output schema, the description correctly compensates by listing the returned fields, and it covers pagination mechanics, filter semantics, and eventual-consistency lag. An agent has everything needed to call this correctly and interpret short or empty pages.

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% so the baseline is 3, and the description earns above that by clarifying semantics the schema doesn't: cursor is the previous page's next_cursor, and plan/since scope inside a page rather than across the result set. The enum detail ('paid includes founding members') also adds meaning beyond the enum list.

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?

Names a specific verb and resource ('Lists subscribers, newest first, from the subscriber dashboard') and enumerates the returned fields (plan, start date, activity rating). It is clear about scope, but never explicitly contrasts itself with siblings like export_subscribers, add_subscriber, or list_subscriptions, so an agent must infer the boundary.

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 concrete operating instructions: pass next_cursor back as cursor, filters apply within each page so filtered pages can be short or empty. It does not name an alternative tool or state when-not-to-use (e.g. bulk export), 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.