Skip to main content
Glama
 ____  ____ ____    _   _                     __  __  ____ ____  
|  _ \/ ___/ ___|  | \ | | _____      _____  |  \/  |/ ___|  _ \ 
| |_) \___ \___ \  |  \| |/ _ \ \ /\ / / __| | |\/| | |   | |_) |
|  _ < ___) |__) | | |\  |  __/\ V  V /\__ \ | |  | | |___|  __/ 
|_| \_\____/____/  |_| \_|\___| \_/\_/ |___/ |_|  |_|\____|_|    
                                                                

lang-中文 npm-@max1ab/rss-news

Cut through noise and clickbait. With one npx command, your AI can connect to and process first-hand news sources.

Install MCP

npm package install:

npm i -g @max1ab/rss-news

Add this server to your MCP config:

{
  "mcpServers": {
    "rss-news": {
      "command": "rss-news"
    }
  }
}

Examples

You can directly say things like this to an AI that supports MCP:

  1. Help me review the past 24 hours of news, summarize the important items, and organize the summary into Notion.

  2. Help me check unread news, pick the most important items, and send a message to my phone.

  3. Help me follow the latest OpenAI news. If I am not subscribed yet, add suitable subscriptions first.

  4. Help me search for some AI-related RSS sources, preview the content quality, and subscribe to the good ones.

  5. Help me count how many unread news items appeared in the past 24 hours, grouped by source.

Features

  • Manage subscriptions

  • Sync the latest news

  • Fetch unread news

  • Consume news

  • Count news

  • Reset state

Seed example subscriptions from example-subscriptions.json when a new database is created

Related MCP server: MCP RSS

Advanced Setup

Environment Variables

  • RSS_MCP_DB_PATH: SQLite path (default: %APPDATA%/rss-news/rss.sqlite on Windows, ~/.local/share/rss-news/rss.sqlite on other platforms)

  • RSS_MCP_REQUEST_TIMEOUT_MS: fetch timeout in milliseconds (default: 15000)

  • RSS_MCP_DEFAULT_FETCH_LIMIT: default global fetch limit (default: 20)

  • RSS_MCP_MAX_FEEDS_PER_REQUEST: max feed count for each call (default: 50)

  • RSS_MCP_USER_AGENT: custom request User-Agent

  • RSS_MCP_DEBUG: set 1 or true to enable debug logs

  • RSS_MCP_DEBUG_PREVIEW_LENGTH: preview length of response body for debug (default: 300)

Local Development

npm install
npm run build
npm start

Development:

npm run dev

Run tests:

npm test

Current Tools

  • Database file is created lazily on first repository usage if it does not exist.

  • subscriptions: stores subscribed feeds plus fetch metadata

  • entries: stores fetched entries (feed_url + entry_uid is unique)

  • deliveries: stores which entries have already been consumed

Available MCP tools:

  • list_subscriptions

  • upsert_subscriptions

  • remove_subscriptions

  • preview_feed Preview one or more feed URLs before subscribing, to confirm they can be fetched and the content is suitable.

  • sync_news

  • fetch_news

  • consume_news

  • count_news

  • set_consumption_status

Available Tools

9 tools
consume_newsC

Read the latest news and mark unread items as consumed.

Inputs: limit, category, feedUrls, sinceMinutes, +1 more.

count_newsC

Count recent news items across subscribed feeds.

Inputs: pastHours (required), category, feedUrls, includeConsumed.

fetch_newsA

Read the latest news from local storage without changing read state. Unsubscribed feedUrls are not allowed.

Inputs: limit, category, feedUrls, sinceMinutes, +1 more.

list_subscriptionsA

List subscribed RSS feeds and their current sync metadata.

Inputs: category.

preview_feedA

Preview one or more feed URLs without subscribing, for example to verify fetchability and content before subscribing. Known RSSHub instance URLs are normalized to rsshub://.... For example, RSSHub routes can be discovered at https://docs.rsshub.app/routes/.

Inputs: feedUrls (required), limit.

remove_subscriptionsA

Remove RSS subscriptions, with optional purge of stored entries and read state. RSSHub subscriptions must be removed using their stored rsshub://... feedUrl.

Inputs: feedUrls (required), mode.

set_consumption_statusC

Set consumed or unconsumed status for stored news within a UTC date range.

Inputs: status (required), endDate (required), startDate (required), category, +1 more.

sync_newsC

Fetch subscribed RSS feeds and update stored entries.

Inputs: feedUrls.

upsert_subscriptionsA

Create or update RSS subscriptions and return canonical feedUrls. Known RSSHub instance URLs are stored as rsshub://....

Inputs: items (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 9 tools

    Disambiguation4/5

    Each tool targets a distinct action: subscription management, previewing, syncing, reading, consuming, counting, and updating read state are clearly separated. The only slight overlap is between fetch_news and consume_news, but the read-state difference is explicitly described, so confusion is unlikely.

    Naming Consistency5/5

    Tool names consistently follow a verb_noun pattern: list_subscriptions, upsert_subscriptions, remove_subscriptions, preview_feed, sync_news, fetch_news, consume_news, count_news, set_consumption_status. The naming is uniform, predictable, and easy to navigate.

    Tool Count5/5

    Nine tools is well within the ideal range for an RSS news server. Each tool covers a distinct part of the subscription-to-consumption workflow without redundancy or unnecessary bloat.

    Completeness4/5

    The toolset covers the full lifecycle: subscription management, previewing, syncing, reading, consuming, counting, and modifying consumption status. Minor gaps exist around per-item granularity, such as individual entry retrieval or single-item read-state updates, but the date-range-based status tool covers most practical needs.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with RSS readers that support the FreshRSS API through natural language. Allows users to manage and query their RSS feeds and articles via LLM conversations.
      7
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables intelligent RSS feed management with AI-powered semantic search, advanced filtering, and a comprehensive reading workflow. Supports OPML parsing, article organization with status tracking, and token-efficient browsing of large feed collections.
      19 npm
      5
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to discover, fetch, and manage RSS feeds from 1500+ websites via RSSHub, with subscription groups and content filtering.
      3
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to fetch categorized news headlines and full article text from a multi-topic RSS aggregator, with no API keys required.
      4 npm
      ISC