RSS Feed Manager
About
Enables AI to access and manage RSS feed content by parsing OPML files, fetching articles, and filtering content from subscribed sources
Details
- Author
- buhe
- Repository
- buhe/mcp_rss
- GitHub stars
- 4
- Downloads
- 760
- License
- MIT License
- Categories
- AI, Design, Developer Tools, File Management, Infrastructure, API, Frontend, Other
Jump to
- Parse OPML files to import RSS feed subscriptions
- Automatically fetch and update articles from RSS feeds
- Expose RSS content through MCP API
- Mark articles as favorites
- Filter articles by source and status
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
RSS Feed ManagerCommand (node, npx, python, etc.)npxArguments-
Argument 1
mcp_rss
Environment-
DB_HOST
localhost -
DB_PORT
3306 -
DB_DATABASE
mcp_rss -
DB_PASSWORD
123456 -
DB_USERNAME
root -
OPML_FILE_PATH
/PATH/YOUR_FEED_FILE.opml -
RSS_UPDATE_INTERVAL
1
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Set the following environment variables to configure MCP RSS:
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
This MCP uses stdio for communication. Fill in `` npx mcp_rss `` in the command, fill in the configuration that needs to be customized in the environment variable, and at least use your own opml file.
Use in claude desktop
{
"command": "npx",
"args": [
"mcp_rss"
],
"env": {
"OPML_FILE_PATH": "/PATH/YOUR_FEED_FILE.opml"
}
}
| Option | Description | Default Value |
|--------|-------------|--------------|
| DB_HOST | Database host | localhost |
| DB_PORT | Database port | 3306 |
| DB_USERNAME | Database username | root |
| DB_PASSWORD | Database password | 123456 |
| DB_DATABASE | Database name | mcp_rss |
| OPML_FILE_PATH | Path to your OPML file with RSS feeds | "./feeds.opml" |
| RSS_UPDATE_INTERVAL | Interval to fetch RSS updates (in minutes) | 1 |
get_content
Get articles from subscribed RSS feeds. Parameters: status (optional string), source (optional string), limit (optional number, default: 10)
get_sources
Get all available RSS feed sources. Parameters: None
set_tag
Set the status of an article (normal or favorite). Parameters: status (string, required), articleId (number, required)
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"rss feed manager": {
"env": {
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_DATABASE": "mcp_rss",
"DB_PASSWORD": "123456",
"DB_USERNAME": "root",
"OPML_FILE_PATH": "/PATH/YOUR_FEED_FILE.opml",
"RSS_UPDATE_INTERVAL": "1"
},
"args": [
"mcp_rss"
],
"command": "npx"
}
}
}
Linux
{
"env": {
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_DATABASE": "mcp_rss",
"DB_PASSWORD": "123456",
"DB_USERNAME": "root",
"OPML_FILE_PATH": "/PATH/YOUR_FEED_FILE.opml",
"RSS_UPDATE_INTERVAL": "1"
},
"args": [
"mcp_rss"
],
"command": "npx"
}
Macos
{
"env": {
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_DATABASE": "mcp_rss",
"DB_PASSWORD": "123456",
"DB_USERNAME": "root",
"OPML_FILE_PATH": "/PATH/YOUR_FEED_FILE.opml",
"RSS_UPDATE_INTERVAL": "1"
},
"args": [
"mcp_rss"
],
"command": "npx"
}
Windows
{
"env": {
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_DATABASE": "mcp_rss",
"DB_PASSWORD": "123456",
"DB_USERNAME": "root",
"OPML_FILE_PATH": "/PATH/YOUR_FEED_FILE.opml",
"RSS_UPDATE_INTERVAL": "1"
},
"args": [
"/c",
"npx",
"mcp_rss"
],
"command": "cmd"
}
MCP RSS
MCP RSS is a Model Context Protocol (MCP) server for interacting with RSS feeds.
Features
- Parse OPML files to import RSS feed subscriptions
- Automatically fetch and update articles from RSS feeds
- Expose RSS content through MCP API
- Mark articles as favorites
- Filter articles by source and status
Installation
Prerequisites
- Node.js (v14 or higher)
- MySQL database
Setup MySQL
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
Install MCP
This MCP uses stdio for communication. Fill in `` npx mcp_rss `` in the command, fill in the configuration that needs to be customized in the environment variable, and at least use your own opml file.
Use in claude desktop
{
"command": "npx",
"args": [
"mcp_rss"
],
"env": {
"OPML_FILE_PATH": "/PATH/YOUR_FEED_FILE.opml"
}
}
Configuration
Set the following environment variables to configure MCP RSS:
Configuration Options
| Option | Description | Default Value |
|--------|-------------|--------------|
| DB_HOST | Database host | localhost |
| DB_PORT | Database port | 3306 |
| DB_USERNAME | Database username | root |
| DB_PASSWORD | Database password | 123456 |
| DB_DATABASE | Database name | mcp_rss |
| OPML_FILE_PATH | Path to your OPML file with RSS feeds | "./feeds.opml" |
| RSS_UPDATE_INTERVAL | Interval to fetch RSS updates (in minutes) | 1 |
MCP API Reference
The MCP RSS server exposes the following API methods:
get_content
Get articles from subscribed RSS feeds.
Parameters:
| Parameter | Type | Description | Required |
|-----------|------|-------------|---------|
| status | string | Filter by article status ("normal" or "favorite") | No |
| source | string | Filter by source (feed title) | No |
| limit | number | Maximum number of articles to return | No (default: 10) |
Response:
{
"articles": [
{
"id": 1,
"title": "Article Title",
"content": "Article content...",
"link": "https://example.com/article",
"pubDate": "2023-01-01T12:00:00Z",
"fetchDate": "2023-01-01T12:30:00Z",
"status": "normal",
"feedTitle": "Example Feed",
"feedCategory": "Technology"
}
],
"success": true
}
get_sources
Get all available RSS feed sources.
Parameters: None
Response:
{
"sources": [
{
"id": 1,
"title": "Example Feed",
"category": "Technology"
}
],
"success": true
}
set_tag
Set the status of an article (normal or favorite).
Parameters:
| Parameter | Type | Description | Required |
|-----------|------|-------------|---------|
| status | string | Article status ("normal" or "favorite") | Yes |
| articleId | number | ID of the article to update | Yes |
Response:
{
"success": true,
"message": "Article 1 status has been updated to favorite"
}
License
MIT
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





