mcpField
F
feed-mcp

feed-mcp

本地服务
github.com/richardwooding搜索与检索394 周前更新

关于 feed-mcp

feed-mcp 是一个 MCP 服务,让 Claude Desktop 等客户端读取 RSS、Atom 和 JSON 订阅源。它适合希望在 AI 对话中查看新闻、博客和更新内容的用户。

主要功能

  1. 01支持 RSS、Atom 与 JSON 格式
  2. 02可从 OPML 文件导入订阅源
  3. 03订阅内容缓存与自动更新
  4. 04内置请求限速与错误处理
  5. 05默认屏蔽本地及私有 IP 地址

适用场景

  1. 01询问订阅源中的最新科技新闻
  2. 02汇总多个订阅源的热门文章
  3. 03在 AI 对话中查阅播客更新

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"feed": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/richardwooding/feed-mcp:latest"
]
}
}
}
启动命令docker run -i --rm ghcr.io/richardwooding/feed-mcp:latest

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/richardwooding/feed-mcp:latest

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

feed-mcp

Go Coverage Go Report Card MCP Badge

网站: 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 关于订阅源的内容时,会发生以下情况:

  1. 先浏览 — Claude 获取文章标题和元数据列表
  2. 按需阅读 — Claude 仅获取你询问的文章的完整内容
  3. 智能缓存 — 缓存文章,避免重复获取

这种分两步处理的方式能让响应更快,并避免对话内容过多。

使用示例

你:“今天科技领域有什么新消息?”

Claude 会:

  1. 浏览你的科技订阅源标题
  2. 总结最新头条
  3. 询问你是否想了解特定文章的详情

你:“详细说说第一篇文章”

Claude 会:

  1. 获取该文章的完整内容
  2. 提供详细摘要或回答你的问题

功能

  • 🌐 支持多种格式 — 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-port8080HTTP 服务的端口(也会读取 PORT 环境变量)
--http-statelessfalse以无状态模式运行(不跟踪会话)
--http-session-timeout30m空闲 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。