npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

rsshub-mcp

v1.1.0

Published

MCP server for RSSHub - provides RSS feed access through Model Context Protocol

Downloads

14

Readme

RSSHub MCP Server

中文文档 | English

一个用于 RSSHub 的 Model Context Protocol (MCP) 服务器,让 AI 助手能够通过 MCP 协议访问和查询各种 RSS 订阅源。

功能特性

  • 🔍 RSS 订阅获取:通过路由获取各种网站的 RSS feed
  • 订阅管理(新功能):
    • 添加/删除订阅源
    • 一键获取所有订阅内容
    • 本地持久化存储订阅列表
    • 为每个订阅设置默认参数和自定义名称
  • 🔎 智能路由搜索:从 RSSHub API 自动获取所有可用路由并支持模糊搜索
  • 💾 路由缓存:自动缓存路由数据(24小时),提升响应速度
  • ⚙️ 灵活实例配置
    • 支持环境变量 RSSHUB_INSTANCE 配置自定义实例
    • 支持参数方式临时指定实例
    • 默认使用公共实例 https://rsshub.app
  • 🎯 通用参数支持:过滤、限制条目数、全文输出等
  • 🌐 完整平台覆盖:覆盖所有 RSSHub 支持的平台和路由
  • ⏱️ 智能超时处理:60 秒超时,支持处理复杂路由
  • 🔧 详细错误诊断:针对不同错误类型提供具体的解决建议
  • 📊 请求日志:记录请求 URL、耗时和详细错误信息
  • 🚀 轻量级:仅 40 个依赖包,快速安装和启动

安装

方式 1:通过 npx(推荐)

无需手动安装,直接在 Claude Desktop 配置中使用 npx 即可:

编辑配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "rsshub": {
      "command": "npx",
      "args": ["rsshub-mcp"]
    }
  }
}

如需使用自定义 RSSHub 实例:

{
  "mcpServers": {
    "rsshub": {
      "command": "npx",
      "args": ["rsshub-mcp"],
      "env": {
        "RSSHUB_INSTANCE": "http://localhost:1200"
      }
    }
  }
}

方式 2:从源码构建

# 克隆仓库
git clone https://github.com/panxiande/RSSHub-MCP.git
cd RSSHub-MCP

# 安装依赖
npm install

# 构建项目
npm run build

然后在 Claude Desktop 配置文件中添加:

macOS

{
  "mcpServers": {
    "rsshub": {
      "command": "node",
      "args": ["/path/to/RSSHub-MCP/dist/index.js"]
    }
  }
}

Windows

{
  "mcpServers": {
    "rsshub": {
      "command": "node",
      "args": ["C:\\path\\to\\RSSHub-MCP\\dist\\index.js"]
    }
  }
}

使用自定义实例(推荐)

通过环境变量 RSSHUB_INSTANCE 指定自定义实例,获得更好的稳定性:

{
  "mcpServers": {
    "rsshub": {
      "command": "npx",
      "args": ["rsshub-mcp"],
      "env": {
        "RSSHUB_INSTANCE": "http://localhost:1200"
      }
    }
  }
}

配置完成后,重启 Claude Desktop 即可使用。

自定义数据存储位置

订阅数据默认保存在 ~/.rsshub-mcp/subscriptions.json。如需自定义位置,可设置环境变量:

{
  "mcpServers": {
    "rsshub": {
      "command": "npx",
      "args": ["rsshub-mcp"],
      "env": {
        "RSSHUB_INSTANCE": "http://localhost:1200",
        "RSSHUB_MCP_DATA_DIR": "/custom/path/to/data"
      }
    }
  }
}

可用工具

1. get_feed

获取 RSSHub 订阅源内容。支持两种模式:

模式 1:获取所有订阅(无参数)

  • 不传任何参数,自动获取所有已订阅源的内容
  • 返回聚合的订阅列表及其数据

模式 2:获取特定路由(传入 route 参数)

  • 获取指定路由的 RSS feed

参数:

  • route (可选): RSSHub 路由路径,例如 /bilibili/bangumi/media/9192。不提供时获取所有订阅
  • params (可选): 通用参数对象,如 { "limit": "10", "filter": "关键词" }

示例:

# 获取所有订阅的内容
获取我的所有订阅更新

# 获取特定路由
获取 Telegram 频道 awesomeRSSHub 的订阅内容
获取 B站番剧 9192 的更新
订阅 GitHub 仓库 anthropics/anthropic-sdk-python 的 releases

2. subscribe

将 RSS 源添加到订阅列表。

参数:

  • route (必需): 要订阅的 RSSHub 路由路径
  • name (可选): 订阅的自定义名称,便于识别
  • params (可选): 该订阅的默认参数,每次获取时自动应用

特性:

  • 自动检测重复订阅
  • 支持为订阅设置友好名称
  • 可预设默认参数(如过滤规则、条目限制)
  • 数据持久化保存在本地

示例:

订阅 B站番剧 /bilibili/bangumi/media/9192,命名为"我的追番"
添加 GitHub 仓库 /github/issue/vuejs/core 到订阅列表
订阅 /telegram/channel/awesomeRSSHub,限制10条

3. unsubscribe

从订阅列表中删除 RSS 源。

参数:

  • id (可选): 订阅的唯一 ID
  • route (可选): 要取消订阅的路由路径

说明: idroute 至少提供一个

示例:

取消订阅 /bilibili/bangumi/media/9192
删除订阅 ID 为 sub_xxx 的订阅

4. list_subscriptions

列出所有已保存的订阅。

参数:

返回信息:

  • 订阅 ID
  • 路由路径
  • 自定义名称
  • 默认参数
  • 创建时间
  • 完整 URL

示例:

显示我的所有订阅
列出订阅列表

5. search_routes

搜索 RSSHub 路由。自动从 RSSHub API 获取最新路由并支持模糊搜索。

参数:

  • query (必需): 搜索关键词,支持平台名称、路由名称、分类等

特性:

  • 从 RSSHub API 实时获取所有可用路由
  • 24小时本地缓存,提升响应速度
  • 支持按平台名称搜索(如 'bilibili'、'github')
  • 支持按分类搜索(如 'social-media'、'programming')
  • 支持按路由名称、描述模糊搜索
  • 最多返回 50 个匹配结果

示例:

搜索 bilibili 相关的路由
查找 github 的订阅方式
搜索 telegram 路由
查找 social-media 分类下的路由

使用示例

配置完成后,你可以在 Claude Desktop 中直接询问:

  1. 管理订阅:

    • "订阅 B站番剧 /bilibili/bangumi/media/9192,命名为'我的追番'"
    • "添加 GitHub 仓库 vuejs/core 的 issues 到订阅列表"
    • "显示我的所有订阅"
    • "取消订阅 /telegram/channel/awesomeRSSHub"
  2. 获取订阅内容:

    • "获取我的所有订阅更新" (一键获取所有订阅)
    • "帮我获取 Telegram 频道 awesomeRSSHub 的最新内容"
    • "查看 B站番剧 9192 的最新一集"
    • "查看 GitHub 仓库 vuejs/core 的最新 issues"
  3. 搜索路由:

    • "搜索 bilibili 相关的路由"
    • "查找 github 的订阅方式"
    • "有哪些 telegram 相关的路由?"
    • "搜索 social-media 分类的路由"
    • "如何订阅 Twitter 用户?"
    • "微博怎么订阅?"

RSSHub 路由说明

RSSHub 路由遵循以下格式:

/<平台>/<内容类型>/<参数>

例如:

  • /telegram/channel/awesomeRSSHub - Telegram 频道
  • /bilibili/user/dynamic/2267573 - B站用户动态
  • /github/issue/vuejs/core - GitHub Issues
  • /twitter/user/elonmusk - Twitter 用户推文

更多路由请访问 RSSHub 官方文档

通用参数

RSSHub 支持以下通用参数:

  • limit: 限制返回条目数量,如 { "limit": "10" }
  • filter: 过滤标题和描述,如 { "filter": "关键词" }
  • filterout: 排除包含特定内容的条目
  • mode: 输出模式,如 fulltext 全文输出

使用示例:

获取 Telegram 频道的最新 10 条内容,路由是 /telegram/channel/awesomeRSSHub,限制 10 条

故障排除

常见问题

1. 502 Bad Gateway 错误

原因:

  • RSSHub 服务器负载过高
  • 上游网站(如 arxiv.org)暂时无法访问或响应超时
  • 网络连接问题

解决方案:

  • 稍后重试(这通常是临时性问题)
  • 使用其他 RSSHub 实例(自部署或其他公共实例)
  • 检查上游网站是否正常工作

2. 请求超时

原因:

  • 某些路由需要较长时间处理(超过 60 秒)
  • 网络连接慢
  • RSSHub 服务器响应慢

解决方案:

  • 稍后重试
  • 确认路由是否正确(使用 search_routes 工具)
  • 考虑使用自部署的 RSSHub 实例

3. 404 Not Found 错误

原因:

  • 路由不存在或路径错误

解决方案:

调试日志

MCP 服务器会输出详细的日志到标准错误输出(stderr),包括:

  • 请求的完整 URL
  • 请求耗时
  • 错误详情

可以通过 Claude Desktop 的日志查看这些信息(通常在 ~/Library/Logs/Claude/ 目录)。

配置建议

超时设置:

  • 默认超时:60 秒
  • 最大响应大小:50MB
  • 如果经常超时,建议自部署 RSSHub 实例

实例选择(按优先级排序):

  1. 自部署实例(强烈推荐)

    • 配置:RSSHUB_INSTANCE=http://localhost:1200
    • 优点:最稳定、最快、无速率限制
    • 部署:5 分钟 Docker 一键部署
  2. 其他公共实例

  3. 默认公共实例 https://rsshub.app

    • 快速开始,但可能负载较高
    • 出现 502/503 错误时建议切换实例

配置方式:

  • 在 Claude Desktop 配置中设置 RSSHUB_INSTANCE 环境变量

支持的平台

包括但不限于:

  • 📱 社交媒体:Twitter/X、Telegram、微博、知乎、Reddit
  • 🎬 视频平台:Bilibili、YouTube
  • 💻 开发平台:GitHub、GitLab
  • 📰 新闻资讯:各类新闻网站
  • 🎮 游戏社区:Steam、Epic Games
  • 更多平台见 RSSHub 路由文档

相关链接

许可证

MIT