Skip to main content
Glama

substack_category

Read-only

Browse one page of a Substack category's publication leaderboard. Each row carries the publication's subscriber signals and its full subscription offering: web plans with multi-currency pricing, separately priced App Store plans, and per-tier benefits. category_id comes from substack_categories. type must be paid or free; any other value is rejected rather than silently returning the default ranking. Upstream serves 25 publications per page and accepts pages 0-26, so at most 675 publications are reachable per category and type.

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": {
      "category_id": "<category_id>"
    },
    "name": "substack_category"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNoZero-based page. Upstream accepts 0-26 inclusive; 25 publications per page.
typeNoRanking to read: paid or free. Defaults to paid.
category_idYesRequired category id from /substack/categories whose in_category_listing is true. Numeric, or the string id podcast.

Output Schema

NameRequiredDescriptionDefault
dataYesThe tool result payload (shape varies per tool; see each tool's docs resource).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint. The description goes well beyond that, disclosing pagination limits (25 per page, pages 0-26, 675 max) and, critically, that invalid type values are rejected instead of falling back to the default ranking. It also sketches the row payload (subscriber signals, multi-currency web plans, App Store plans, per-tier benefits).

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 purpose, then parameter constraints, then pagination limits; every sentence carries distinct information. It is dense and could be trimmed slightly, but no sentence is filler.

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 an output schema present, return values needn't be explained, yet the row content is described anyway. Pagination bounds, the valid type domain, and the category_id source are all covered, leaving nothing an agent needs to call it correctly.

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 baseline is 3, but the description adds the rejection semantics for invalid type as well as confirming category_id provenance, which the schema does not convey.

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 (Browse) and resource (one page of a Substack category's publication leaderboard). The scoping term 'category's publication leaderboard' distinguishes it from sibling list tools like substack_categories and substack_leaderboard. An agent can tell what it fetches without opening the schema.

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?

Explicitly routes category_id acquisition to substack_categories and constrains type to paid/free, giving clear context on prerequisites. It does not explicitly contrast with substack_leaderboard or substack_explore, so the when-to-use-this-vs-alternatives guidance is present but not exhaustive.

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.