Skip to main content
Glama

list_stories

Read-onlyIdempotent

List the signed-in account’s scored news Stories, filtered by minimum relevance and industry and sorted by relevance or recency. Returns a readable summary per Story (ID, title, source, URL, relevance as a percentage, summary) and structuredContent { count, stories } where each Story has id, title, summary, source_name, url, relevance_score (0 to 1), detected_at, urgency, status and metadata. Use it to find what is worth writing about today, then pass a Story id to get_story for the full record or to generate_post to write a Jack from it. Only Stories NewsJack has already scanned into this account are returned; it does not fetch feeds or search the web. Read-only, no allowance used. Needs the read:stories scope; anonymous callers get an authentication error. An empty result means nothing matched, so lower min_relevance or drop category.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of Stories to return. Integer from 1 to 50, default 10. Example: 20.
sort_byNoSort order: 'relevance' (highest relevance_score first, the default) or 'recency' (newest detected_at first).relevance
categoryNoOptional industry filter: the exact industry slug the Story was scanned for, one of music, tech, marketing, live-touring, sync-licensing, radio-podcast. Example: 'live-touring'. Any other value matches nothing. Omit to include every industry the account follows.
min_relevanceNoLowest relevance_score to include, from 0 to 1 (default 0.4). The text output shows the same score as a percentage, so 0.7 means 70%. Use 0 to see everything.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / category / description
      Previous value: -"Optional topic filter, e.g. 'streaming', 'touring', 'ai', 'copyright'."New value: +"Optional industry filter: the exact industry slug the Story was scanned for, one of music, tech, marketing, live-touring, sync-licensing, radio-podcast. Example: 'live-touring'. Any other value matches nothing. Omit to include every industry the account follows."
    • changedInput schema / properties / limit / description
      Previous value: -"Maximum number of stories to return (1-50, default 10)."New value: +"Maximum number of Stories to return. Integer from 1 to 50, default 10. Example: 20."
    • changedInput schema / properties / min_relevance / description
      Previous value: -"Minimum relevance score threshold between 0.0 and 1.0 (default 0.4)."New value: +"Lowest relevance_score to include, from 0 to 1 (default 0.4). The text output shows the same score as a percentage, so 0.7 means 70%. Use 0 to see everything."
    • changedInput schema / properties / sort_by / description
      Previous value: -"Sort order: 'relevance' (best matches first) or 'recency' (newest first)."New value: +"Sort order: 'relevance' (highest relevance_score first, the default) or 'recency' (newest detected_at first)."
  2. First observed

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description still adds meaningful non-schema behavior: the read:stories scope requirement, the authentication error for anonymous callers, that no allowance is consumed, and that only previously scanned Stories in this account are returned. That added context is real value but it sits on top of annotations that already do most of the work, so it lands at a solid 3 rather than higher. Missing are rate limits or limits on how stale scanned Stories can be.

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 core action, followed by return shape, next-step routing, and constraints, so nothing important is buried. It is dense and long-winded in places (a full enumeration of structuredContent fields inside one sentence), which costs it the top mark, but each sentence carries operational information rather than filler.

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?

With no output schema, the description compensates well by spelling out both the readable summary fields and the structuredContent shape, plus count semantics and score scaling. Auth scope, closed-world behavior and the zero-result interpretation are all covered, leaving only minor gaps such as pagination or Story freshness.

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 ranges, defaults and the industry slug enum; the baseline of 3 applies. The description contributes only lightly beyond that, mainly the operational note that an empty result should be handled by lowering min_relevance or dropping category, and the relevance-vs-recency sort distinction stated in prose.

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 precise verb and resource (list the signed-in account's scored news Stories) plus the filtering and sorting axes, and explicitly routes to get_story and generate_post as the next steps. An agent can distinguish it from every sibling in the list without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete when-to-use ('find what is worth writing about today, then pass a Story id to get_story or generate_post') and an explicit when-not ('it does not fetch feeds or search the web'). It even prescribes a recovery action for the empty-result case (lower min_relevance or drop category).

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