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.
$ 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:
{
"key": "rss",
"command": "npx",
"args": [
"mcp_rss"
],
"env": {
"OPML_FILE_PATH": "/Users/guyanhua/feeds.opml"
}
}
Set the following environment variables to configure MCP RSS:
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 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 all available RSS feed sources.
Parameters: None
Response:
{
"sources": [
{
"id": 1,
"title": "Example Feed",
"category": "Technology"
}
],
"success": true
}
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"
}
MIT