buhe_mcp_rss

buhe_mcp_rss

by buhe
A Model Context Protocol (MCP) server for managing and interacting with RSS feeds, including parsing, fetching, and filtering articles.

RSS Feed Integration for Model Context Protocol

Overview

MCP RSS is a Model Context Protocol (MCP) server designed to interact with RSS feeds. It allows users to parse OPML files, fetch and update articles from RSS feeds, and expose the content through an MCP API. The server also supports marking articles as favorites and filtering articles by source and status.

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

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

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

Features & Capabilities

Categories
mcp_server model_context_protocol rss typescript javascript api_integration mysql docker search opml

Implementation Details

Stats

0 Views
2 GitHub Stars

Repository Info

buhe Organization

Similar MCP Servers

continuedev_continue by continuedev
25049
21423
9300