RSS MCP服务器
](https://www.npmjs.com/package/rss-mcp)
这是一个使用TypeScript构建的模型上下文协议(MCP)服务器。它提供了一个通用的工具来获取和解析任何标准的RSS/Atom提要,还包括对以下内容的特殊支持 RSSHub 喂养。使用此服务器,语言模型或其他MCP客户端可以轻松地从各种web源检索结构化内容。
该服务器内置了公共RSSHub实例列表,并支持轮询机制自动选择可用实例,显著提高了数据检索的成功率和稳定性。
✨ 特性
- 通用提要解析:从给定的URL获取并解析任何标准RSS/Atom提要。
- 增强的RSSHub支持:提供名为的工具
get_feed通过MCP获取任何支持RSSHub的提要,并支持多实例。 - 可定制的项目计数:指定要检索的提要项的数量,并支持获取所有项。
- 多实例支持:包括公共RSSHub实例列表,并自动轮询以查找可用服务。
- 智能URL解析:支持标准RSSHub URL和简化的
rsshub://协议格式。 - 优先级实例配置:允许通过以下方式设置首选RSSHub实例
PRIORITY_RSSHUB_INSTANCE环境变量。 - 稳健的错误处理:如果对一个实例的请求失败,它会自动尝试下一个实例,直到成功或所有实例都失败。
- 内容物清理:使用Cheerio清理提要内容并提取纯文本描述。
- 标准化输出:将获取的RSS提要转换为结构化JSON格式。
📦 安装
首先,克隆项目存储库,然后安装所需的依赖项。
git clone https://github.com/veithly/rss-mcp.git
cd rss-mcp
npm install🚀 用法
1.建设项目
在运行之前,您需要将TypeScript代码编译成JavaScript:
npm run build2.运行服务器
成功构建后,启动MCP服务器:
npm start然后,服务器将通过Stdio与父进程(例如Cursor)通信。
3.配置优先级实例(可选)
您可以创建 .env 文件以指定优先级RSSHub实例。这对于拥有私有、稳定实例的用户非常有用。
创建 .env 在项目根目录中创建文件,并添加以下内容:
PRIORITY_RSSHUB_INSTANCE=https://my-rsshub.example.com服务器将在启动时自动加载此配置,并将其放置在轮询列表的顶部。
🔧 MCP服务器配置
要将此服务器与Cursor等MCP客户端一起使用,您需要将其添加到配置文件中。
方法1:使用 npx (推荐)
这个包发布在npm上,所以你可以使用 npx 无需本地安装即可运行服务器。这是最简单的方法。
- 直接调用:
您可以使用以下命令直接从终端运行服务器 npx:
npx rss-mcp- MCP客户端配置:
要与Cursor等MCP客户端集成,请将以下内容添加到您的配置文件中(例如。, ~/.cursor/mcp_settings.json):
{
"name": "rss",
"command": ["npx", "rss-mcp"],
"type": "stdio"
}方法2:本地安装
如果您已在本地克隆了存储库,则可以直接使用以下命令运行它 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客户端 (例如光标)使更改生效。这 rss 服务器将可用,您可以调用 get_feed 工具。
🛠️ 工具定义
get_feed
从给定的URL获取并解析RSS提要。它支持标准RSS/Atom提要和RSSHub提要。
输入参数
url(string,必填):要获取的RSS提要的URL。支持两种格式:
1. 标准URL: https://rsshub.app/bilibili/user/dynamic/208259 1. rsshub:// 协议: rsshub://bilibili/user/dynamic/208259 (服务器将自动匹配可用实例)
count(number,可选):要检索的RSS提要项的数量。
- 默认: 1 - 检索全部: 0
输出
返回一个包含提要信息的JSON字符串,其结构如下:
{
"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"]
}
]
}📜 主要依赖关系
- @模型上下文协议/sdk:用于构建MCP服务器。
- 轴:用于发出HTTP请求。
- rss解析器:用于解析RSS/Atom提要。
- 再见:用于解析和操纵HTML内容。
- 日期fns tz:用于处理与时区相关的日期格式。
- Dotenv。:用于从加载环境变量
.env文件。
📄 许可证
此项目根据Apache-2.0许可证获得许可。
