mcp_rss
If you are the rightful owner of mcp_rss and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MCP RSS is a Model Context Protocol server designed for interacting with RSS feeds, providing features such as parsing OPML files, fetching and updating articles, and exposing content through an MCP API.
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
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