MCP Feed Synthesis Utility
An MCP utility designed for structured data extraction from syndicated content streams, mirroring concepts found in text mining, which focuses on deriving valuable insights from unstructured textual records.
Author
imprvhub
Quick Info
Actions
Tags
Introduction
This utility functions as a Model Context Protocol (MCP) server, enabling the Claude Desktop environment to retrieve and process content sourced from various web feeds. This operation aligns conceptually with text data mining (TDM), where unstructured textual sources, like web articles, are processed to extract high-quality, patterned information for analysis. The system transforms incoming XML/HTML feed entries into structured data suitable for contextualization within the larger model framework.
Features
- Enables direct consumption of articles from subscribed RSS feeds within the Claude Desktop application.
- Supports importing subscription lists via the standard OPML format.
- Allows for the logical grouping of distinct content streams using custom categories.
- Facilitates the consolidation of the most recent entries across all monitored feeds.
- Provides mechanisms to filter content based on the originating feed identifier or its assigned category.
- Renders retrieved article data in a clear format, showing titles, brief previews, and direct source links.
Related Topics
- Text Data Mining (TDM): The process of deriving meaningful patterns from written resources.
- Information Extraction: Automatically identifying and extracting structured data from unstructured text.
- Syndication: The process of distributing published content (like news feeds) to subscribers.
- Natural Language Processing (NLP): Algorithms used to process and analyze human language text.
Installation
Installing Manually
To set up the utility locally, begin by obtaining the repository files. Navigate into the newly cloned directory structure subsequently. Then, install the necessary package dependencies required for execution. Finally, build the project assets prior to running the server component.
- Clone or download this repository:
git clone https://github.com/imprvhub/mcp-rss-aggregator
cd mcp-rss-aggregator
- Install dependencies:
npm install
- Build the project:
npm run build
Feed Configuration
The mechanism for defining the content sources accepts both the industry-standard OPML and a custom JSON structure.
Using OPML (Recommended)
OPML, or Outline Processor Markup Language, is frequently employed by reading applications to export and import collections of feed subscriptions. The distribution includes a default OPML file located at public/sample-feeds.opml for immediate use. Users possess three options: utilize this default configuration without modification, adjust the contents to include personal selections, or replace it entirely with an export generated from an existing reader application.
Using JSON
Alternatively, feed endpoints can be declared within a JSON structure following the established schema. This allows for explicit specification of titles, primary feed URLs, associated HTML URLs, and content categorization.
[
{
"title": "Hacker News",
"url": "https://news.ycombinator.com/rss",
"htmlUrl": "https://news.ycombinator.com/",
"category": "Tech News"
},
{
"title": "TechCrunch",
"url": "https://techcrunch.com/feed/",
"htmlUrl": "https://techcrunch.com/",
"category": "Tech News"
}
]
Running the MCP Server
Operation of the MCP server can be managed through two distinct methods.
Option 1: Running manually
Initiating the server requires invoking the script directly from a terminal session. This session must remain active while Claude Desktop requires access to the feed data.
- Open a terminal or command prompt
- Navigate to the project directory
- Run the server directly:
node build/index.js
Keep this terminal window open while using Claude Desktop. The server will run until you close the terminal.
Option 2: Auto-starting with Claude Desktop (recommended for regular use)
Claude Desktop possesses the capability to initiate this MCP server automatically upon demand. Configuration for this auto-start feature involves modifying the local settings file.
Configuration
The specific location for the Claude Desktop configuration file varies based on the operating system environment in use.
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Add the RSS Aggregator MCP setup details into this file. If the configuration file does not yet exist, you must create it first.
{
"mcpServers": {
"rssAggregator": {
"command": "node",
"args": ["ABSOLUTE_PATH_TO_DIRECTORY/mcp-rss-aggregator/build/index.js"],
"feedsPath": "ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opml"
}
}
}
Important Notes:
- Substitute ABSOLUTE_PATH_TO_DIRECTORY with the full, verifiable filesystem path where the MCP utility resides.
- macOS/Linux example: /Users/username/mcp-rss-aggregator
- Windows example: C:\Users\username\mcp-rss-aggregator
- Replace ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opml with the precise location of your feed definition file (OPML or JSON).
- If this parameter is omitted, the utility defaults to using the included sample feed definitions.
If other MCP services are already integrated, introduce the rssAggregator configuration block within the existing mcpServers object.
{
"mcpServers": {
"otherMcp1": {
"command": "...",
"args": ["..."]
},
"rssAggregator": {
"command": "node",
"args": [
"ABSOLUTE_PATH_TO_DIRECTORY/mcp-rss-aggregator/build/index.js"
],
"feedsPath": "ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opml"
}
}
}
The MCP server automatically initiates when Claude Desktop requires access to syndicated content, relying on the defined settings in claude_desktop_config.json.
Usage
- After altering the configuration settings, ensure Claude Desktop is restarted to recognize the changes.
- Within the Claude interface, utilize the specialized
rsscommand to initiate interaction with the Aggregator MCP Server. - The MCP server operates as a background process managed directly by the host Claude Desktop application.
Available Commands
The RSS Aggregator MCP exposes a primary tool named rss, which accepts several distinct sub-commands for data retrieval and utility functions.
| Command | Description | Parameters | Example |
|---|---|---|---|
latest |
Retrieves the most current articles spanning all configured feeds | Optional quantity specification (--N) | rss latest --20 |
top or best |
Identifies and displays top-ranked articles across all active subscriptions | Optional quantity specification (--N) | rss top --15 |
list |
Outputs a complete catalog of all currently registered feed sources | None | rss list |
--[feed-id] |
Fetches articles exclusively from one designated feed source | Optional quantity specification (--N) | rss --hackernews --10 |
[category] |
Retrieves content filtered only by a specific content grouping | Optional quantity specification (--N) | rss "Tech News" --20 |
set-feeds-path --[path] |
Dynamically updates the path pointing to the active OPML or JSON definition file | Path reference | rss set-feeds-path --/path/to/feeds.opml |
Example Usage
These illustrations demonstrate varied methods for invoking the RSS Aggregator through Claude interactions:
Direct Commands:
rss latest
rss top --20
rss list
rss "Tech News"
rss --hackernews
rss --techcrunch --15
Natural Language Queries:
Claude is capable of interpreting user intent and translating natural speech into the correct underlying MCP commands:
- "What are the latest news on Hacker News?"
- "Show me the top tech articles today"
- "Fetch the latest articles from my programming feeds"
- "List all my RSS feeds"
Extended Usage Examples
Daily News Briefing
Execute this command to compile a summary briefing from all your configured content sources:
rss latest --25
This command retrieves the twenty-five most recent published items across every defined feed, providing a swift overview of unfolding events.
Exploring Top Content
Use this to identify the most significant or highly discussed articles across your subscriptions:
rss top --20
Category-Based Reading
Focus your data extraction efforts on specialized subject areas for deeper review:
rss "Tech News" --30
rss "Politics" --15
rss "Science" --10
Source-Specific Updates
Directly query updates from particular publications you monitor regularly:
rss --hackernews --20
rss --nytimes
rss --techcrunch --15
Discover Your Available Feeds
Determine exactly which content streams are currently loaded and accessible:
rss list
Combining Multiple Requests
It is possible to chain sequential commands to construct a comprehensive data view for subsequent analysis:
rss "Tech News" --10
rss "Finance" --10
rss top --5
Practical Workflows
-
Morning Routine:
rss top --10 rss "News" --5 -
Industry Research:
rss "Industry News" --15 rss --bloomberg --5 -
Tech Updates:
rss --hackernews --10 rss --techcrunch --5
Working with Claude
Following data retrieval, Claude can be directed to perform summary or comparative analysis on the extracted material:
-
After running:
rss latest --10Ask: "Can you summarize these articles?" -
After running:
rss "Tech News" --15Ask: "What are the key trends in these tech articles?" -
After running:
rss --nytimes --washingtonpost --10Ask: "Compare how these sources cover current events"
Troubleshooting
"Server disconnected" error
If the notification "MCP RSS Aggregator: Server disconnected" appears within Claude Desktop, perform these checks:
- Verify the server is running:
- Launch a terminal instance and execute
node build/index.jsfrom the root project directory. -
If the server initiates correctly, maintain this terminal window open throughout your Claude Desktop usage session.
-
Check your configuration:
- Confirm that the absolute path specified in
claude_desktop_config.jsonis precisely correct for your operating system. - For Windows system paths, ensure the use of double backslashes (
\\). - Validate that the full path starting from the filesystem root is employed.
Tools not appearing in Claude
If the RSS Aggregator tools fail to manifest within the Claude interface: - You must restart Claude Desktop following any modifications to the configuration file. - Examine the logs generated by Claude Desktop for any reported MCP communication failures. - Manually run the server executable to confirm the process starts and remains active.
Feeds not loading
If the system reports issues loading content from your defined feeds:
- Validate that the structure of your input OPML or JSON file conforms to the expected schema.
- Verify the accuracy of the feedsPath parameter within your configuration settings.
- Test the server execution manually using a verified, functional feeds file.
Extra Details
While this implementation focuses on feed retrieval, the underlying principle of structuring textual data for automated analysis remains central. Text mining often involves crucial preliminary steps like tokenization, parsing, and linguistic feature derivation before patterns can be effectively learned statistically. The successful extraction of 'high quality' information—defined by relevance, novelty, and interest—is the ultimate goal, achieved here by channeling structured article metadata into the Claude context window for higher-level language model interpretation.
Conclusion
This MCP utility successfully bridges the gap between distributed web content streams and the local analytical capabilities of Claude Desktop. By automating the structured acquisition of textual records from RSS feeds, it supports rapid review and synthesis, effectively serving as an efficient mechanism for ongoing information discovery and data extraction relevant to immediate operational needs.
