项目简介

MCP RSS 是一个基于 Model Context Protocol (MCP) 标准构建的应用后端,专注于集成和访问 RSS 订阅源的内容。它能够解析 OPML 文件来管理你的 RSS 订阅列表,定期自动抓取最新文章,并通过 MCP 协议将这些内容以标准化的“工具”形式暴露给支持 MCP 的 LLM 客户端。这使得 LLM 能够方便地获取、筛选和管理你的个性化 RSS 信息流。

主要功能点

  • 订阅管理: 通过导入标准的 OPML 文件来轻松导入和管理你的 RSS 订阅源列表。
  • 自动更新: 定期自动从订阅的 RSS 源抓取最新发布的文章,保持内容的新鲜度。
  • 内容获取: LLM 客户端可以通过调用特定的“工具”来获取抓取到的文章列表,支持按状态(如已读、收藏)、来源进行过滤,并可限制返回数量。
  • 源列表获取: LLM 客户端可以获取所有已订阅的 RSS 订阅源列表,方便了解可用的信息来源。
  • 文章标记: 支持 LLM 客户端通过调用“工具”来修改文章的状态,例如标记为“已收藏”或“普通状态”。

安装步骤

  1. 安装 Node.js: 确保你的系统安装了 Node.js (推荐 v14 或更高版本)。
  2. 安装 MySQL 数据库: 需要一个可用的 MySQL 数据库实例来存储订阅源和文章数据。你可以使用 Docker 快速启动一个测试用的 MySQL 容器:
    docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
  3. 准备 OPML 文件: 准备一个包含你 RSS 订阅列表的 OPML 文件。
  4. 运行服务器: 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 协议与服务器交互,利用其提供的功能:

  1. 获取订阅源列表: LLM 可以调用服务器暴露的“获取订阅源”工具,获取你所有订阅的 RSS 源的列表。
  2. 获取文章内容: LLM 可以调用“获取内容”工具,传入参数(如状态、来源、数量)来获取最新的或特定条件的文章列表。
  3. 管理文章状态: LLM 可以调用“设置标记”工具,传入文章ID和新的状态(如“favorite”表示收藏,“normal”表示普通)来更新文章状态。

这些操作使得 LLM 能够成为一个智能的 RSS 内容助手,帮你筛选、阅读和管理海量信息。

信息

分类

网页与API