✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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

{
  "key": "rss",
  "command": "npx",
  "args": [
    "mcp_rss"
  ],
  "env": {
    "OPML_FILE_PATH": "/Users/guyanhua/feeds.opml"
  }
}

Configuration

Set the following environment variables to configure MCP RSS:

Configuration Options

OptionDescriptionDefault Value
DB_HOSTDatabase hostlocalhost
DB_PORTDatabase port3306
DB_USERNAMEDatabase usernameroot
DB_PASSWORDDatabase password123456
DB_DATABASEDatabase namemcp_rss
OPML_FILE_PATHPath to your OPML file with RSS feeds“./feeds.opml”
RSS_UPDATE_INTERVALInterval 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:

ParameterTypeDescriptionRequired
statusstringFilter by article status (“normal” or “favorite”)No
sourcestringFilter by source (feed title)No
limitnumberMaximum number of articles to returnNo (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:

ParameterTypeDescriptionRequired
statusstringArticle status (“normal” or “favorite”)Yes
articleIdnumberID of the article to updateYes

Response:

{
  "success": true,
  "message": "Article 1 status has been updated to favorite"
}

License

MIT

Featured Templates

View More

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.