RSS Feed Manager

by buhe

4 stars
760 downloads
Not rated
GitHub

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

- 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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name RSS Feed Manager
    Command (node, npx, python, etc.) npx
    Arguments
    • 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.

  4. 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"
}

MseeP.ai Security Assessment Badge

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.