Reddit MCP 服务器 logo

Reddit MCP 服务器

Community
jordanburke

⚙️ A Model Context Protocol (MCP) that provides tools for fetching and creating Reddit content

Publisherjordanburke
Repositoryreddit-mcp-server
LanguageTypeScript
Forks
43
Stars
266
Available tools
0
Transport typestdio, streamable-http
Categories
LicenseMIT
Links
  • Connect tools to AI workflows

    Reddit MCP 服务器 exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 0 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    266 stars and 43 forks from the linked repository.

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

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:
OAuth Auth (60-100 rpm):white_check_mark::white_check_mark:
RSS Fallback (zero-setup):white_check_mark::x:

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)

Add to your MCP config (Claude Desktop, Cursor, etc.) with Reddit OAuth credentials:

json
{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["reddit-mcp-server"],
      "env": {
        "REDDIT_CLIENT_ID": "your_client_id",
        "REDDIT_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

Option 3: Claude Code

bash
REDDIT_CLIENT_ID=your_client_id REDDIT_CLIENT_SECRET=your_client_secret \
  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
save_contentSave a post or comment to your account
unsave_contentRemove a post or comment from your saved items
delete_postPermanently delete your own post
delete_commentPermanently delete your own comment

Configuration

Environment Variables

VariableRequiredDefaultDescription
REDDIT_CLIENT_IDYes-Reddit app client ID (OAuth required since mid-2026)
REDDIT_CLIENT_SECRETYes-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 deprecated)
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)

Reddit closed self-service app creation in November 2025. See Authentication for how to get credentials.

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:

---
🤖 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

⚠️ Reddit API Changes (2026)

Anonymous mode no longer works. As of mid-2026, Reddit blocks all unauthenticated API requests with HTTP 403. OAuth credentials are now required for any API access.

Additionally, Reddit closed self-service OAuth app creation in November 2025. New developers must request access through Reddit's Developer Support. Existing OAuth credentials (obtained before November 2025) continue to work.

Getting Credentials

If you already have a Reddit app (created at /prefs/apps before November 2025): use your existing client ID and secret — they still work at 60-100 req/min.

If you need new credentials: submit a request through Reddit's Developer Support describing your use case. Approval is required and may take time.

Mode Comparison

ModeRate LimitSetup RequiredTools AvailableBest For
auto (default)60-100 req/minOAuth credentialsAll toolsMost users
authenticated60-100 req/minOAuth credentialsAll toolsExplicit mode
auto (no creds)~1 req/minNonebrowse_subreddit, get_top_posts only (RSS)Quick testing
anonymous~1 req/minNonebrowse_subreddit, get_top_posts only (RSS)Legacy alias

RSS Fallback Mode

When no OAuth credentials are provided, the server automatically falls back to Reddit's public RSS feeds. This gives you zero-setup access to browse subreddits and get top posts.

What works: browse_subreddit and get_top_posts — returns up to 25 posts per request.

What's missing compared to OAuth:

  • No engagement metrics (score, comments, upvote ratio are all 0)
  • No pagination (single page of ~25 results)
  • No search, user info, comments, or write operations
  • Lower rate limit (~1 req/min vs 60-100 with OAuth)

RSS results include a disclaimer noting the data source. All other tools return a clear error directing you to set up OAuth credentials.

Read-Only Access (OAuth)

json
{
  "env": {
    "REDDIT_CLIENT_ID": "your_client_id",
    "REDDIT_CLIENT_SECRET": "your_client_secret"
  }
}

Write Operations (OAuth + User Credentials)

To create posts, reply, edit, or delete content, add your Reddit username and password:

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

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

Installation

TypingMind
{
  "mcpServers": {
    "reddit-mcp-server": {
      "command": "npx",
      "args": [
        "reddit-mcp-server"
      ],
      "env": {
        "REDDIT_CLIENT_ID": "<REDDIT_CLIENT_ID>",
        "REDDIT_CLIENT_SECRET": "<REDDIT_CLIENT_SECRET>"
      }
    }
  }
}

Use Reddit MCP 服务器 MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once Reddit MCP 服务器 is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. You can run MCP locally on your device or connect to a remote MCP server URL.

Option 1: Use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add Reddit MCP 服务器 as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the Reddit MCP 服务器 MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "reddit-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "reddit-mcp-server"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the Reddit MCP 服务器 MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the Reddit MCP 服务器 MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Reddit MCP 服务器 to help me with this task?
Reddit MCP 服务器
Sure. I read it.
Here is what I found using Reddit MCP 服务器.

Option 2: Add an MCP server URL

Use this when Reddit MCP 服务器 is already hosted remotely or your team wants one shared connector that multiple users can access.

1

Open MCP connectors

In TypingMind, go to Plugins, open MCP connectors, then choose Add URL.

  1. Open TypingMind in your browser.
  2. Go to Plugins.
  3. Open MCP connectors.
  4. Click Add URL.
TypingMind Add Custom MCP Server URL form
2

Paste the server URL

Enter the MCP server URL from the provider in the Server URL field. Add a connection name, description, icon, custom HTTP headers, or OAuth client settings if the server requires them.

  1. Paste the MCP server URL from the provider into the Server URL field.
  2. Enter a connection name for Reddit MCP 服务器.
  3. Add a description and icon if you want it to be easier to identify.
  4. Add custom HTTP headers or OAuth client details if the server requires authentication.
3

Create the connection

Click Create connection, then return to the Plugins list and confirm the new MCP connection is active.

  1. Click Create connection.
  2. Return to the MCP connectors list.
  3. Confirm the Reddit MCP 服务器 connection appears as active.
  4. Refresh the plugin list if the connection does not appear immediately.
4

Switch models without reconnecting

Start a chat with your preferred model, enable the Reddit MCP 服务器 tools from Plugins, and switch to another model whenever needed. The MCP connection stays available to the TypingMind workspace.

  1. Start a new chat in TypingMind.
  2. Select the AI model you want to use.
  3. Enable the Reddit MCP 服务器 tools from Plugins.
  4. Ask the model to use the tool when needed.
  5. Switch to another AI model and reuse the same MCP connection.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Reddit MCP 服务器 to help me with this task?
Reddit MCP 服务器
Sure. I read it.
Here is what I found using Reddit MCP 服务器.

Frequently asked questions

What is the Reddit MCP 服务器 MCP server used for?

Reddit MCP 服务器 is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use Reddit MCP 服务器 MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use Reddit MCP 服务器 with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use Reddit MCP 服务器 MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With Reddit MCP 服务器 connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect Reddit MCP 服务器 MCP to TypingMind?

Reddit MCP 服务器 can be connected in TypingMind with the local MCP connector or by adding a remote MCP server URL. Use the local connector when the server needs access to files, apps, or private resources on your device, and use a server URL when the MCP server is hosted remotely.

What tools does Reddit MCP 服务器 MCP provide in TypingMind?

Reddit MCP 服务器 exposes MCP capabilities that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use Reddit MCP 服务器 MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If Reddit MCP 服务器 requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇