Business Feeds MCP. Business — industry/trade news, economics, real estate and marketing. CF-robust RSS / Atom / RDF reader over a curated, edge-verified registry; on a Cloudflare egress block it falls back to the rss2json proxy.
Three tools with clear verb-noun naming (list_feeds, read_feed, fetch_feed) and reasonable descriptions (120-180 chars). All tools have input schemas with type definitions and required fields properly marked. However, parameter descriptions lack actionable constraints (no enums for category, no min/max for limit), and output schemas are completely undocumented. Error handling is absent from visible code. The server follows basic tool structure but lacks production-grade polish around validation, error guidance, and response documentation.
Fetch and normalize any RSS / Atom / RDF feed by URL. CF-robust: fetches directly and falls back to a proxy if the source blocks the gateway. Use list_feeds first for curated sources.
List the curated business & industry feeds (id, title, category, source). Optionally filter by category (business, economics, marketing, real-estate) or keyword. Pass an id to read_feed.
Read a curated business & industry feed by its id (from list_feeds). Returns normalized items (title, link, published, summary). Optionally filter items by keyword.
No output schema documentation. LLMs cannot plan downstream operations or extract fields without knowing response structure (title, link, published, summary mentioned in description but not formalized).
Parameter 'category' in list_feeds lacks enum constraint. Description says 'business, economics, marketing, real-estate' but no formal enum, LLMs may hallucinate invalid values.
Parameter 'limit' (1-50, default 20) lacks min/max schema constraints. Range stated only in description text, which LLMs cannot reliably parse from natural language.
No error handling visible in callTool implementation. Unknown feed IDs throw generic errors; no recovery guidance (e.g., 'Use list_feeds to see valid ids' is in description but not in error response).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Transport mechanism unknown from provided code. No visible HTTP server setup, SSE handlers, or STDIO initialization, cannot assess protocol readiness without seeing server bootstrap.