io.github.jordanburke/reddit-mcp-server

平台与服务

by jordanburke

Reddit MCP server with full read/write - posts, comments, search, and content creation.

什么是 io.github.jordanburke/reddit-mcp-server

Reddit MCP server with full read/write - posts, comments, search, and content creation.

README

Reddit MCP Server

A Model Context Protocol (MCP) server for interacting with Reddit - fetch posts, comments, user info, and create content.

npm version npm downloads GitHub stars License: MIT

<a href="https://glama.ai/mcp/servers/@jordanburke/reddit-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@jordanburke/reddit-mcp-server/badge" alt="reddit-mcp-server MCP server" /> </a>

Features at a Glance

Featurereddit-mcp-serverOther Reddit MCPs
Create Posts:white_check_mark::x:
Reply to Posts/Comments:white_check_mark::x:
Edit Posts/Comments:white_check_mark::x:
Delete Posts/Comments:white_check_mark::x:
Spam Protection (Safe Mode):white_check_mark::x:
Bot Disclosure Footer:white_check_mark::x:
Policy Compliance Built-in:white_check_mark::x:
Browse Subreddits:white_check_mark::white_check_mark:
Search Reddit:white_check_mark::white_check_mark:
User Analysis:white_check_mark::white_check_mark:
Post Comments:white_check_mark::white_check_mark:
Zero-Setup Anonymous Mode:white_check_mark::white_check_mark:
Three-Tier Auth (10/60/100 rpm):white_check_mark::white_check_mark:

Quick Start

Option 1: Claude Desktop Extension (Easiest)

Download and open the extension file - Claude Desktop will install it automatically:

Download reddit-mcp-server.mcpb

Option 2: NPX (No install required)

bash
npx reddit-mcp-server

Or add to your MCP config (Claude Desktop, Cursor, etc.):

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

Option 3: Claude Code

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

Features

Read-only Tools

ToolDescription
get_reddit_postGet a specific Reddit post with engagement analysis
get_top_postsGet top posts from a subreddit or home feed
browse_subredditBrowse a subreddit/home feed by sort (hot, new, top, rising, controversial)
get_user_infoGet detailed information about a Reddit user
get_user_postsGet posts submitted by a specific user
get_user_commentsGet comments made by a specific user
get_subreddit_infoGet subreddit details and statistics
get_trending_subredditsGet currently trending subreddits
get_post_commentsGet comments from a specific post with threading
search_redditSearch for posts across Reddit

Write Tools (Require User Credentials)

ToolDescription
create_postCreate a new post in a subreddit
reply_to_postPost a reply to an existing post or comment
edit_postEdit your own Reddit post (self-text only)
edit_commentEdit your own Reddit comment
delete_postPermanently delete your own post
delete_commentPermanently delete your own comment

Configuration

Environment Variables

VariableRequiredDefaultDescription
REDDIT_CLIENT_IDNo*-Reddit app client ID
REDDIT_CLIENT_SECRETNo*-Reddit app client secret
REDDIT_USERNAMENo-Reddit username (for write operations)
REDDIT_PASSWORDNo-Reddit password (for write operations)
REDDIT_USER_AGENTNoAuto-generatedCustom User-Agent string
REDDIT_AUTH_MODENoautoAuthentication mode: auto, authenticated, anonymous
REDDIT_SAFE_MODENostandardWrite safeguards: off, standard, strict
REDDIT_BOT_DISCLOSURENooffBot disclosure footer: auto, off
REDDIT_BOT_FOOTERNoBuilt-inCustom bot footer text (when disclosure is auto)
REDDIT_CACHENoonIn-memory caching of read requests: on, off
REDDIT_CACHE_MAX_MBNo50Cache size cap in MB (LRU eviction beyond this)
REDDIT_MAX_RETRIESNo3Retries on HTTP 429 with Retry-After backoff (0 to disable)

*Required only if using authenticated mode.

Full MCP Config Example

json
{
  "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"
      }
    }
  }
}

Safe Mode (Spam Protection)

Protect your Reddit account from spam detection and bans with built-in safeguards. Enabled by default (standard mode) per Reddit's Responsible Builder Policy.

Why Use Safe Mode?

Reddit's spam detection can flag accounts for:

  • Rapid posting or commenting
  • Duplicate or similar content
  • Posting the same content across multiple subreddits
  • Non-standard User-Agent strings

Safe Mode helps prevent these issues automatically.

Mode Options

ModeWrite DelayDuplicate DetectionUse Case
offNoneNoExplicit opt-out only
standard2 secondsLast 10 items + cross-subDefault, recommended
strict5 secondsLast 20 items + cross-subFor cautious automated posting

Disable Safe Mode

Safe mode is enabled by default. To explicitly disable:

bash
export REDDIT_SAFE_MODE=off
npx reddit-mcp-server

What Safe Mode Does

  1. Rate Limiting: Enforces minimum delays between write operations
  2. Duplicate Detection: Blocks identical content from being posted twice
  3. Cross-Subreddit Detection: Prevents posting the same content to multiple subreddits (per Reddit policy)
  4. Smart User-Agent: Auto-generates Reddit-compliant User-Agent format when username is provided

Bot Disclosure

Reddit's Responsible Builder Policy requires bots to disclose their automated nature. Enable automatic bot footers on all posted content:

bash
export REDDIT_BOT_DISCLOSURE=auto
npx reddit-mcp-server

When enabled, a footer is appended to all posts, replies, and edits:

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

Customize the footer with REDDIT_BOT_FOOTER:

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

Authentication Modes

Mode Comparison

ModeRate LimitSetup RequiredBest For
anonymous~10 req/minNoneQuick testing, read-only
auto (default)10-100 req/minOptionalFlexible usage
authenticated60-100 req/minRequiredProduction use

Anonymous Mode (Zero Setup)

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

Authenticated Mode (Higher Rate Limits)

  1. Create a Reddit app at https://www.reddit.com/prefs/apps (select "script" type)
  2. Copy the client ID and secret
  3. Configure:
json
{
  "env": {
    "REDDIT_AUTH_MODE": "authenticated",
    "REDDIT_CLIENT_ID": "your_client_id",
    "REDDIT_CLIENT_SECRET": "your_client_secret"
  }
}

Write Operations

To create posts, reply, edit, or delete content, you need user credentials:

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

Development

Commands

bash
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 Options

bash
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 Server Mode

For Docker deployments or web-based clients, use HTTP transport:

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

With OAuth Protection

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

Make authenticated requests:

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

Docker

Quick Start

bash
# 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

yaml
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

Build Locally

bash
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

This server is designed with Reddit's Responsible Builder Policy in mind:

  • Safe mode on by default — rate limiting and duplicate detection prevent spam
  • Cross-subreddit duplicate detection — blocks identical content across subreddits
  • Bot disclosure support — optional automated footer for transparency
  • No voting/karma manipulation — upvote/downvote tools are intentionally excluded
  • No private messaging — DM tools are intentionally excluded
  • Policy-aware AI instructions — MCP server instructions remind AI assistants of data usage restrictions

Credits

常见问题

io.github.jordanburke/reddit-mcp-server 是什么?

Reddit MCP server with full read/write - posts, comments, search, and content creation.

相关 Skills

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描164.6k

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描164.6k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描23.3k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.0k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
79.5k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
71.5k

评论