关于 Reddit Archive
Reddit Archive 是用于搜索 Reddit 历史帖子、评论及版块活动的 MCP 服务。它面向需要查询实时 API 近期数据窗口之外公开档案的研究者和分析人员,并会区分确认为空的结果与未收录版块。
主要功能
- 01按版块、关键词或日期搜索帖子
- 02按版块、帖子、关键词或日期搜索评论
- 03查看版块信息和每月活动
- 04区分空结果与未收录版块
- 05重试上游临时错误
适用场景
- 01查找较早发布的主题帖子
- 02查看特定帖子的评论
- 03追踪版块发帖趋势
MCP 相关
向 MCP 客户端提供历史 Reddit 搜索和版块活动工具。可作为本地 stdio 服务运行,也可通过 Pipeworx 网关连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/reddit-archive/mcpclaude mcp add --transport http pipeworx-io-reddit-archive https://gateway.pipeworx.io/reddit-archive/mcp{"mcpServers":{"pipeworx-io-reddit-archive":{"type":"http","url":"https://gateway.pipeworx.io/reddit-archive/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-reddit-archive":{"type":"http","url":"https://gateway.pipeworx.io/reddit-archive/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-reddit-archive":{"type":"http","url":"https://gateway.pipeworx.io/reddit-archive/mcp"}}}{"mcpServers":{"pipeworx-io-reddit-archive":{"serverUrl":"https://gateway.pipeworx.io/reddit-archive/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
44| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| q | string | 否 | question 的别名。 |
| ask | string | 否 | question 的别名。 |
| text | string | 否 | question 的别名。 |
| input | string | 否 | question 的别名。 |
| packs | array | 否 | 可选。将路由限制为这些包的 slug(例如 ["sec-form-d","sec-13f"]),路由器随后只会从这些包中的工具进行选择。省略则使用默认的完整目录路由。Slug 可从 list_packs / search_packs / https://pipeworx.io/directory 获取;未列出或未知的 slug 会被忽略,并在 _meta.pack_scope.ignored 中列出。如果没有任何 slug 能匹配问题,则会在整个目录中路由,并设置 _meta.pack_scope.full_catalog:true(绝不会返回空答案)。 |
| query | string | 否 | question 的别名。 |
| prompt | string | 否 | question 的别名。 |
| message | string | 否 | question 的别名。 |
| question | string | 是 | 用自然语言表达的问题或请求。支持 query、q、prompt、text、input、ask、message 作为别名。 |
详细介绍
@pipeworx/reddit-archive
搜索 Reddit 历史帖子和评论,并查看 subreddit 随时间的活动情况,追溯至 Reddit 创立初期——远超实时 Reddit API 的可查询范围;实时 API 只提供近期且未经筛选的数据。
属于 Pipeworx 的一部分——一个连接 AI Agent 与 1779+ 个实时数据源的 MCP 网关。这是一个独立的非官方集成,与上游提供方无关联、未获其认可,也未由其发布。
工具
reddit_history_posts(subreddit, query?, after?, before?, limit?, sort?)— 从一个 subreddit 获取帖子,可按关键词和/或日期范围筛选。返回 id、标题、作者、created_utc(ISO 格式)、score、num_comments、permalink。reddit_history_comments(subreddit?, link_id?, query?, after?, before?, limit?, sort?)— 获取指定 subreddit 和/或特定帖子的评论,可按关键词和/或日期范围筛选。subreddit和link_id至少填写一个。返回 id、作者、created_utc(ISO 格式)、score、正文、link_id、permalink。subreddit_activity(subreddit, after?, before?)— 返回 subreddit 信息(订阅人数、创建日期、历史帖子/评论总数、最早索引的帖子/评论),以及指定日期范围内按月统计的帖子/评论数(默认:最近 12 个月)。
身份验证
无需密钥。
数据源
- Arctic Shift(Arthur Heitmann 的开源项目
arctic_shift),一个 Reddit 历史存档——独立重新抓取并重新发布公开的 Reddit 帖子、评论和 subreddit 元数据,涵盖实时 Reddit API 已不再提供的年份。未公布正常运行时间保证。
其他说明
- 静默零结果处理。 上游对空结果的响应结构相同,无论是 subreddit 确实没有符合筛选条件的内容,还是该 subreddit 从未被索引。此情况下没有专门的“未找到”状态。遇到空结果时,此工具包会额外调用一次上游自己的 subreddit 索引,以区分这两种情况:未索引/不存在的 subreddit 会抛出明确错误;确实存在但指定时间范围内无结果的 subreddit 则会返回显式的
verified_empty: true,而非单独返回[]。如果reddit_history_comments使用link_id而非subreddit进行限定,也会对帖子 id 执行相同检查。 - 暂时性 422 和 429 错误。 上游偶尔会对格式正确的查询返回 HTTP 422(“Timeout. Maybe slow down a bit”)或 HTTP 429(请求频率受限);在负载较高时,实测这两种情况都可能连续出现 2-3 次,与查询本身无关。此工具包会重试这两类错误;如果上游在 429 响应中提供
Retry-After,则会遵循该值,并在 20 秒的重试时限内重试(不只是固定重试次数),之后才将其作为真实错误抛出。 - 按月统计的月份标注(
subreddit_activity)。 上游的汇总端点按当地日历月分桶,但会将每个分桶的时间戳转换为 UTC,结果落在前一个 UTC 日的最后一小时(例如,1 月分桶会返回"2019-12-31T23:00:00.000Z")。此工具包会将时间戳向前调整至下一个 UTC 午夜,再读取月份,因此monthly_posts/monthly_comments会标注其实际涵盖的月份。 - 请求间隔。 此工具包将外发调用频率控制在每秒约一次;需要在内部进行多次上游调用的工具(空结果存在性检查;
subreddit_activity的三次调用)会错开调用,而非集中发送。 - 不按作者汇总。
reddit_history_comments不接受作者筛选条件,此工具包也不会按作者汇总任何工具的结果——只返回符合筛选条件的原始公开帖子/评论。 - 日期格式。
after/before接受"2019-01-01"这类 ISO 日期。 - 返回的 ID 不带前缀(例如
"ei9204",而不是"t3_ei9204");link_id两种格式均可接受。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"reddit-archive": {
"url": "https://gateway.pipeworx.io/reddit-archive/mcp"
}
}
}
此端点实际提供的内容
tools/list 在 https://gateway.pipeworx.io/reddit-archive/mcp 返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、
discover_tools、search_within、remember/recall 和网关范围内的其他工具。因此,你看到的工具数量会多于此表:单个工具包端点当前会列出大约 30 个共享工具,以及该工具包自身的工具。连接的 initialize 响应会说明其确切范围,也是当天权威的答案。
这是有意为之,并非意外的多路复用。元工具可以让限定范围的连接回答此工具包未涵盖的问题——通过 ask_pipeworx 跨整个目录进行路由——无需你再添加第二个 MCP 服务。目前无法挂载不含这些元工具的工具包端点;如果额外的架构带来的上下文开销超过路由的价值,请连接一次完整网关,而不是连接多个工具包端点。
或者,连接完整的 Pipeworx 网关,直接列出每个工具包的工具,而不仅仅是此工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
这两个 URL 都会连接到同一个网关和相同的 1779+ 个数据源。唯一的区别在于,哪个工具包的工具会被直接列出;无论连接哪一个,ask_pipeworx 都能访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/reddit_history_posts \
-H 'Content-Type: application/json' \
-d '{"subreddit":"datasets","before":"2020-01-01","after":"2019-01-01","limit":5}'
首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/reddit_history_posts。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。
独立运行(无需网关账户)
此软件包也可作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需往返网关:
{
"mcpServers": {
"reddit-archive": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-reddit-archive"]
}
}
}
也可以直接运行它以确认服务能够启动:
npx -y @pipeworx/mcp-reddit-archive
它通过 stdin/stdout 进行 MCP 通信,并为仅限此工具包的工具响应 initialize/tools/list/tools/call——不含上述网关连接所提供的任何共享元工具。相同的源代码,相同的工具,但不提供 ask_pipeworx 路由。
使用 ask_pipeworx
你可以用通俗英语提问,而不是直接调用工具——此功能既适用于上面的工具包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Reddit Archive data" })
网关会自动选择合适的工具并填充参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。