项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器实现,旨在为大型语言模型 (LLM) 客户端(如 Claude Desktop)提供访问和聚合您订阅的RSS源内容的能力。它通过标准的 JSON-RPC 协议与客户端通信,将RSS feed的内容转化为LLM可以理解和利用的上下文信息。

主要功能点

  • RSS Feed聚合: 能够从多个RSS源抓取最新的文章内容。
  • 多种配置格式: 支持使用标准的OPML文件或简单的JSON文件来定义您的RSS订阅列表。
  • 按源和类别筛选: 可以根据特定的feed来源或定义的类别来获取文章。
  • 内容格式化: 将抓取到的文章内容进行格式化,使其易于在LLM客户端中阅读和处理。
  • LLM工具集成: 通过暴露一个名为 'rss' 的工具,允许LLM客户端直接调用服务器功能。

安装步骤

在您的计算机上安装和运行此MCP服务器需要Node.js环境。

  1. 克隆或下载代码库: 获取项目的源代码。

  2. 进入项目目录: 使用命令行工具进入到您下载的项目文件夹中。

  3. 安装依赖: 在项目目录下运行命令安装所需的依赖库。

  4. 构建项目: 运行构建命令,生成可执行文件。

服务器配置(为MCP客户端配置)

此MCP服务器设计为由兼容的MCP客户端(如 Claude Desktop)自动启动和管理。您需要编辑MCP客户端的配置文件来告知它如何启动此服务器。

找到您的MCP客户端(例如 Claude Desktop)的配置文件。通常位于:

  • macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%\Claude\claude_desktop_config.json'
  • Linux: '~/.config/Claude/claude_desktop_config.json'

如果文件不存在,请创建它。编辑该文件,找到或创建一个名为 '"mcpServers"' 的JSON对象。在该对象下,添加一个用于配置RSS聚合器的部分,例如命名为 '"rssAggregator"'。

这个 '"rssAggregator"' 对象需要包含以下关键信息:

  • '"command"': 启动服务器的可执行文件。在此项目中,通常是 '"node"'。
  • '"args"': 启动服务器时传递给 '"command"' 的参数列表。这个列表应包含构建后服务器主文件的绝对路径。例如,如果您的项目安装在 '/Users/username/mcp-rss-aggregator',则参数应为 '["/Users/username/mcp-rss-aggregator/build/index.js"]'。请务必使用项目所在路径的绝对路径
  • '"feedsPath"' (可选): 您的OPML或JSON feed配置文件的绝对路径。如果不指定,服务器将使用项目自带的示例feed文件。

将这些信息添加到 '"mcpServers"' 对象中。如果您已有其他MCP服务器配置,请将此部分添加到现有配置旁边。

配置完成后,保存文件并重启您的MCP客户端应用程序。客户端将根据配置自动启动RSS聚合器MCP服务器。

基本使用方法

一旦MCP客户端启动并连接到RSS聚合器服务器,您就可以在客户端的界面中通过调用名为 'rss' 的工具来与服务器交互。

您可以输入类似命令行的指令,LLM客户端会将其转化为对 'rss' 工具的调用。

  • 获取最新文章: 'rss latest'
  • 获取指定数量的最新文章: 'rss latest --20'
  • 列出所有已配置的RSS Feed: 'rss list'
  • 获取某个特定feed的最新文章: 'rss --[feed-id]' (feed-id 可以通过 'rss list' 查看,例如 'rss --hackernews')
  • 获取某个分类的最新文章: 'rss [分类名称]' (例如 'rss "Tech News"')
  • 设置新的feeds文件路径: 'rss set-feeds-path --[您的文件绝对路径]'

您也可以尝试使用自然语言提问,LLM客户端通常能够理解您的意图并自动调用 'rss' 工具执行相应的命令。

Feed 配置

服务器支持OPML和JSON两种格式来定义您的订阅列表。您可以编辑项目目录下的示例文件或替换为自己的文件。在MCP客户端配置中,使用 '"feedsPath"' 参数指定您要使用的feeds文件的绝对路径。

信息

分类

AI与计算