rss-mcp-lite
v1.0.0
Published
Lightweight MCP server for RSS feeds using SQLite
Readme
RSS MCP Lite
RSS MCP Lite is a lightweight Model Context Protocol (MCP) server for RSS feeds using SQLite for local data storage.
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)
Install MCP
This MCP uses stdio for communication. Fill in npx rss-mcp-lite 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": [
"rss-mcp-lite"
],
"env": {
"OPML_FILE_PATH": "/PATH/YOUR_FEED_FILE.opml",
"DB_PATH": "/PATH/TO/DATABASE/rss_mcp_lite.db"
}
}
Configuration
Set the following environment variables to configure RSS MCP Lite:
Configuration Options
| Option | Description | Default Value | |--------|-------------|--------------| | DB_PATH | SQLite database file path | "./rss_mcp_lite.db" | | 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 RSS MCP Lite 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
