Skip to main content
Glama

honest-rss-mcp

Local MCP server for RSS and Atom feeds. Universal, no cloud middle.

Part of the honest-mcp family of small, auditable, local-first MCP servers.

Why

Every AI assistant should be able to read a feed. RSS is the last honest content protocol on the open web — no login, no algorithm, no tracker. This server hands feed data to your AI in the same shape as any other structured tool, so you can ask questions like "what did HN's frontpage look like this morning?" without scraping.

Related MCP server: ttrss-mcp

Features

Three tools:

  • fetch_feed — feed metadata + the first N entries in feed order (not re-sorted; most feeds list newest first, but that isn't guaranteed)

  • search_entries — feed entries filtered by keyword in title/summary

  • list_feed_metadata — quick dashboard view over up to 20 feeds at once (no full entry payload)

Handles RSS 1.0, RSS 2.0, and Atom — whatever feedparser handles. Network fetches use a 15-second socket timeout (for connecting and for each read), so a feed server that stops responding returns an error instead of hanging the tool.

Requirements

  • Python 3.10+

Setup

git clone https://github.com/bartosz-kuc/honest-rss-mcp.git
cd honest-rss-mcp
python3 -m venv venv
./venv/bin/pip install -r requirements.txt

On Windows use python instead of python3, and venv\Scripts\pip / venv\Scripts\python instead of the venv/bin/... paths shown here and in the configs below.

Register with Claude Code:

claude mcp add rss /absolute/path/to/venv/bin/python /absolute/path/to/server.py

Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "rss": {
      "command": "/absolute/path/to/venv/bin/python",
      "args": ["/absolute/path/to/server.py"]
    }
  }
}

Example usage

"What's on Hacker News right now?"

fetch_feed(url="https://news.ycombinator.com/rss", limit=10)

"Anything about Copilot on the GitHub blog?"

search_entries(url="https://github.blog/feed/", query="Copilot")

"Give me a summary line for each of these five feeds."

list_feed_metadata(urls=["...", "...", ...])

Only http:// and https:// feed URLs are accepted — local file paths and file:// URLs are rejected, so the server never reads files from your disk.

Data flow

Your AI client
     ↕  MCP stdio
This server (Python, on your machine)
     ↕  HTTPS
Feed URL

Nothing else. No aggregator server, no analytics.

Author

Bartosz Kuć — Warsaw-based developer, JDG owner running skanfirmy.pl.

Consulting

Available for consulting on Polish tax and business integrations (KSeF, GUS/NFZ/GIOŚ APIs, mBank data), MCP server design, and AI-assisted tooling for JDGs and small teams. See skanfirmy.pl/uslugi for productized packages (audit 3k PLN, setup 8-15k PLN, retainer 2-4k PLN/mo), or reach out via email.

License

MIT — see LICENSE.

Available Tools

3 tools
fetch_feedA

Fetch and parse an RSS or Atom feed. Returns feed metadata (title, subtitle, language) and a list of entries (title, link, published date, author, summary, tags). Use limit to cap how many entries you get back — feeds can be huge. Works with any publicly-accessible feed URL.

Inputs: url (required), limit.

list_feed_metadataA

Fetch metadata for one or more feeds without loading all entries — title, subtitle, entry count, last update time. Useful for building a dashboard of feeds you follow.

Inputs: urls (required).

search_entriesA

Fetch a feed and return only entries whose title or summary contain a keyword (case-insensitive). Useful when you want the AI to check a feed for specific topics without wading through everything.

Inputs: url (required), query (required), limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 3 tools

    Disambiguation4/5

    The three tools have distinct primary outputs—full feed entries, filtered search results, and metadata-only—so agents can usually tell them apart. There is minor overlap because fetch_feed also returns metadata, but the descriptions are clear enough to prevent confusion.

    Naming Consistency5/5

    All tools follow a consistent verb_noun snake_case pattern: fetch_feed, search_entries, list_feed_metadata. The verbs accurately reflect each tool's behavior.

    Tool Count5/5

    Three tools is well-scoped for a read-only RSS/Atom utility. Each tool covers a distinct need: full retrieval, keyword search, and lightweight metadata lookup.

    Completeness5/5

    For the domain of public feed retrieval, the surface is complete: fetching entries, searching by keyword, and listing metadata are all covered. There are no obvious dead ends or missing core operations.

    Maintenance

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      An MCP server that enables AI assistants to manage Tiny Tiny RSS feeds, including reading articles, updating statuses, and searching content. It also provides tools for feed management and generating automated daily reports.
      15
      6 npm
      3
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      An MCP server for managing and querying RSS/news feeds, enabling real-time fetching, searching, and retrieval of feed items.
      5
      21 npm
      1
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Secure MCP server for RSS/Atom feed reading with SQLite backend. Enables feed management, entry search, and OPML import/export.
      17
      AGPL 3.0