Skip to main content
Glama
imprvhub

mcp-rss-aggregator

by imprvhub

MCP RSS 聚合器

铁匠徽章

特征

  • 直接在 Claude Desktop 中阅读您喜欢的 RSS 源中的文章

  • 支持 OPML 文件导入您现有的订阅源

  • 按类别组织信息流

  • 获取所有动态中的最新文章

  • 按供稿来源或类别过滤文章

  • 格式良好的文章演示,包含标题、摘要和链接

Related MCP server: @kazuph/mcp-pocket

演示

点击任意时间戳即可跳转到视频的相应部分

00:00 - RSS Feed 示例演示:使用代码库中默认的“sample-feeds.opml”文件。本部分展示 Claude 如何通过 MCP(模型上下文协议)处理和呈现来自 TechCrunch、The Verge 和其他科技出版物等来源的新闻内容。

01:05 -配置文件编辑过程:逐步演练访问和修改 claude_desktop_config.json 文件,将 OPML 文件路径引用从默认示例更改为自定义的“my-feeds.opml”文件。

01:15 –应用程序重启程序:说明关闭并重新打开 Claude Desktop 应用程序以正确加载和应用修改后的 OPML 文件配置更改的必要步骤。

01:25 -自定义 RSS Feed 结果:演示实施自定义 OPML 文件后的结果。本节重点介绍现在可通过 Claude Desktop 访问的更丰富、更多样化的新闻来源,包括西班牙语内容。

要求

  • Node.js 16 或更高版本

  • 克劳德桌面

  • 互联网连接以访问 RSS 源

安装

手动安装

  1. 克隆或下载此存储库:

git clone https://github.com/imprvhub/mcp-rss-aggregator
cd mcp-rss-aggregator
  1. 安装依赖项:

npm install
  1. 构建项目:

npm run build

供稿配置

RSS 聚合器支持 OPML 和 JSON 格式的 feed 配置。

使用 OPML(推荐)

OPML(大纲处理器标记语言)是大多数 RSS 阅读器用于导出和导入订阅源的标准格式。

public/sample-feeds.opml文件中包含一个包含热门 Feed 的示例 OPML 文件。您可以:

  1. 按原样使用此文件

  2. 编辑它以添加您自己的提要

  3. 用现有 RSS 阅读器导出的内容替换它

大多数 RSS 阅读器允许您将订阅导出为 OPML 文件。

使用 JSON

或者,您也可以使用以下格式在 JSON 文件中定义您的 feed:

[
  {
    "title": "Hacker News",
    "url": "https://news.ycombinator.com/rss",
    "htmlUrl": "https://news.ycombinator.com/",
    "category": "Tech News"
  },
  {
    "title": "TechCrunch",
    "url": "https://techcrunch.com/feed/",
    "htmlUrl": "https://techcrunch.com/",
    "category": "Tech News"
  }
]

运行 MCP 服务器

运行 MCP 服务器有两种方式:

选项 1:手动运行

  1. 打开终端或命令提示符

  2. 导航到项目目录

  3. 直接运行服务器:

node build/index.js

使用 Claude Desktop 时,请保持此终端窗口打开。服务器将一直运行,直到您关闭终端。

选项 2:使用 Claude Desktop 自动启动(建议定期使用)

Claude Desktop 可以在需要时自动启动 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

编辑此文件以添加 RSS Aggregator MCP 配置。如果该文件不存在,请创建:

{
  "mcpServers": {
    "rssAggregator": {
      "command": "node",
      "args": ["ABSOLUTE_PATH_TO_DIRECTORY/mcp-rss-aggregator/build/index.js"],
      "feedsPath": "ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opml"
    }
  }
}

重要提示:

  • 将ABSOLUTE_PATH_TO_DIRECTORY替换为安装 MCP 的完整绝对路径

    • macOS/Linux 示例: /Users/username/mcp-rss-aggregator

    • Windows 示例: C:\\Users\\username\\mcp-rss-aggregator

  • 将ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opml替换为您的 OPML 或 JSON 文件的路径

    • 如果省略,则将使用示例 feed 文件

如果您已经配置了其他 MCP,只需在“mcpServers”对象中添加“rssAggregator”部分:

{
  "mcpServers": {
    "otherMcp1": {
      "command": "...",
      "args": ["..."]
    },
    "rssAggregator": {
      "command": "node",
      "args": [
        "ABSOLUTE_PATH_TO_DIRECTORY/mcp-rss-aggregator/build/index.js"
      ],
      "feedsPath": "ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opml"
    }
  }
}

根据claude_desktop_config.json文件中的配置,当 Claude Desktop 需要时,MCP 服务器将自动启动。

用法

  1. 修改配置后重启Claude Desktop

  2. 在 Claude 中,使用rss命令与 RSS Aggregator MCP Server 进行交互

  3. MCP 服务器作为 Claude Desktop 管理的子进程运行

可用命令

RSS 聚合器 MCP 提供了一个名为rss的工具,其中包含几个命令:

命令

描述

参数

例子

latest

显示所有源的最新文章

可选限制(--N)

rss latest --20

top或best

显示所有订阅源中的热门文章

可选限制(--N)

rss top --15

list

列出所有可用的 feed

没有任何

rss list

--[feed-id]

显示特定 feed 中的文章

可选限制(--N)

rss --hackernews --10

[category]

显示特定类别的文章

可选限制(--N)

rss "Tech News" --20

set-feeds-path --[path]

设置 OPML/JSON 文件的路径

文件路径

rss set-feeds-path --/path/to/feeds.opml

示例用法

以下是如何使用 Claude 的 RSS 聚合器的各种示例:

直接命令:

rss latest
rss top --20
rss list
rss "Tech News"
rss --hackernews
rss --techcrunch --15

自然语言查询:

您还可以使用自然语言与 MCP 进行交互。Claude 会解析这些请求并使用相应的命令:

  • “Hacker News 上有什么最新消息?”

  • “向我展示今天的热门科技文章”

  • “从我的编程源中获取最新文章”

  • “列出我的所有 RSS 源”

扩展用法示例

每日新闻简报

从所有来源获取新闻简报:

rss latest --25

这将从您的所有订阅源中获取最新的 25 篇文章,让您快速了解最新新闻。

探索热门内容

查找最重要或最受欢迎的文章:

rss top --20

基于类别的阅读

关注特定内容类别:

rss "Tech News" --30
rss "Politics" --15
rss "Science" --10

特定源更新

阅读您关注的特定来源的更新:

rss --hackernews --20
rss --nytimes
rss --techcrunch --15

发现可用的订阅源

找出您已配置的提要:

rss list

合并多个请求

您可以发出多个连续的请求来构建综合视图:

rss "Tech News" --10
rss "Finance" --10
rss top --5

实际工作流程

  1. 早晨例行事务:

    rss top --10
    rss "News" --5
  2. 行业研究:

    rss "Industry News" --15
    rss --bloomberg --5
  3. 技术更新:

    rss --hackernews --10
    rss --techcrunch --5

与克劳德合作

你可以请Claude分析或总结文章:

  1. 运行后: rss latest --10问:“你能总结一下这些文章吗?”

  2. 运行后: rss "Tech News" --15问:“这些科技文章中的关键趋势是什么?”

  3. 运行后: rss --nytimes --washingtonpost --10询问:“比较这些来源如何报道时事”

故障排除

“服务器断开连接”错误

如果您在 Claude Desktop 中看到错误“MCP RSS Aggregator:服务器已断开连接”:

  1. 验证服务器正在运行:

    • 打开终端并从项目目录手动运行node build/index.js

    • 如果服务器启动成功,则使用 Claude 并保持此终端打开

  2. 检查您的配置:

    • 确保claude_desktop_config.json中的绝对路径对于您的系统来说是正确的

    • 仔细检查 Windows 路径是否使用了双反斜杠 ( \\ )

    • 验证您使用的文件系统根目录的完整路径

Claude 中未出现的工具

如果 RSS 聚合器工具没有出现在 Claude 中:

  • 确保配置后重新启动 Claude Desktop

  • 检查 Claude Desktop 日志中是否存在任何 MCP 通信错误

  • 确保 MCP 服务器进程正在运行(手动运行以确认)

无法加载 Feed

如果您的订阅源无法正确加载:

  • 确保您的 OPML/JSON 文件格式正确

  • 检查配置中的feedsPath是否正确

  • 尝试使用已知良好的 feed 文件手动运行服务器

贡献

欢迎为改进 RSS 聚合器做出贡献!您可以通过以下方式做出贡献:

  1. 添加对更多 feed 格式的支持

  2. 改进 feed 解析和错误处理

  3. 为文章添加更多可视化选项

  4. 提高分类和过滤能力

执照

该项目根据 Mozilla 公共许可证 2.0 获得许可 - 有关详细信息,请参阅LICENSE文件。

相关链接

Available Tools

1 tool
rssC

Interfaz principal para Hacker News con comandos simplificados

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesComando a ejecutar (latest, top, best, history, comments)
paramNoParámetro opcional, número precedido por -- (ejemplo: --10, --50)

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It does not indicate whether the tool is read-only, destructive, or any side effects. Only states it is a main interface, which is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, making it concise. However, it is too brief to be effective, lacking key details that would help an agent use the tool correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 params, no output schema), the description should at least mention the output format or behavior. It omits this, leaving the agent without sufficient context to invoke the tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains the parameters. The description adds no meaningful semantic details beyond what the schema provides, resulting in a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the resource (Hacker News) and mentions simplified commands, but does not specify the tool's action (e.g., fetch, retrieve, list). It is not a tautology, but it is vague and lacks a clear verb.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool, no prerequisites, and no alternatives mentioned. Since there are no sibling tools, this is less critical, but still missing context for proper usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedrss

TDQS

C2.4/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools.

Naming Consistency2/5

The single tool name 'rss' is vague and does not follow a clear verb_noun or domain-specific pattern, giving little indication of its purpose.

Tool Count1/5

A single tool for an RSS aggregator, especially for Hacker News, is far too few; a typical implementation would require multiple tools for fetching, listing, searching, and managing feeds.

Completeness1/5

The tool surface is severely incomplete; one monolithic tool cannot reasonably cover the full range of operations expected from an RSS aggregator, such as fetching different feeds, searching, or managing subscriptions.

Maintenance

ActivityStale
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers