项目简介
MCP RSS 是一个基于 Model Context Protocol (MCP) 标准构建的应用后端,专注于集成和访问 RSS 订阅源的内容。它能够解析 OPML 文件来管理你的 RSS 订阅列表,定期自动抓取最新文章,并通过 MCP 协议将这些内容以标准化的“工具”形式暴露给支持 MCP 的 LLM 客户端。这使得 LLM 能够方便地获取、筛选和管理你的个性化 RSS 信息流。
主要功能点
- 订阅管理: 通过导入标准的 OPML 文件来轻松导入和管理你的 RSS 订阅源列表。
- 自动更新: 定期自动从订阅的 RSS 源抓取最新发布的文章,保持内容的新鲜度。
- 内容获取: LLM 客户端可以通过调用特定的“工具”来获取抓取到的文章列表,支持按状态(如已读、收藏)、来源进行过滤,并可限制返回数量。
- 源列表获取: LLM 客户端可以获取所有已订阅的 RSS 订阅源列表,方便了解可用的信息来源。
- 文章标记: 支持 LLM 客户端通过调用“工具”来修改文章的状态,例如标记为“已收藏”或“普通状态”。
安装步骤
- 安装 Node.js: 确保你的系统安装了 Node.js (推荐 v14 或更高版本)。
- 安装 MySQL 数据库: 需要一个可用的 MySQL 数据库实例来存储订阅源和文章数据。你可以使用 Docker 快速启动一个测试用的 MySQL 容器:
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql - 准备 OPML 文件: 准备一个包含你 RSS 订阅列表的 OPML 文件。
- 运行服务器: MCP RSS 服务器通常通过 'npx mcp_rss' 命令启动。它需要通过环境变量配置数据库连接信息和 OPML 文件路径。
服务器配置
MCP 服务器需要配置在 MCP 客户端中,以便客户端知道如何启动和连接它。典型的配置是一个 JSON 对象,包含服务器的启动命令、参数和环境变量。以下是 MCP RSS 服务器在 MCP 客户端中的配置示例及其说明:
{ "key": "rss", "command": "npx", "args": [ "mcp_rss" ], "env": { "OPML_FILE_PATH": "/path/to/your/feeds.opml", "DB_HOST": "localhost", "DB_PORT": "3306", "DB_USERNAME": "root", "DB_PASSWORD": "123456", "DB_DATABASE": "mcp_rss", "RSS_UPDATE_INTERVAL": "1" // 自动更新间隔,单位:分钟 } }
- 'key': 在客户端中标识此 MCP 服务器的唯一键。
- 'command': 用于启动 MCP 服务器进程的命令。对于 'mcp_rss',通常是 'npx'。
- 'args': 传递给 'command' 的参数。这里是 '"mcp_rss"'。
- 'env': 一个对象,包含启动 MCP 服务器进程时需要的环境变量。
- 'OPML_FILE_PATH': 必需,指定你的 OPML 文件在服务器运行环境中的绝对或相对路径。
- 'DB_HOST': MySQL 数据库的主机地址。
- 'DB_PORT': MySQL 数据库的端口。
- 'DB_USERNAME': MySQL 数据库的用户名。
- 'DB_PASSWORD': MySQL 数据库的密码。
- 'DB_DATABASE': MCP RSS 使用的数据库名称。服务器会尝试创建这个数据库如果不存在。
- 'RSS_UPDATE_INTERVAL': 设置服务器自动抓取 RSS 更新的间隔时间(以分钟为单位)。
请根据你的实际数据库连接信息和 OPML 文件路径修改 'env' 部分的配置。
基本使用方法
一旦 MCP RSS 服务器按照上述配置在 MCP 客户端中成功启动并运行,您的 LLM 就可以通过 MCP 协议与服务器交互,利用其提供的功能:
- 获取订阅源列表: LLM 可以调用服务器暴露的“获取订阅源”工具,获取你所有订阅的 RSS 源的列表。
- 获取文章内容: LLM 可以调用“获取内容”工具,传入参数(如状态、来源、数量)来获取最新的或特定条件的文章列表。
- 管理文章状态: LLM 可以调用“设置标记”工具,传入文章ID和新的状态(如“favorite”表示收藏,“normal”表示普通)来更新文章状态。
这些操作使得 LLM 能够成为一个智能的 RSS 内容助手,帮你筛选、阅读和管理海量信息。
信息
分类
网页与API