rss_read
Read an RSS or Atom feed as JSON items. (cost: 1 credit)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | string, required | |
| limit | No | number 1-100 |
Read an RSS or Atom feed as JSON items. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | string, required | |
| limit | No | number 1-100 |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full behavioral burden and it does deliver two concrete facts: the output is JSON items and each call costs 1 credit. It says nothing about permissions, rate limits, or what happens when the URL is not a valid feed, so the disclosure is partial rather than thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, purpose front-loaded, with the credit cost appended as a parenthetical rather than buried. Nothing in it is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with no output schema, the description is broadly adequate, but it omits useful edge-case context such as whether it only accepts direct feed URLs, what happens with HTML pages containing feed links, or how results are ordered. The credit cost is the main operational detail it does cover.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the descriptions are degenerate ("string, required" and "number 1-100"), and the description adds no meaning about what url accepts or how limit affects results. Per the high-coverage baseline, a 3 is the correct ceiling here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Read an RSS or Atom feed as JSON items" gives a specific verb (read) and resource (RSS/Atom feed) plus the output shape, which is far clearer than the sibling names hacker_news or news_search imply. It stops short of explicitly distinguishing itself from those siblings (e.g., that this requires a known feed URL while news_search discovers articles).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no when-to-use guidance and never mentions the sibling tools. An agent has to infer on its own that rss_read is for a known feed URL versus news_search for topic discovery, so selection between them is left entirely to guesswork.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.