RSS MCP Server

RSS MCP Server

Enables language models to fetch and parse standard RSS/Atom feeds and RSSHub content, with multi-instance support to improve retrieval success rates.

Category
Visit Server

Tools

get_feed

Get RSS feed from any URL, including RSSHub feeds.

README

RSS MCP Server

This is a Model Context Protocol (MCP) server built with TypeScript. It provides a versatile tool to fetch and parse any standard RSS/Atom feed, and also includes special support for RSSHub feeds. With this server, language models or other MCP clients can easily retrieve structured content from various web sources.

The server comes with a built-in list of public RSSHub instances and supports a polling mechanism to automatically select an available instance, significantly improving the success rate and stability of data retrieval.

✨ Features

  • Universal Feed Parsing: Fetch and parse any standard RSS/Atom feed from a given URL.
  • Enhanced RSSHub Support: Provides a tool named get_feed to fetch any RSSHub-supported feed via MCP, with multi-instance support.
  • Multi-instance Support: Includes a list of public RSSHub instances and automatically polls to find an available service.
  • Smart URL Parsing: Supports standard RSSHub URLs and a simplified rsshub:// protocol format.
  • Priority Instance Configuration: Allows setting a preferred RSSHub instance via the PRIORITY_RSSHUB_INSTANCE environment variable.
  • Robust Error Handling: If a request to one instance fails, it automatically tries the next one until it succeeds or all instances have failed.
  • Content Cleaning: Uses Cheerio to clean the feed content and extract plain text descriptions.
  • Standardized Output: Converts the fetched RSS feed into a structured JSON format.

📦 Installation

First, clone the project repository, then install the required dependencies.

git clone <your-repo-url>
cd rss-mcp
npm install

🚀 Usage

1. Build the Project

Before running, you need to compile the TypeScript code into JavaScript:

npm run build

2. Run the Server

After a successful build, start the MCP server:

npm start

The server will then communicate with the parent process (e.g., Cursor) via Stdio.

3. Configure a Priority Instance (Optional)

You can create a .env file to specify a priority RSSHub instance. This is very useful for users who have a private, stable instance.

Create a .env file in the project root directory and add the following content:

PRIORITY_RSSHUB_INSTANCE=https://my-rsshub.example.com

The server will automatically load this configuration on startup and place it at the top of the polling list.

🔧 MCP Server Configuration

To use this server with an MCP client like Cursor, you need to add it to your configuration file.

Method 1: Using npx (Recommended)

If the package is published to npm, you can use npx to run the server without a local installation. This is the easiest method.

  1. Locate your MCP configuration file. (e.g., ~/.cursor/mcp_settings.json)

  2. Add the following server entry:

    {
      "name": "rss",
      "command": ["npx", "rss-mcp"],
      "type": "stdio"
    }
    

Method 2: Local Installation

If you have cloned the repository locally, you can run it directly with node.

  1. Clone and build the project as described in the "Installation" and "Usage" sections.

  2. Locate your MCP configuration file.

  3. Add the following server entry, making sure to use the absolute path to the compiled index.js file:

    {
      "name": "rss",
      "command": ["node", "/path/to/your/rss-mcp/dist/index.js"],
      "type": "stdio"
    }
    

    Important: Replace /path/to/your/rss-mcp/dist/index.js with the correct absolute path on your system.

After adding the configuration, restart your MCP client (e.g., Cursor) for the changes to take effect. The rss server will then be available, and you can call the get_feed tool.

🛠️ Tool Definition

get_feed

Fetches and parses an RSS feed from a given URL. It supports both standard RSS/Atom feeds and RSSHub feeds.

Input Parameters

  • url (string, required): The URL of the RSS feed to fetch. Two formats are supported:
    1. Standard URL: https://rsshub.app/bilibili/user/dynamic/208259
    2. rsshub:// protocol: rsshub://bilibili/user/dynamic/208259 (the server will automatically match an available instance)

Output

Returns a JSON string containing the feed information, with the following structure:

{
  "title": "bilibili User Dynamics",
  "link": "https://space.bilibili.com/208259",
  "description": "bilibili User Dynamics",
  "items": [
    {
      "title": "[Dynamic Title]",
      "description": "Plain text content of the dynamic...",
      "link": "https://t.bilibili.com/1234567890",
      "guid": "https://t.bilibili.com/1234567890",
      "pubDate": "2024-05-20T12:30:00.000Z",
      "author": "Author Name",
      "category": ["Category1", "Category2"]
    }
  ]
}

📜 Main Dependencies

📄 License

This project is licensed under the Apache-2.0 License.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured