feed-reader-mcp
# feed-reader-mcp
An [MCP](https://modelcontextprotocol.io) server that fetches and reads **RSS / Atom feeds**, so any MCP client (Claude Desktop, Claude Code, etc.) can pull the latest items from blogs, news sites, and release feeds — and build digests.
## Why
LLM clients can't reliably read RSS on their own. This server exposes two simple tools so an agent can stay current with the feeds you care about (release notes, news, blogs) without scraping.
## Tools
| Tool | What it does |
|------|--------------|
| `fetch_feed` | Fetch one RSS/Atom feed → recent items (title, link, date, snippet). |
| `fetch_many` | Fetch several feeds → one merged, date-sorted list (a digest). |
## Install
```bash
npm install -g feed-reader-mcp
```
## Use with Claude Desktop / Claude Code
Add to your MCP config (`claude_desktop_config.json` or `.mcp.json`):
```json
{
"mcpServers": {
"feed-reader": {
"command": "npx",
"args": ["-y", "feed-reader-mcp"]
}
}
}
```
Then ask: *"Use feed-reader to get the latest 5 items from https://hnrss.org/frontpage"* or *"Build a digest from these three feeds…"*.
## Develop
```bash
npm install
npm run build
npm start # runs over stdio
```
## License
MIT © tono628develop
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: fetch_feed retrieves a single feed, while fetch_many fetches multiple feeds and merges them. There is no ambiguity about which tool to use based on the input.
Both tools follow the verb_noun pattern with 'fetch' as the verb. While 'many' is not a traditional noun, the prefix 'fetch_' is consistent and the second part clearly indicates the number of feeds, making the naming predictable.
With only two tools, the server feels minimal. For a feed reader, one might expect additional operations like adding, listing, or removing feeds, but as a simple fetching utility, the count is borderline acceptable.
The tools cover the core functionality of fetching a single feed and fetching multiple feeds for a digest. Minor gaps include no ability to fetch feed metadata or manage subscriptions, but for the stated purpose of parsing and returning items, it is largely complete.