Reddit读写工具

一个无需API即可读取Reddit内容并可选择使用会话cookie进行写入操作的工具,适用于需要与Reddit交互的自动化场景。

  • by iris-alights
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 iris-alights/reddit-mcp

使用说明

reddit mcp

Reddit的MCP服务器。只读模式无需设置即可开箱即用。写入模式需要会话cookie,并且存在风险。

只读模式(无需设置)

从Reddit阅读不需要凭据。只需安装和使用:

pip install reddit-mcp-noapi

阅读工具(reddit_read, reddit_listing, reddit_search)从以下位置获取公共JSON old.reddit.com。这与在浏览器中查看Reddit完全相同,无需登录。

注: 向AI提供Reddit内容可能违反了Reddit的ToS。然而,只读访问与正常浏览无法区分,因此没有实际风险——Reddit无法区分你阅读帖子和克劳德阅读帖子之间的区别。

MCP配置(只读)

{
  "mcpServers": {
    "reddit": {
      "command": "reddit-mcp"
    }
  }
}

CLI示例(只读)

# Read a post with comments
reddit read https://reddit.com/r/LocalLLaMA/comments/abc123/post_title

# List subreddit posts
reddit listing LocalLLaMA --limit 10

# Search
reddit search LocalLLaMA "llama 3"

写入模式(需要会话Cookie)

⚠️ 请在继续之前阅读此内容。

写模式允许您发表评论、提交帖子、投票和查看收件箱。它通过使用浏览器中的会话Cookie来工作。

风险

这违反了Reddit的服务条款。 红迪 API访问受到严格限制 并于2025年12月完全停止发布新的免费API密钥。使用自动化绕过他们的API限制显然违反了他们的规则。

如果Reddit检测到您的帐户被自动访问, 您的帐户可能会被永久禁止无法预测这种情况是否会发生或何时会发生。

如果你接受风险

选项1:从浏览器自动导入(推荐)

如果您在浏览器中登录了Reddit,CLI可以自动导入您的会话:

# Auto-detect browser
reddit auth

# Or specify a browser
reddit auth --browser firefox
reddit auth --browser chrome

这提取了 reddit_session cookie并将其保存到 ~/.config/reddit-mcp/session.json.

支持的浏览器:

浏览器 Linux macOS Windows
火狐浏览器 ✓ ✓ ✓
Chrome ✓ ✓ ✓
铬 ✓ ✓ ✓
Safari浏览器 -- ? —
边缘 ✓ ✓ ✓
歌剧 ✓ ✓ ✓
勇敢 ✓ ✓ ✓

✓ = 支持?=未经测试,--=不适用

笔记:

  • Linux支持Chrome/Chromium的Snap和Flatpak安装
  • 基于Chrome的浏览器可能会提示用户访问密钥链/密钥环以解密Cookie
  • Safari支持未经测试——请报告是否有效(或无效)

使用不同的帐户: 如果您为不同的Reddit帐户使用不同的浏览器,请指定浏览器:

# Main account in Firefox
reddit auth --browser firefox

# Alt account in Chromium (use different session directory)
REDDIT_SESSION_DIR=~/.config/reddit-mcp-alt reddit auth --browser chromium

选项2:手动导出Cookie

如果自动导入不起作用:

  1. 在浏览器中登录Reddit
  2. 打开DevTools(F12)→ 应用→ 饼干→ https://www.reddit.com
  3. 查找名为的cookie reddit_session
  4. 复制其值(这是一个以以下开头的长JWT字符串 eyJ...)
  5. 创建 ~/.config/reddit-mcp/session.json:
{
  "cookies": {
    "reddit_session": "eyJhbGciOiJS... (your full cookie value here)"
  },
  "username": "your_reddit_username"
}

注: 手动设置不支持自动刷新。当您的cookie过期时,您需要重复这些步骤。使用 reddit auth 如果你想自动刷新。

(可选)覆盖会话位置

默认情况下,会话存储在 ~/.config/reddit-mcp/。如果您希望Claude使用与CLI默认帐户不同的Reddit帐户,或者您正在使用不同帐户运行多个实例,则可以在MCP配置中覆盖此设置:

{
  "mcpServers": {
    "reddit": {
      "command": "reddit-mcp",
      "env": {
        "REDDIT_SESSION_DIR": "/path/to/session/directory"
      }
    }
  }
}

写入模式如何工作

  1. 写入操作从以下位置加载会话cookie ~/.config/reddit-mcp/session.json
  2. cookie用于通过以下方式进行身份验证 old.reddit.com
  3. 当cookie过期时,reddit mcp会自动从同一浏览器重新导入

Reddit会话Cookie持续时间很长(几个月),因此刷新很少。如果自动刷新失败(例如,您已退出浏览器),只需运行 reddit auth 再一次。

写入工具

工具 说明
reddit_inbox 检查回复、提及、消息
reddit_comment 回复帖子或评论
reddit_submit 提交新帖子
reddit_vote 赞成票/反对票
reddit_delete 删除您自己的内容

CLI示例(写入模式)

# Check inbox
reddit inbox
reddit inbox --unread

# Post a comment (thing_id is t3_xxx for posts, t1_xxx for comments)
reddit comment t3_abc123 "This is my reply"

# Submit a text post
reddit submit LocalLLaMA "Post Title" --text "Post body here"

# Submit a link post
reddit submit LocalLLaMA "Post Title" --url "https://example.com"

# Vote (1 = upvote, -1 = downvote, 0 = remove vote)
reddit vote t3_abc123 1

# Delete your own post or comment
reddit delete t1_xyz789

为什么存在

Reddit于2023年严格限制第三方API访问,并于2025年12月完全停止发布新的免费API密钥。如果你想以编程方式构建与Reddit交互的东西,你的选择是:

  1. 成为一家可以协商API访问权限的大公司
  2. 废弃公共页面(只读)
  3. 使用会话Cookie(这对写入有什么作用)

这个工具之所以存在,是因为AI/LLM社区能够与Reddit互动,而Reddit已经通过官方渠道实现了这一点。

许可证

无许可证 --公共领域。你想用它做什么就做什么。

作者对使用此工具的任何后果不承担任何责任。