Skip to main content
Glama
FeedKeeper RSS/Atom reader and remote MCP Server

FeedKeeper RSS/Atom reader and remote MCP Server

Extract full web article text

fetch_full_text

Downloads and extracts clean full article text from the publisher when a feed provides only an excerpt, caching it on the server and returning cached content unless a forced refresh is requested.

Instructions

Downloads and extracts the clean, full-length article text from the original publisher website via Readability, permanently caching it on the server and returning it. Use this tool ONLY when get_item indicates that the feed provided only an excerpt or teaser. If full text is already cached, it returns cached content unless force=true is passed.

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": {
      "itemId": "<itemId>"
    },
    "name": "fetch_full_text"
  }
}

Input Schema

NameRequiredDescriptionDefault
forceNoWhen true, forces re-downloading and re-extracting from the web even if already cached
itemIdYesThe numeric ID of the article whose full web content should be extracted

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.36.4
    • changedInput schema / properties / force / description
      Previous value: -"Fetch again even when a cached full text exists"New value: +"When true, forces re-downloading and re-extracting from the web even if already cached"
    • addedInput schema / properties / itemId / description
      Added value: +"The numeric ID of the article whose full web content should be extracted"
  2. First observedv0.36.3

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are supplied, so the description carries the full disclosure burden, and it does well: it reveals a persistent side effect (permanently caching on the server), the cache-hit short-circuit, and the force override that bypasses it. It omits failure modes and constraints, such as paywalls, extraction failures, or network/time limits, which matter for a tool that reaches out to third-party sites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with zero waste: the action is stated first, the usage gate second, and the caching caveat last. Nothing is repeated and nothing is buried.

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?

For a 2-parameter tool with no output schema, the description covers the action, the trigger condition, the caching behavior, and the force override. It leaves out what happens on extraction failure or when the publisher blocks access, which is a real gap for a network-dependent tool, but it does not make the definition unusable.

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?

With schema coverage at 100%, the schema already documents both itemId and force, including force's re-download semantics. The description restates the cache-versus-force interaction in operational terms but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

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?

The description names a specific verb (downloads and extracts) and a specific resource (clean, full-length article text from the original publisher via Readability), and it distinguishes itself from the sibling get_item by framing itself as the follow-up step for excerpt-only items.

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?

It states an explicit, exclusive when-to-use condition: 'ONLY when get_item indicates that the feed provided only an excerpt or teaser', and it names the sibling tool that triggers it. It also explains the repeat-call behavior (cached unless force=true), so an agent knows when a second call is warranted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.