rss-reader-server
If you are the rightful owner of rss-reader-server 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.
A TypeScript-based MCP server that provides RSS feed reading capabilities for fetching and parsing RSS/Atom feeds from URLs.
RSS Reader MCP Server
A TypeScript-based MCP server that provides RSS feed reading capabilities for fetching and parsing RSS/Atom feeds from URLs.
Overview
This MCP server implements RSS feed reading functionality by providing tools to fetch, parse, and extract structured data from RSS and Atom feeds. It uses the rss-parser
library for robust feed parsing and axios
for HTTP requests with proper error handling and timeouts.
Features
Tools
get_items
- Fetch RSS feed items from a given URL- Input: RSS feed URL (required)
- Output: Structured JSON containing feed metadata and items
- Capabilities:
- Fetches RSS/Atom feeds with 10-second timeout
- Parses standard RSS fields (title, link, description, pubDate, author, etc.)
- Extracts custom fields (media content, thumbnails, encoded content)
- Handles categories and enclosures
- Provides comprehensive error handling for network and parsing issues
Supported Feed Formats
- RSS 2.0
- RSS 1.0 (RDF)
- Atom feeds
- Custom fields including:
- Media content and thumbnails
- Dublin Core creator fields
- Content-encoded fields
Error Handling
- URL validation
- Network timeout handling (10 seconds)
- HTTP error status handling
- RSS parsing error handling
- Comprehensive error messages for debugging
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Installation
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"rss-reader-server": {
"command": "node",
"args": ["/path/to/rss-reader-server/build/index.js"]
}
}
}
Usage Example
Once connected, you can use the get_items
tool to fetch RSS feed items:
Tool: get_items
Input: { "url": "https://example.com/feed.xml" }
The server will return a structured JSON response containing:
- Feed URL
- Total item count
- Array of feed items with:
- Title, link, description
- Publication date and author
- Categories (if available)
- Enclosure information (for podcasts/media)
Dependencies
- @modelcontextprotocol/sdk: MCP protocol implementation
- rss-parser: RSS/Atom feed parsing
- axios: HTTP client for fetching feeds
- zod: Runtime type validation
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
Error Responses
The server provides detailed error messages for common issues:
- Invalid URL format
- Network connectivity problems
- HTTP errors (404, 500, etc.)
- Request timeouts
- RSS parsing failures
All errors are returned in a structured format with descriptive messages to help with troubleshooting.