关于 feed-mcp
feed-mcp 是一个 MCP 服务,让 Claude Desktop 等客户端读取 RSS、Atom 和 JSON 订阅源。它适合希望在 AI 对话中查看新闻、博客和更新内容的用户。
主要功能
- 01支持 RSS、Atom 与 JSON 格式
- 02可从 OPML 文件导入订阅源
- 03订阅内容缓存与自动更新
- 04内置请求限速与错误处理
- 05默认屏蔽本地及私有 IP 地址
适用场景
- 01询问订阅源中的最新科技新闻
- 02汇总多个订阅源的热门文章
- 03在 AI 对话中查阅播客更新
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/richardwooding/feed-mcp:latest本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/richardwooding/feed-mcp:lateststdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
feed-mcp
网站: richardwooding.github.io/feed-mcp
将 RSS 订阅源带入 Claude Desktop — 在 AI 对话中直接阅读新闻、博客和更新。
feed-mcp 是什么?
feed-mcp 是一个 Model Context Protocol (MCP) 服务,让 Claude Desktop 能够读取 RSS、Atom 和 JSON 订阅源。你可以把它看作一座桥梁,将你喜爱的网站 RSS 订阅源连接到 Claude,这样你就能在 Claude 聊天中询问最新文章、获取摘要并掌握最新动态。
为什么要使用它?
- 📰 掌握资讯 — 无需离开 Claude,即可阅读最新新闻和博客文章
- 🎯 获取摘要 — 让 Claude 总结不同订阅源中的多篇文章
- 🔍 深入了解 — 通过查询特定订阅源或文章来研究主题
- ⚡ 节省时间 — 无需打开多个网站,也能了解最新动态
快速开始
第 1 步:添加到 Claude Desktop
打开 Claude Desktop 配置文件,并添加你喜欢的订阅源:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"feed-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"ghcr.io/richardwooding/feed-mcp:latest",
"run",
"https://techcrunch.com/feed/",
"https://www.theverge.com/rss/index.xml"
]
}
}
}
第 2 步:重启 Claude Desktop
重启 Claude Desktop 以加载新配置。
第 3 步:开始聊天!
试着问 Claude:
- “最新的科技新闻头条有哪些?”
- “总结一下我的订阅源中最热门的 5 篇文章”
- “今天有关于 AI 的文章吗?”
热门订阅源合集
科技新闻
{
"mcpServers": {
"tech-news": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"ghcr.io/richardwooding/feed-mcp:latest",
"run",
"https://techcrunch.com/feed/",
"https://www.theverge.com/rss/index.xml",
"https://www.wired.com/feed/rss",
"https://feeds.arstechnica.com/arstechnica/index"
]
}
}
}
安全与隐私
{
"mcpServers": {
"security-news": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"ghcr.io/richardwooding/feed-mcp:latest",
"run",
"https://krebsonsecurity.com/feed/",
"https://www.schneier.com/blog/atom.xml",
"https://www.bleepingcomputer.com/feed/"
]
}
}
}
Web 开发
{
"mcpServers": {
"webdev-news": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"ghcr.io/richardwooding/feed-mcp:latest",
"run",
"https://css-tricks.com/feed/",
"https://www.smashingmagazine.com/feed/",
"https://hacks.mozilla.org/feed/"
]
}
}
}
播客
{
"mcpServers": {
"podcasts": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"ghcr.io/richardwooding/feed-mcp:latest",
"run",
"https://feeds.npr.org/510282/podcast.xml",
"https://feeds.npr.org/381444908/podcast.xml"
]
}
}
}
试着问 Claude:
- “最新的播客节目有哪些?”
- “总结一下 NPR Politics 最近一期节目”
- “本周有关于气候变化的节目吗?”
使用你的 RSS 阅读器订阅源
已经在 Feedly、Inoreader 或其他 RSS 阅读器中添加了订阅源?将它们导出为 OPML,然后与 feed-mcp 搭配使用:
{
"mcpServers": {
"my-feeds": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/path/to/your/feeds.opml:/feeds.opml:ro",
"ghcr.io/richardwooding/feed-mcp:latest",
"run", "--opml", "/feeds.opml"
]
}
}
}
如何导出 OPML:
- Feedly:设置 → OPML → 导出
- Inoreader:偏好设置 → 文件夹和标签 → 导出 OPML
- NewsBlur:账户 → 导入/导出 → 导出文章
- The Old Reader:设置 → 导入/导出 → 导出
Claude 如何读取订阅源
当你询问 Claude 关于订阅源的内容时,会发生以下情况:
- 先浏览 — Claude 获取文章标题和元数据列表
- 按需阅读 — Claude 仅获取你询问的文章的完整内容
- 智能缓存 — 缓存文章,避免重复获取
这种分两步处理的方式能让响应更快,并避免对话内容过多。
使用示例
你:“今天科技领域有什么新消息?”
Claude 会:
- 浏览你的科技订阅源标题
- 总结最新头条
- 询问你是否想了解特定文章的详情
你:“详细说说第一篇文章”
Claude 会:
- 获取该文章的完整内容
- 提供详细摘要或回答你的问题
功能
- 🌐 支持多种格式 — RSS、Atom 和 JSON 订阅源
- 📱 从阅读器导入 — 支持 OPML,轻松迁移
- 💾 智能缓存 — 高效获取订阅源并自动更新
- ⚡ 快速可靠 — 内置速率限制和错误处理
- 🔒 安全 — URL 验证并阻止私有 IP
- 🐳 轻松部署 — 支持 Docker 和 Podman
高级功能
对于高级用户,feed-mcp 提供:
- 动态 Feed 管理 — 在运行时添加/移除 Feed
- MCP 资源 — 高级筛选和实时订阅
- 智能提示词 — 分析趋势、监控关键词、生成报告
- 熔断机制 — 自动处理故障 Feed
- 自定义配置 — 速率限制、重试、连接池
详情请参阅 docs/ADVANCED.md。
其他安装方式
MCP Bundle(Claude Desktop,一键安装)
每个发布版本都会附带 MCP Bundle
(.mcpb),每个平台各一个。下载与你的操作系统和架构匹配的 Bundle(例如
feed-mcp_<version>_darwin_arm64.mcpb),并使用 Claude Desktop 打开即可安装 — 无需 Docker
或 Go 工具链。Bundle 的设置页面可用于设置 Feed URL、每个 Feed 的请求超时和缓存过期时间。安装时 Feed
并非必需:已启用运行时 Feed 管理,因此你也可以稍后使用 add_feed 工具添加 Feed。
Homebrew
brew install richardwooding/tap/feed-mcp
然后配置 Claude Desktop:
{
"mcpServers": {
"feed-mcp": {
"command": "feed-mcp",
"args": ["run", "https://techcrunch.com/feed/"]
}
}
}
Go 安装
如果已安装 Go:
go install github.com/richardwooding/feed-mcp@latest
feed-mcp run https://techcrunch.com/feed/
然后配置 Claude Desktop:
{
"mcpServers": {
"feed-mcp": {
"command": "feed-mcp",
"args": ["run", "https://techcrunch.com/feed/"]
}
}
}
Podman
偏好使用 Podman 而非 Docker?只需将 docker 替换为 podman:
{
"mcpServers": {
"feed-mcp": {
"command": "podman",
"args": [
"run", "-i", "--rm",
"ghcr.io/richardwooding/feed-mcp:latest",
"run",
"https://techcrunch.com/feed/"
]
}
}
}
传输选项
feed-mcp 支持多种传输协议,以适用于不同的部署场景:
| 传输方式 | 描述 | 使用场景 |
|---|---|---|
stdio | 标准输入/输出(默认) | Claude Desktop、本地 CLI |
streamable-http | 使用 Streamable HTTP 协议的 HTTP 服务 | Web 部署、远程访问 |
http-with-sse | 已弃用,映射到 streamable-http | 仅用于向后兼容 |
stdio(默认)
用于本地使用的标准输入/输出传输方式。这是默认方式,也是 Claude Desktop 使用的方式:
feed-mcp run https://techcrunch.com/feed/
Streamable HTTP
用于 Web 部署和远程访问的基于 HTTP 的传输方式:
# Start HTTP server on default port 8080
feed-mcp run --transport=streamable-http https://techcrunch.com/feed/
# Custom port
feed-mcp run --transport=streamable-http --http-port=3000 https://techcrunch.com/feed/
# Stateless mode (for load-balanced deployments)
feed-mcp run --transport=streamable-http --http-stateless https://techcrunch.com/feed/
使用 HTTP 传输方式运行 Docker:
docker run -p 8080:8080 ghcr.io/richardwooding/feed-mcp:latest \
run --transport=streamable-http https://techcrunch.com/feed/
HTTP 传输选项:
| 标志 | 默认值 | 描述 |
|---|---|---|
--http-port | 8080 | HTTP 服务的端口(也会读取 PORT 环境变量) |
--http-stateless | false | 以无状态模式运行(不跟踪会话) |
--http-session-timeout | 30m | 空闲 HTTP 会话的超时时间 |
故障排除
“Claude hit the maximum length for this conversation”
如果看到此错误:
- 一次获取的大型文章过多
- 可以先让 Claude 浏览标题,再阅读指定文章
- 服务会自动限制内容,以避免此问题
Feed 未更新
Feed 默认缓存 10 分钟。如果需要最新数据:
- 等待几分钟后重试
- 重启 Claude Desktop 以清除缓存
私有/localhost Feed
出于安全考虑,默认会阻止 localhost 和私有 IP Feed。要启用:
{
"mcpServers": {
"feed-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"ghcr.io/richardwooding/feed-mcp:latest",
"run", "--allow-private-ips",
"http://localhost:8080/feed.xml"
]
}
}
}
文档
- ADVANCED.md — 动态 Feed 管理、MCP 资源、智能提示词
- ARCHITECTURE.md — 技术细节、架构、开发指南
- CLAUDE.md — 使用此代码库时 Claude Code 的说明
发布
推送 vX.Y.Z 标签会触发发布工作流,该工作流使用 GoReleaser 来:
- 构建适用于 linux/darwin/windows(amd64 + arm64)的二进制文件,
- 将每个二进制文件打包为 MCP Bundle(
.mcpb),并将全部六个 Bundle 附加到发布版本, - 使用 ko 构建多架构 OCI 镜像并推送到 GHCR,
- 将 Homebrew cask 发布到 richardwooding/homebrew-tap。
Homebrew 步骤需要一个具有 tap 写入权限的 HOMEBREW_TAP_GITHUB_TOKEN 仓库密钥。
MCP Bundles
tools/mcpb 是一个小型、无依赖(使用 Go 标准库)的打包工具,可将服务二进制文件和生成的
manifest.json 打包成 .mcpb。GoReleaser 会针对每个构建目标调用它,但你也可以在本地为当前平台
构建一个 Bundle(无需 Node):
go build -o feed-mcp .
go run ./tools/mcpb pack -version dev # writes dist/feed-mcp_dev_<os>_<arch>.mcpb
完整地在本地试运行发布流水线(跳过发布):
goreleaser release --snapshot --clean
贡献
欢迎贡献!技术详情和开发指南请参阅架构文档。
赞助
如果这为你节省了时间,可以赞助其维护。 赞助将用于那些不那么光鲜的工作——问题分类、依赖更新、发布流程维护——而且 绝不会成为在此获得帮助的条件。
许可证
MIT 许可证——详情请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。