这是一个用TypeScript构建的Model Context Protocol (MCP)服务器。它提供了一个多功能工具来获取并解析任何标准的RSS/Atom订阅源,并且特别支持RSSHub订阅源。通过这个服务器,语言模型或其他MCP客户端可以轻松地从各种网络来源中检索结构化内容。
该服务器内置了一张公共RSSHub实例列表,并支持轮询机制以自动选择可用实例,显著提高了数据检索的成功率和稳定性。
get_feed的工具,通过MCP获取任何RSSHub支持的订阅源,支持多实例。rsshub://协议格式。PRIORITY_RSSHUB_INSTANCE设置首选的RSSHub实例。首先克隆项目仓库,然后安装所需的依赖项。
git clone https://github.com/veithly/rss-mcp.git
cd rss-mcp
npm install
在运行之前,需要将TypeScript代码编译成JavaScript:
npm run build
构建成功后,启动MCP服务器:
npm start
服务器将通过Stdio与父进程(例如Cursor)进行通信。
你可以创建一个.env文件来指定优先的RSSHub实例。这对于拥有私有稳定实例的用户非常有用。
在项目根目录下创建一个.env文件,并添加以下内容:
PRIORITY_RSSHUB_INSTANCE=https://my-rsshub.example.com
服务器将在启动时自动加载此配置,并将其置于轮询列表的顶部。
要将此服务器与MCP客户端(如Cursor)一起使用,你需要将其添加到你的配置文件中。
npx(推荐)此包已发布到npm,因此你可以使用npx运行服务器而无需本地安装。这是最简单的方法。
直接调用:
你可以在终端中直接使用npx运行服务器:
npx rss-mcp
MCP客户端配置:
要与MCP客户端(如Cursor)集成,请在配置文件(例如~/.cursor/mcp_settings.json)中添加以下内容:
{
"name": "rss",
"command": ["npx", "rss-mcp"],
"type": "stdio"
}
如果你已经将仓库克隆到了本地,可以直接使用node运行它。
按照“安装”和“使用方法”部分所述克隆并构建项目。
定位你的MCP配置文件。
添加以下服务器条目,确保使用编译后的index.js文件的绝对路径:
{
"name": "rss",
"command": ["node", "/path/to/your/rss-mcp/dist/index.js"],
"type": "stdio"
}
重要:将/path/to/your/rss-mcp/dist/index.js替换为你系统上的正确绝对路径。
添加配置后,重启你的MCP客户端(如Cursor),使更改生效。rss服务器将可用,你可以调用get_feed工具。
get_feed从给定的URL获取并解析RSS订阅源。它支持标准的RSS/Atom订阅源和RSSHub订阅源。
url(字符串,必需):要获取的RSS订阅源的URL。支持两种格式:
https://rsshub.app/bilibili/user/dynamic/208259rsshub://协议:rsshub://bilibili/user/dynamic/208259(服务器将自动匹配可用实例)count(数字,可选):要检索的RSS订阅源项目的数量。
10返回一个包含订阅源信息的JSON字符串,具有以下结构:
{
"title": "bilibili 用户动态",
"link": "https://space.bilibili.com/208259",
"description": "bilibili 用户动态",
"items": [
{
"title": "[动态标题]",
"description": "动态的纯文本内容...",
"link": "https://t.bilibili.com/1234567890",
"guid": "https://t.bilibili.com/1234567890",
"pubDate": "2024-05-20T12:30:00.000Z",
"author": "作者姓名",
"category": ["类别1", "类别2"]
}
]
}
.env文件加载环境变量。本项目采用Apache-2.0许可证。