Read curated and arbitrary RSS / Atom / RDF feeds — government & security advisories, health threats, finance/regulatory, science, tech and world news. A registry of vetted, Cloudflare-reachable feeds makes discovery cheap, and the fetcher is CF-robust: it fetches+parses directly, and on a Cloudflare egress block falls back to the rss2json proxy.
Three tools with clear action verbs (list_, fetch_, search_) and reasonable descriptions (60-90 chars). All have input schemas with type definitions and parameter descriptions. However, output schemas are completely undocumented, LLMs cannot plan downstream calls or extract structured data. Parameter descriptions lack format constraints, ranges, and examples. No error handling guidance. Missing pagination details despite fetch_feed returning 'up to 50 items'. No tool annotations (readOnlyHint, etc.). Naming is solid but schema documentation is a critical gap.
Fetch and parse a single feed by ID or URL, returning up to 50 items
List all available feeds in the registry with their metadata
Search feed titles and descriptions by keyword
Output schemas completely undocumented. LLMs cannot determine what fields to expect from list_feeds, fetch_feed, or search_feeds responses. This breaks downstream planning and forces agents to guess at response structure.
fetch_feed parameter 'limit' lacks range constraints. Description says 'default 50, max 50' but no minimum specified. Should declare: 'Integer, 1 - 50 (default 50)' to prevent LLM from passing invalid values.
list_feeds 'category' parameter description lists valid values as prose ('security, health, finance...') instead of an enum constraint. LLMs cannot reliably parse prose enums and may hallucinate invalid categories.
No pagination support documented. fetch_feed returns 'up to 50 items' but no offset/cursor parameter or total_count in response. Large feeds will be truncated with no way to retrieve remaining items.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
No error handling guidance. If a feed URL is unreachable, malformed, or returns invalid XML, the tool provides no recovery hints. LLMs cannot determine whether to retry, try a different feed, or ask the user.