Skip to main content
Glama
krishna-astrasols

Reddit MCP Server

Reddit MCP Server

一个用于与 Reddit 交互的 Model Context Protocol (MCP) 服务器——获取帖子、评论、用户信息,以及创建内容

npm version npm downloads GitHub stars License: MIT

功能一览

功能

reddit-mcp-server

其他 Reddit MCP

创建帖子

:white_check_mark:

:x:

回复帖子/评论

:white_check_mark:

:x:

编辑帖子/评论

:white_check_mark:

:x:

删除帖子/评论

:white_check_mark:

:x:

垃圾信息防护(安全模式)

:white_check_mark:

:x:

机器人披露页脚

:white_check_mark:

:x:

内置政策合规

:white_check_mark:

:x:

浏览 Subreddit

:white_check_mark:

:white_check_mark:

搜索 Reddit

:white_check_mark:

:white_check_mark:

用户分析

:white_check_mark:

:white_check_mark:

帖子评论

:white_check_mark:

:white_check_mark:

零配置匿名模式

:white_check_mark:

:white_check_mark:

三级认证(10/60/100 rpm)

:white_check_mark:

:white_check_mark:

Related MCP server: Reddit MCP Server

快速开始

选项 1:Claude Desktop 扩展(最简单)

下载并打开扩展文件——Claude Desktop 将自动安装它:

下载 reddit-mcp-server.mcpb

选项 2:NPX(无需安装)

npx reddit-mcp-server

或者添加到你的 MCP 配置中(Claude Desktop、Cursor 等):

{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["reddit-mcp-server"]
    }
  }
}

选项 3:Claude Code

claude mcp add --transport stdio reddit -- npx reddit-mcp-server

功能

只读工具

工具

描述

get_reddit_post

获取特定 Reddit 帖子并附带互动分析

get_top_posts

从 subreddit 或首页信息流获取热门帖子

browse_subreddit

按排序方式(hot、new、top、rising、controversial)浏览 subreddit/首页信息流

get_user_info

获取 Reddit 用户的详细信息

get_user_posts

获取特定用户提交的帖子

get_user_comments

获取特定用户发表的评论

get_subreddit_info

获取 subreddit 详情和统计数据

get_trending_subreddits

获取当前热门的 subreddit

get_post_comments

获取特定帖子的评论并带线程结构

search_reddit

在 Reddit 上搜索帖子

写入工具(需要用户凭据)

工具

描述

create_post

在 subreddit 中创建新帖子

reply_to_post

回复现有帖子或评论

edit_post

编辑你自己的 Reddit 帖子(仅限文本内容)

edit_comment

编辑你自己的 Reddit 评论

delete_post

永久删除你自己的帖子

delete_comment

永久删除你自己的评论

配置

环境变量

变量

必填

默认值

描述

REDDIT_CLIENT_ID

*

-

Reddit 应用客户端 ID

REDDIT_CLIENT_SECRET

*

-

Reddit 应用客户端密钥

REDDIT_USERNAME

-

Reddit 用户名(用于写入操作)

REDDIT_PASSWORD

-

Reddit 密码(用于写入操作)

REDDIT_USER_AGENT

自动生成

自定义 User-Agent 字符串

REDDIT_AUTH_MODE

auto

认证模式:autoauthenticatedanonymous

REDDIT_SAFE_MODE

standard

写入保护:offstandardstrict

REDDIT_BOT_DISCLOSURE

off

机器人披露页脚:autooff

REDDIT_BOT_FOOTER

内置

自定义机器人页脚文本(当披露设置为 auto 时)

REDDIT_CACHE

on

读取请求的内存缓存:onoff

REDDIT_CACHE_MAX_MB

50

缓存大小上限(MB)(超出后按 LRU 淘汰)

REDDIT_MAX_RETRIES

3

HTTP 429 时按 Retry-After 退避重试次数(设为 0 禁用)

*仅在使用 authenticated 模式时需要。

完整 MCP 配置示例

{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["reddit-mcp-server"],
      "env": {
        "REDDIT_CLIENT_ID": "your_client_id",
        "REDDIT_CLIENT_SECRET": "your_client_secret",
        "REDDIT_USERNAME": "your_username",
        "REDDIT_PASSWORD": "your_password",
        "REDDIT_SAFE_MODE": "standard"
      }
    }
  }
}

安全模式(垃圾信息防护)

通过内置保护措施,保护你的 Reddit 账户免受垃圾信息检测和封禁。默认启用standard 模式),符合 Reddit 的 Responsible Builder Policy。

为什么使用安全模式?

Reddit 的垃圾信息检测可能会因以下行为标记账户:

  • 快速发帖或评论

  • 重复或相似内容

  • 在多个 subreddit 发布相同内容

  • 非标准 User-Agent 字符串

安全模式可自动帮助防止这些问题。

模式选项

模式

写入延迟

重复检测

适用场景

off

仅限明确选择退出

standard

2 秒

最近 10 项 + 跨 subreddit

默认,推荐

strict

5 秒

最近 20 项 + 跨 subreddit

适用于谨慎的自动化发帖

禁用安全模式

安全模式默认启用。要明确禁用:

export REDDIT_SAFE_MODE=off
npx reddit-mcp-server

安全模式的作用

  1. 速率限制:在写入操作之间强制执行最小延迟

  2. 重复检测:阻止相同内容被发布两次

  3. 跨 Subreddit 检测:防止将相同内容发布到多个 subreddit(依据 Reddit 政策)

  4. 智能 User-Agent:提供用户名时自动生成符合 Reddit 规范的 User-Agent 格式

机器人披露

Reddit 的 Responsible Builder Policy 要求机器人披露其自动化性质。在所有发布内容上启用自动机器人页脚:

export REDDIT_BOT_DISCLOSURE=auto
npx reddit-mcp-server

启用后,页脚将附加到所有帖子、回复和编辑中:

---
🤖 I am a bot | Built with reddit-mcp-server

使用 REDDIT_BOT_FOOTER 自定义页脚:

export REDDIT_BOT_DISCLOSURE=auto
export REDDIT_BOT_FOOTER=$'\n\n---\n^(🤖 Custom bot footer text)'

认证模式

模式对比

模式

速率限制

需要设置

最适合

anonymous

~10 次/分钟

快速测试、只读

auto(默认)

10-100 次/分钟

可选

灵活使用

authenticated

60-100 次/分钟

需要

生产环境使用

匿名模式(零配置)

{
  "env": {
    "REDDIT_AUTH_MODE": "anonymous"
  }
}

匿名模式并非在所有网络上都能工作。 Reddit 会阻止来自许多 IP 段的未认证请求——数据中心、云主机、VPN 以及其标记的地址——并以 HTTP 403 阻止页面作为响应。如果遇到这种情况,工具将失败并显示:

Reddit is blocking unauthenticated requests from this network (HTTP 403 with a
block page). Set REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET to authenticate with
OAuth, which also raises the rate limit from ~10 to 60+ requests/min.

解决办法是使用 OAuth 凭据——请参阅下一节。这是你的网络属性,而不是你的 Reddit 账户或所请求的 subreddit 的问题,因此它会同时影响所有工具。如果单个 subreddit 返回 403 而其他正常,则是另一回事:该 subreddit 是私有的或被隔离的。

认证模式(更高速率限制)

  1. https://www.reddit.com/prefs/apps 创建一个 Reddit 应用(选择 "script" 类型)

  2. 复制客户端 ID 和密钥

  3. 配置:

{
  "env": {
    "REDDIT_AUTH_MODE": "authenticated",
    "REDDIT_CLIENT_ID": "your_client_id",
    "REDDIT_CLIENT_SECRET": "your_client_secret"
  }
}

写入操作

要创建帖子、回复、编辑或删除内容,你需要用户凭据:

{
  "env": {
    "REDDIT_USERNAME": "your_username",
    "REDDIT_PASSWORD": "your_password",
    "REDDIT_SAFE_MODE": "standard"
  }
}

开发

命令

pnpm install        # Install dependencies
pnpm build          # Build TypeScript
pnpm dev            # Build and run MCP inspector
pnpm test           # Run tests
pnpm lint           # Lint code
pnpm format         # Format code

CLI 选项

npx reddit-mcp-server --version         # Show version
npx reddit-mcp-server --help            # Show help
npx reddit-mcp-server --generate-token  # Generate OAuth token for HTTP mode

HTTP 服务器模式

对于 Docker 部署或基于 Web 的客户端,请使用 HTTP 传输:

TRANSPORT_TYPE=httpStream PORT=3000 node dist/index.js

使用 OAuth 保护

export OAUTH_ENABLED=true
export OAUTH_TOKEN=$(npx reddit-mcp-server --generate-token | tail -1)
TRANSPORT_TYPE=httpStream node dist/index.js

发起认证请求:

curl -H "Authorization: Bearer $OAUTH_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"method":"tools/list","params":{}}' \
     http://localhost:3000/mcp

Docker

快速开始

# Pull and run
docker pull ghcr.io/jordanburke/reddit-mcp-server:latest

docker run -d \
  --name reddit-mcp \
  -p 3000:3000 \
  -e REDDIT_CLIENT_ID=your_client_id \
  -e REDDIT_CLIENT_SECRET=your_client_secret \
  -e REDDIT_SAFE_MODE=standard \
  ghcr.io/jordanburke/reddit-mcp-server:latest

Docker Compose

services:
  reddit-mcp:
    image: ghcr.io/jordanburke/reddit-mcp-server:latest
    ports:
      - "3000:3000"
    environment:
      - REDDIT_CLIENT_ID=${REDDIT_CLIENT_ID}
      - REDDIT_CLIENT_SECRET=${REDDIT_CLIENT_SECRET}
      - REDDIT_USERNAME=${REDDIT_USERNAME}
      - REDDIT_PASSWORD=${REDDIT_PASSWORD}
      - REDDIT_SAFE_MODE=standard
      - OAUTH_ENABLED=${OAUTH_ENABLED:-false}
      - OAUTH_TOKEN=${OAUTH_TOKEN}
    restart: unless-stopped

本地构建

docker build -t reddit-mcp-server .
docker run -d --name reddit-mcp -p 3000:3000 --env-file .env reddit-mcp-server

Reddit Responsible Builder Policy

此服务器在设计时考虑了 Reddit 的 Responsible Builder Policy

  • 默认开启安全模式 — 速率限制和重复检测防止垃圾信息

  • 跨 subreddit 重复检测 — 阻止跨 subreddit 的相同内容

  • 机器人披露支持 — 可选的自动页脚以实现透明性

  • 无投票/声望操纵 — 有意排除 upvote/downvote 工具

  • 无私信功能 — 有意排除 DM 工具

  • 政策感知的 AI 指令 — MCP 服务器指令提醒 AI 助手注意数据使用限制

致谢

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    An MCP server that enables AI assistants to access and interact with Reddit content through features like user analysis, post retrieval, subreddit statistics, and authenticated posting capabilities.
    15
    298
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    An MCP server that provides both read-only and authenticated access to Reddit content and interactions without requiring a developer API key. It enables users to browse posts, search subreddits, and perform write actions like commenting and voting by leveraging browser session cookies.
    8
    1
    The Unlicense
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides AI agents with full Reddit API capabilities including search, browsing, reading, posting, commenting, voting, editing, and deleting.
    10
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/krishna-astrasols/reddit-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server