Simple RSS reader server
npm install @iflow-mcp/rss-reader-serverA TypeScript-based MCP server that provides RSS feed reading capabilities for fetching and parsing RSS/Atom feeds from URLs.
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.
get_items - Fetch RSS feed items from a given URLInstall dependencies:
``bash`
npm install
Build the server:
`bash`
npm run build
For development with auto-rebuild:
`bash`
npm run watch
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%/Claude/claude_desktop_config.json
On Windows:
`json`
{
"mcpServers": {
"rss-reader-server": {
"command": "node",
"args": ["/path/to/rss-reader-server/build/index.js"]
}
}
}
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)
- @modelcontextprotocol/sdk: MCP protocol implementation
- rss-parser: RSS/Atom feed parsing
- axios: HTTP client for fetching feeds
- zod: Runtime type validation
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
`bash``
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
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.