mcpField
R
RedditAPIs

RedditAPIs

远程服务
redditapis.com社交媒体23 天前更新

关于 RedditAPIs

RedditAPIs 的官方 MCP 服务,为开发者和 AI Agent 提供 Reddit 实时数据及账户操作。它涵盖搜索、社区浏览、用户查询和监控,并可在连接 Reddit 账户后执行发帖等操作。

主要功能

  1. 01搜索帖子、评论、社区和用户
  2. 02浏览社区动态、规则与维基
  3. 03读取帖子及完整评论树
  4. 04连接账户后评论、发帖、投票和私信
  5. 05设置匹配内容监控与 Webhook
  6. 06提供反馈工具和操作流程资源

适用场景

  1. 01查找特定主题的 Reddit 帖子和评论
  2. 02了解社区规则、成员和近期动态
  3. 03监控符合条件的新帖子并发送 Webhook
  4. 04通过已连接账户参与 Reddit 讨论

MCP 相关

作为 MCP 服务向客户端提供 Reddit 搜索、浏览、账户操作、监控和反馈工具,并附带 playbook 资源。读取操作使用 API 密钥;写入 Reddit 内容需先连接账户。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.redditapis.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npmredditapis-mcp0.15.0

工具

详细介绍

redditapis-mcp

npm version npm downloads license

redditapis-mcp 是 RedditAPIs 的官方 MCP 服务,面向需要在 Claude、Cursor、Windsurf、VS Code 或任何 MCP 客户端中获取 Reddit 实时数据的开发者和 AI Agent,无需 Reddit 开发者应用。你的 Agent 可以搜索帖子和评论、读取子版块动态和规则、展开评论树、查询用户和社区,还可以设置监控器,将符合条件的新帖子发送到你的 webhook。读取费用为每次调用 $0.0015(也可选择每月 $19 起、包含 30,000 次读取的套餐),每个账户每月可免费读取 1,000 次,新账户还可获得 $0.50 的免费额度,无需绑定银行卡。只需连接一次 Reddit 账户,即可使用你的身份发表评论、发帖、投票和发送私信。每个工具都对应 api.redditapis.com 上的一个端点。

安装:使用 https://www.redditapis.com 提供的 REDDITAPIS_KEY 运行 npx -y redditapis-mcp@latest

托管服务,无需粘贴密钥,直接登录(Claude Code):claude mcp add --transport http reddit https://api.redditapis.com/mcp(包含除 5 个读取你自己账户信息的工具之外的所有工具)

网站:https://www.redditapis.com/mcp

快速开始

无需安装,使用 npx 运行。你只需要一样东西:来自 redditapis.com 的 API 密钥。只需密钥即可进行读取,因此无需设置账户登录或会话。管理监控和 webhook 还需要有效的监控套餐(监控没有免费套餐)。

设置

Claude Desktop

编辑 claude_desktop_config.json(Settings > Developer > Edit Config):

{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["-y", "redditapis-mcp@latest"],
      "env": { "REDDITAPIS_KEY": "YOUR_API_KEY" }
    }
  }
}

重启 Claude Desktop。reddit_* 工具会显示在工具选择器中。

Claude Code
claude mcp add reddit --env REDDITAPIS_KEY=YOUR_API_KEY -- npx -y redditapis-mcp@latest
Cursor

~/.cursor/mcp.json(或 Settings > MCP > Add New Server):

{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["-y", "redditapis-mcp@latest"],
      "env": { "REDDITAPIS_KEY": "YOUR_API_KEY" }
    }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["-y", "redditapis-mcp@latest"],
      "env": { "REDDITAPIS_KEY": "YOUR_API_KEY" }
    }
  }
}
VS Code(Copilot / Agent 模式)

工作区中的 .vscode/mcp.json,或用户级 MCP 设置:

{
  "servers": {
    "reddit": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "redditapis-mcp@latest"],
      "env": { "REDDITAPIS_KEY": "YOUR_API_KEY" }
    }
  }
}

配置

环境变量必填默认值用途
REDDITAPIS_KEY是(无)来自 redditapis.com 的 API 密钥。也接受 REDDIT_APIS_KEY 作为别名。
REDDITAPIS_BASE_URL否https://api.redditapis.com覆盖 API 主机。
REDDITAPIS_TIMEOUT_MS否30000每个请求的超时时间,单位为毫秒。
REDDITAPIS_FEEDBACK_DIR否~/.redditapisreddit_feedback_send 保存本地草稿队列的位置(feedback-queue.json)。

身份验证使用 Bearer 令牌:服务会在每个请求中发送 Authorization: Bearer <REDDITAPIS_KEY>。

工具

59 个工具和 3 个操作手册资源:32 个 Reddit 读取工具、10 个 Reddit 账户工具(连接、查看状态、断开连接、评论、发布、投票、发送私信,以及安排、列出或取消稍后发布的帖子或评论)、10 个监控/webhook 管理工具、reddit_set_watch(一次调用即可建立完整监控)、reddit_explain(说明你当前查看的数据来自何处)、3 个反馈工具,以及 2 个账户工具(reddit_account_me,也可在此查看余额;以及 reddit_account_payments,用于查看充值记录)。Reddit 写入操作(评论、发帖、投票、发送私信)会以你的 Reddit 账户执行,且只有在你通过 reddit_connect 连接账户后才能执行;每项操作都标记为写入操作,因此客户端会在运行前征求你的同意。监控/webhook 工具用于配置你自己的 redditapis.com 账户(警报订阅),不会操作 Reddit 本身;反馈工具会向 redditapis.com 团队发送报告,不会发送给 Reddit。所有读取操作只需 API 密钥即可使用;6 个监控/webhook 写入操作还需要有效的监控计划(见下文“监控”)。反馈工具免费,只需你的密钥即可使用。

整个目录中有几项约定:

  • 子版块名称不带 r/ 前缀,用户名不带 u/ 前缀。reddit_subreddit_posts 将社区作为 subreddit;/sub/{name}/... 工具则将其作为 name。
  • 列表和搜索工具会返回一个 after 游标。要获取下一页,请按原样将其作为 after 传回。limit 接受 1 到 100(API 会将超出范围的值限制在有效范围内)。
  • 如果返回的 after 为 null,则没有下一页可供请求。但这并不总意味着你已获得所有条目:Reddit 通常会在繁忙列表耗尽之前就停止提供数据。最终响应还会包含 listing_status,其值为 complete、truncated 或 unknown。只有 complete 表示没有遗漏。应将另外两种状态视为部分结果,并通过切换排序方式、时间范围或搜索词来扩大搜索范围,而不是继续深入翻页。
  • t(hour、day、week、month、year、all)用于设置时间范围;在子版块列表中,它适用于 top 和 controversial 排序;在搜索中,它会限定整个结果集。
搜索与发现
工具端点功能
reddit_searchGET /api/reddit/search搜索整个 Reddit 或某个子版块(subreddit)中的帖子。
reddit_search_commentsGET /api/reddit/search/comments按评论文本搜索;由于 Reddit 的评论搜索不会返回匹配的评论本身,因此此工具会返回其父帖子。
reddit_deep_comment_searchGET /api/reddit/search/comments/deep真正的评论搜索:返回实际匹配的评论正文(分数、作者、评论深层永久链接、父帖子)。limit 设置要展开的父帖子数量;将 group_by="author" 切换为研究模式(查看谈论你的查询的不同用户)。高级调用。
reddit_search_mediaGET /api/reddit/search/media搜索筛选为媒体内容的帖子,可按 kind(image、video、gif、all)缩小范围。
reddit_search_communitiesGET /api/reddit/search/communities按名称或主题查找子版块(标题、订阅人数、描述、NSFW 标记)。
reddit_search_usersGET /api/reddit/search/users按名称或关键词查找 Reddit 用户(用户名、karma、账户年龄)。
Subreddits
工具端点功能
reddit_subreddit_postsGET /api/reddit/posts按 sort(new、hot、top、rising、controversial、best)列出某个 subreddit 的帖子。
reddit_feedback_listGET /feedback按时间倒序列出此账号提交的报告及其状态。可借此找回未保存 ID 的报告。免费。
reddit_verify_commentsPOST /api/reddit/comments/verify检查最多 100 条指定评论是否仍然存在且公开可见。虽然使用 POST,但这是一次读取;可区分“作者已删除”“版主已移除”和“仍然存在”。
reddit_home_feedGET /api/reddit/feed读取你自己的 Reddit 首页信息流。需要通过 POST /api/reddit/login(REST 调用,而非 MCP 工具)获取 reddit_session 和 loid;它们通过请求头传递,绝不会出现在 URL 中。
reddit_subreddit_topGET /api/reddit/sub/{name}/top获取指定时间范围(t)内某个 subreddit 的热门帖子。
reddit_subreddit_commentsGET /api/reddit/sub/{name}/comments获取整个 subreddit 中最新评论的实时信息流(不是某条帖子的评论串)。
reddit_subreddit_aboutGET /api/reddit/sub/{name}/about获取某个 subreddit 的公开元数据:标题、描述、订阅者和活跃用户数量、类型、NSFW 标记。
reddit_subreddit_rulesGET /api/reddit/sub/{name}/rules获取某个 subreddit 的发帖规则以及 Reddit 全站规则。
reddit_subreddit_moderatorsGET /api/reddit/sub/{name}/moderators获取某个 subreddit 的版主团队,以及每位版主的权限、 flair 和加入时间。
reddit_subreddit_flairsGET /api/reddit/sub/{name}/flairs获取某个 subreddit 的帖子 flair 模板(id、text、editable、颜色、mod_only),以便帖子使用该社区要求的 flair_id。Reddit 仅向已登录账号列出 flair,因此此工具会读取你已连接的 Reddit 会话;若未连接会话,则返回 503 SESSION_REQUIRED,且不收费。
reddit_subreddit_wikiGET /api/reddit/sub/{name}/wiki/{page}按名称和 page 获取某个 subreddit 的 wiki 页面(markdown + HTML,含修订元数据)。
帖子和评论
工具端点功能
reddit_post_visibilityGET /api/reddit/post/{id}/visibility检查帖子是否仍然公开可见,还是悄然变得不可见。获取帖子和作者列表页中的一页,并进行比较。返回带原因的 live、not_visible 或 undecidable,绝不声称知道原因。调用上游两次,费用为 $0.004。
reddit_postGET /api/reddit/post/{id}按帖子 base-36 id(不含 t3_ 前缀)获取单条帖子:标题、作者、得分、正文、永久链接、subreddit、URL。
reddit_post_commentsGET /api/reddit/comments根据 permalink 获取一条帖子及其完整的树状评论串。
reddit_post_duplicatesGET /api/reddit/post/{id}/duplicates获取所有分享此帖子链接的其他帖子,涵盖各个 subreddit(Reddit 的“其他讨论”)。
reddit_by_idGET /api/reddit/by_id/{fullnames}从以逗号分隔的 t3_ 完整名称列表中,一次调用批量获取最多 100 条帖子的完整信息。
用户
工具端点功能
reddit_user_profileGET /api/reddit/user/{name}获取用户的公开个人资料:karma、账号年龄、已验证/员工标记、头像。
reddit_user_commentsGET /api/reddit/user/{name}/comments获取用户近期评论(正文、得分、subreddit、父级链接、时间戳)。
reddit_user_submittedGET /api/reddit/user/{name}/submitted获取用户发布的帖子(与 reddit_user_comments 对应)。
reddit_user_achievementsGET /api/reddit/user/{name}/achievements获取用户的公开成就(个人资料中的奖杯):名称、描述、授予时间戳、图标。没有成就的账号会返回空列表。
社区浏览(无关键词)
工具端点功能
reddit_subreddits_popularGET /api/reddit/subreddits/popular浏览当前订阅人数最多、最热门的 subreddit。
reddit_subreddits_newGET /api/reddit/subreddits/new浏览最新的 subreddit,按创建时间从近到远排列。
reddit_subreddits_defaultGET /api/reddit/subreddits/default浏览 Reddit 默认首页中的 subreddit 集合。
监控:管理自己的监控器和 Webhook

监控器会监视指定的 subreddit 或整个 Reddit中的帖子或评论(kind)。每个账户都享有一项免费权益:以 60s 的间隔监视整个 Reddit 上的帖子;指定 subreddit、匹配评论、使用更短的间隔以及添加其他监控都需要付费计划。注册 Webhook 不需要付费计划,因为免费监控器的投递方式与付费监控器完全相同。查看自己的列表、健康状况和投递记录始终不需要计划。

reddit_monitor_list 会返回一个 slots 对象,明确列出此账户的能力:used、total、tier、is_free、cadence_s(该等级允许的最短间隔)、sitewide_slots、distinct_subreddits_used、distinct_subreddits_total、comments_allowed、scoped_allowed 和 sitewide_allowed。reddit_set_watch 会先读取这些标志,再进行任何设置。

工具端点功能
reddit_set_watchPOST /api/reddit/monitor/add(+ Webhook 创建/更新/测试)一次调用,无需分三步:将自然语言描述编译为监控筛选条件,读取此账户的计划能力,创建监控器,然后注册、指定并测试触发 deliver_to Webhook。先从句子中提取引号内的短语,再将句子拆分为分句,因此每部分只读取自身的词语:subreddit 可写作 r/Name 或粘贴的 reddit.com/r/Name 链接;引号内的短语作为关键词;except/without/ignoring 表示排除项;at least N upvotes 表示最低分数;comments / posts and comments 表示匹配类型。它绝不会返回无法完整解释的筛选条件(见下文)。返回 understood 和 compiled_filter,供你检查;notes 会说明它丢弃、改写或作为完整短语读取的内容。
reddit_monitor_addPOST /api/reddit/monitor/add创建监控器:指定要监视的 subreddit,以及可选的筛选条件(关键词、作者、域名、包含/排除词、最低分数、NSFW)。仅监视创建之后的内容(或从 baseline_item_id 开始)。
reddit_monitor_listGET /api/reddit/monitor/list列出账户上的所有监控器,以及 slots({used, total, tier})。
reddit_monitor_updatePOST /api/reddit/monitor/update暂停/恢复(active)、重新设置间隔,或替换监控器的筛选条件。传入任何筛选字段都会替换整个筛选条件——请重新提供所有想保留的内容。
reddit_monitor_removePOST /api/reddit/monitor/remove永久删除监控器。无法撤销。
reddit_monitor_healthGET /api/reddit/monitor/health按监控器统计已投递/失败/已抑制数量(最近 24h),通过 suppressed_breakdown 将抑制原因细分为 ceiling 和 stale,并说明是否已触及投递上限。
reddit_monitor_deliveriesGET /api/reddit/monitor/deliveries显示实际投递(或尝试投递)的帖子,按时间从新到旧排列,并包含真实内容,而不只是数量。省略 id 可汇总你拥有的所有监控器。
reddit_monitor_webhook_createPOST /api/reddit/monitor/webhook/create注册投递目标(webhook/slack/discord)。返回一个仅显示一次的签名密钥。
reddit_monitor_webhook_listGET /api/reddit/monitor/webhook/list列出你的 Webhook。绝不返回密钥。
reddit_monitor_webhook_testPOST /api/reddit/monitor/webhook/test发送一次性测试投递,以确认 Webhook 配置正确。
reddit_monitor_webhook_deletePOST /api/reddit/monitor/webhook/delete永久删除 Webhook。不会级联暂停仍指向它的监控器。
reddit_set_watch 会拒绝请求,而不是猜测

描述中的每个字符都必须且只能归入一项:subreddit、引用短语、关键词、排除项、分数条件、交付条件,或不携带筛选内容的词。只要有任何内容未归类,就意味着编译器没有理解整个句子,它会返回完全不创建筛选条件,而不是根据它理解的部分创建监控。

结果条件你会得到什么
筛选条件每个词都有归属监控,以及 understood、compiled_filter 和 notes
partial_understanding有些词无法归类,或筛选条件中的两部分重复计算了同一批词无法归类的准确词语、已理解的内容,以及不创建任何内容
contradictory_filter同一短语既被监控又被排除,因此监控永远不会发送结果列出冲突的两部分,且不创建任何内容
no_anchor既没有 subreddit,也没有关键词在发送任何请求之前拒绝

这很重要,因为错误的监控不会显现出来:你会得到一个监控 ID 和一次成功的测试投递,然后要么永远没有动静,要么信息泛滥。拒绝请求并指出无法归类的词语,几秒内就能修正;而关键词同时也是排除项的监控,可能一周都不会被发现。如果描述被拒绝,请准确引用要监控的短语,将 subreddit 写成 r/Name,或直接用 reddit_monitor_add 构建筛选条件。

操作手册:三份配方,以 MCP 资源形式提供

这里提供三份可复用的配方,作为 MCP 资源而非工具,因为协议规定资源由应用驱动:主机在选择器或搜索框中展示资源,只有在收到 URI 请求时才会读取。不会预先获取,也不会注入任何内容。

URI涵盖内容
playbook://competitor-mention-watch建立对竞争对手名称的持续监控,并将每条匹配结果转发到频道;包括如何减少品牌名称同时也是普通词语所产生的误报,以及如何区分安静的监控与故障监控。
playbook://subreddit-audit在某个社区发帖前对其进行分析:将规模与实际评论率对比,检查明文规则及其执行情况、版主团队、长期稳定的内容与本月有效的内容,以及帖子能否保留下来。
playbook://pain-point-mining从人们实际使用的措辞中发现问题,分析评论正文而非帖子标题,按不同作者数而非命中数排序,并将一次性扫描转为持续信息流。

每份都是简短的 Markdown 文档,只使用本软件包已提供的调用,因此配方不会指向尚未实现的功能。测试会将每份操作手册中提及的所有工具与实时目录进行核对。

正文属于文档,会列出对应配方所用的调用,这正是它们的用途。这与工具描述有意不同:客户端会在连接时获取工具描述,而没有人选择这些描述;描述只陈述产品事实,并由一道检查机制强制确保这一点。只有在有请求要求读取某个 URI 时,才会读取相应资源,因此它是你主动打开的文档,而非注入内容。正文仍会接受检查,以排查隐藏或编码文本、指向我们自有主机以外的链接,以及对抗性引导(覆盖你的指令、隐瞒信息、窃取数据或循环消耗你的额度);每项检查都有一个植入缺陷的对照项。

// resources/list, then
{ "method": "resources/read", "params": { "uri": "playbook://subreddit-audit" } }
你的 Reddit 账号:连接一次,即可评论、发帖、投票、私信和安排发布时间

reddit_connect 会将你的 Reddit 会话加密(AES-256-GCM,密钥仅由 API 持有)后存储在我们这边,并关联到此 API 密钥对应的账号,存储前会先通过 Reddit 验证。之后的每次写入操作都不会发送 Cookie,因此它们不会出现在 Agent 的工具调用或对话记录中。每次写入都会以你的身份公开执行,因此会标记为写入操作,并由客户端在执行前询问你。连接、查看状态和断开连接均免费。

工具端点功能
reddit_connectPOST /api/reddit/session存储你的 Reddit 会话(reddit_session 和 loid Cookie;投票和私信还需添加 csrf_token)。已登出的会话将被拒绝。免费。
reddit_session_statusGET /api/reddit/session查看会话是否已连接、用户名以及上次使用时间。不会返回 Cookie。免费。
reddit_disconnectPOST /api/reddit/session/delete删除已存储的会话。免费。
reddit_commentPOST /api/reddit/comment以你的身份评论帖子。
reddit_submitPOST /api/reddit/submit以你的身份向 subreddit 发布文本帖或链接帖。
reddit_votePOST /api/reddit/vote以你的身份对帖子或评论投赞成票、反对票,或取消投票。
reddit_dmPOST /api/reddit/dm以你的身份发送私信。
reddit_scheduled_createPOST /api/reddit/schedule安排稍后发布帖子或评论(run_at 为 60 秒至 30 天后)。到时将使用你已连接的会话执行。安排发布时间免费;仅在执行成功时按写入费率计费。
reddit_scheduled_listGET /api/reddit/schedule查看你安排发布的帖子和评论,按时间从新到旧排列,并显示各项的 status、result 或 error,以及是否已计费。免费。
reddit_scheduled_cancelPOST /api/reddit/schedule/cancel取消尚未执行的已安排帖子或评论。取消的操作不会执行,也不会收费。免费。
反馈:审核草稿后,告诉团队出了什么问题

参考了 Claude Code 自带的反馈工具。当调用因非密钥、余额或速率限制问题而失败,当你请求的内容没有工具支持,或结果明显错误时,模型可以将报告草拟到本地队列(~/.redditapis/feedback-queue.json,最多 10 份草稿,可通过 REDDITAPIS_FEEDBACK_DIR 覆盖目录)。只有在你要求查看队列并指定要发送的草稿后,才会发送任何内容。每份报告都包含最近一次失败调用的端点、状态和请求 ID、你的客户端名称以及此软件包的版本,团队无需后续跟进即可处理。使用 reddit_feedback_get 和返回的服务器 ID,可查看报告是否已分类处理、已发布修复或已拒绝。两种工具均免费。

工具端点功能
reddit_feedback_sendPOST /feedbackaction: "draft"(默认)将报告加入本地队列,不会发送任何内容;"list" 显示队列;"send" 仅发送你指定的草稿;"discard" 丢弃草稿。
reddit_explain无(进程内)说明此会话中已获取数据行的来源:对每次已完成的调用,显示工具、端点、响应到达时间、该副本目前的时效、上游请求 ID 和响应大小。读取路径不保留响应缓存,因此这里显示的是你手中副本的时效,而非已存储数据行的时效。
reddit_account_meGET /account/me查看此密钥剩余的额度,不会产生任何支出。免费,不计量。
reddit_account_paymentsGET /account/payments查看此密钥的所有充值记录:金额、增加的额度、状态和日期,按时间从新到旧排列。免费,不计量。
reddit_feedback_getGET /feedback/{id}查看已发送报告的状态(new、triaged、shipped、declined)和团队的回复。

使用示例

跨 Reddit 研究某个话题

“这个月大家都在怎么评价 Rust 借用检查器?”

Agent 调用 reddit_search,参数如下:

q: "borrow checker"
sort: "relevance"
t: "month"
sort_type: "score"
查看某个社区本周的热门帖子

“给我看看 r/programming 本周的热门帖子。”

Agent 调用 reddit_subreddit_top,参数如下:

name: "programming"
t: "week"

若要继续翻页,请在下一次调用时传入响应中的 after 游标:{ name: "programming", t: "week", after: "<after from response>" }。

查找讨论某款产品的人

“哪些 Reddit 用户在推荐机械键盘?他们都说了什么?”

Agent 调用 reddit_deep_comment_search,参数如下:

q: "mechanical keyboard"
group_by: "author"
sort: "relevance"

研究模式会返回提到该查询的不同用户,并按其匹配评论的数量排序;每位用户都附有其热门评论,以及匹配到的子版块。

审查某个子版块,然后阅读帖子

“在 r/webdev 中找一条关于 API 速率限制的讨论,查看该子版块的规则,并阅读完整讨论串。”

Agent 调用针对该社区的 reddit_search,参数如下:

q: "rate limiting"
subreddit: "webdev"
sort: "relevance"
t: "year"

然后调用 reddit_subreddit_rules,参数为 { name: "webdev" };最后调用 reddit_post_comments,并传入搜索结果中的 permalink,例如 { permalink: "/r/webdev/comments/abc123/some_title/" },以获取帖子及其评论树。

设置品牌监控并查看收到的内容

“监控 r/SaaS 和 r/startups 中对我产品的提及,将匹配结果发送到我的 Slack,并告诉我目前收到了哪些内容。”

Agent 调用 reddit_monitor_webhook_create,参数如下:

url: "https://hooks.slack.com/services/..."
kind: "slack"

然后调用 reddit_monitor_add,参数如下:

subreddit: ["SaaS", "startups"]
q: "my product name"

稍后,调用 reddit_monitor_deliveries,并传入 { id: "<monitor id from the add response>" },即可返回迄今已发送的实际匹配帖子;若只想查看数量,则调用 reddit_monitor_health。

读取操作无需会话;监控/Webhook 写入操作需要有效套餐

读取操作只需要 API 密钥——无需关联账户、登录或 Cookie。Reddit 写入操作(评论、发帖、投票、发送私信)需要额外一步:reddit_connect 会在我们这边加密保存你的 Reddit 会话,因此后续调用无需携带 Cookie。在你完成连接之前,任何工具都无法以你的身份发帖、投票或发送私信;你也可以随时调用 reddit_disconnect 删除已保存的会话。监控/Webhook 管理工具属于另一类写入操作:它们会配置你自己的 redditapis.com 账户(提醒订阅),创建或更改状态的操作(reddit_monitor_add/update/remove、reddit_monitor_webhook_create/test/delete)都需要有效的监控套餐;读取你自己的列表、健康状态或投递历史则无需套餐。

故障排查

HTTP 401 (invalid or missing API key) 检查 MCP 客户端配置中的 REDDITAPIS_KEY 是否设置正确,并确认它与 redditapis.com 提供的密钥一致。

HTTP 402 (insufficient credits) 在 redditapis.com 为账户充值。对于监控/ webhook 写入,若 402 响应正文为 subscription_required,表示没有有效的监控计划(监控没有免费套餐);若为 monitor_slots_exhausted,表示计划中的监控槽位已全部占用——reddit_monitor_list 的 slots 字段会显示已用槽位数和总数。

HTTP 403 (access forbidden) 子版块或用户可能是私密的、已被封禁或处于隔离状态,也可能是你的计划不包含此端点。

HTTP 404 (not found) 子版块、帖子 ID、用户或永久链接可能有误,也可能是内容已被删除或移除。

HTTP 429 (rate limited) 等待几秒后重试,或降低请求频率。对于批量操作,请拉开调用间隔并调高 REDDITAPIS_TIMEOUT_MS。

HTTP 408 或 HTTP 503 且带有 upstream_timeout 读取未能及时完成,且不会计费(503 表示 API 自身的读取时限已用尽)。当重试仍可在 REDDITAPIS_TIMEOUT_MS 时限内完成时,服务端已根据 retry_after(或 Retry-After 标头)重试过一次;请稍后再次调用工具。读取请求遇到 503 upstream_unavailable 时也会进行同样的一次重试。

Request failed: timed out after 30000ms 默认超时时间为 30 秒。对于大型 reddit_deep_comment_search 或分页获取操作,请调高 REDDITAPIS_TIMEOUT_MS(例如 60000)。

Claude / Cursor 中未显示工具 确保 npx 位于 PATH 中,且已安装 Node.js 18+(node --version)。检查 MCP 客户端日志中是否有启动错误。

开发

npm install
npm run check   # syntax-check both source files
npm test        # unit-test the tool catalog + query/path builders (no network)
npm start       # run the stdio server (needs REDDITAPIS_KEY)

链接

  • 网站和 API 密钥:redditapis.com
  • REST API 基础 URL(无需 MCP,直接调用):https://api.redditapis.com

常见问题

需要 Reddit 开发者应用吗? 不需要。一个 RedditAPIs 密钥即可用于所有读取操作,无需注册 Reddit 开发者应用。

费用是多少? 按需付费,每次读取 $0.0015;也可以选择月度读取套餐,$19 起,可读取 30,000 次。每个账户每月可免费读取 1,000 次,注册时还可获得 $0.50 免费额度,无需绑定银行卡。监控需要监控计划,没有免费套餐。

可以发帖、评论或投票吗? 可以,使用 reddit_connect 连接一次 Reddit 账户后即可(会话会在我们这边加密存储,之后的调用不会传输会话)。随后,reddit_comment、reddit_submit、reddit_vote 和 reddit_dm 会以该账户身份执行操作,并且都会标记为写入操作,以便客户端在运行前征求确认。reddit_disconnect 会删除已存储的会话。其他工具中,10 个监控/ webhook 工具用于管理你自己的 redditapis.com 监控项和 webhook(属于写入操作,但不会写入 Reddit 本身);reddit_set_watch 可通过一次调用设置完整的监控;reddit_explain 会说明你持有的各行数据的来源;3 个反馈工具用于向 redditapis.com 团队发送报告或读取报告;reddit_account_me 和 reddit_account_payments 则用于读取你自己的余额、计划和充值记录。

支持哪些客户端? Claude Desktop、Claude Code、Cursor、Windsurf 和 VS Code(Copilot Agent 模式),以及任何 Model Context Protocol 客户端。

它会存储我的密钥或数据吗? 不会。服务不保存任何状态,并会在每次调用时转发你的 API 密钥。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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