Reddit MCP Server

Reads Reddit posts, users and subreddits, and can post and reply with your Reddit account

By Alexandros Lekkas (individual) TypeScript Local · stdio Communication

0 popularity score ★ 1

Connect your client

Local (from source)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

It needs REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET. Replace each <NAME> with your value.

FirstTerminal
git clone https://github.com/aflekkas/reddit-mcp-server
cd reddit-mcp-server
npm install
npm install dotenv
npm run build
Claude CodeTerminal
claude mcp add reddit -e REDDIT_CLIENT_ID=<REDDIT_CLIENT_ID> -e REDDIT_CLIENT_SECRET=<REDDIT_CLIENT_SECRET> -- node '<ABSOLUTE_PATH_TO_CLONE>/build/index.js'
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "reddit": {
      "command": "node",
      "args": [
        "<ABSOLUTE_PATH_TO_CLONE>/build/index.js"
      ],
      "env": {
        "REDDIT_CLIENT_ID": "<REDDIT_CLIENT_ID>",
        "REDDIT_CLIENT_SECRET": "<REDDIT_CLIENT_SECRET>"
      }
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "reddit": {
      "command": "node",
      "args": [
        "<ABSOLUTE_PATH_TO_CLONE>/build/index.js"
      ],
      "env": {
        "REDDIT_CLIENT_ID": "<REDDIT_CLIENT_ID>",
        "REDDIT_CLIENT_SECRET": "<REDDIT_CLIENT_SECRET>"
      }
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "reddit": {
      "type": "stdio",
      "command": "node",
      "args": [
        "<ABSOLUTE_PATH_TO_CLONE>/build/index.js"
      ],
      "env": {
        "REDDIT_CLIENT_ID": "<REDDIT_CLIENT_ID>",
        "REDDIT_CLIENT_SECRET": "<REDDIT_CLIENT_SECRET>"
      }
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.reddit]
command = "node"
args = ["<ABSOLUTE_PATH_TO_CLONE>/build/index.js"]

[mcp_servers.reddit.env]
REDDIT_CLIENT_ID = "<REDDIT_CLIENT_ID>"
REDDIT_CLIENT_SECRET = "<REDDIT_CLIENT_SECRET>"
Gemini CLITerminal
gemini mcp add --scope user -e REDDIT_CLIENT_ID=<REDDIT_CLIENT_ID> -e REDDIT_CLIENT_SECRET=<REDDIT_CLIENT_SECRET> reddit node -- '<ABSOLUTE_PATH_TO_CLONE>/build/index.js'

Settings 5

REDDIT_CLIENT_ID Required: Client ID of your Reddit script app; the server exits without it.
REDDIT_CLIENT_SECRET secret Required: Client secret of your Reddit script app; the server exits without it.
REDDIT_USER_AGENT Optional: User-Agent sent to Reddit; defaults to RedditMCPServer/0.1.0. Default RedditMCPServer/0.1.0.
Set together: posting
REDDIT_USERNAME Optional: Reddit account name; needed with REDDIT_PASSWORD for create_post and reply_to_post. For create_post, reply_to_post.
REDDIT_PASSWORD secret Optional: Password for that Reddit account; needed for posting and replying. For create_post, reply_to_post.

What it does

A small Node.js server, written in TypeScript, that talks to the Reddit API on behalf of an assistant. With a Reddit app's client ID and secret it fetches a single post, the top posts of a subreddit, a user's profile, a subreddit's details and a list of trending subreddits. If a Reddit username and password are also given, it can submit a new post and reply to a post as that user.

Its author describes it as a Node.js port of Arindam200's Python Reddit server, and it is the project that jordanburke/reddit-mcp-server was later forked from. The repository is archived, so it receives no further changes.

The README's tool list does not match the code. src/index.ts registers eight tools: test_reddit_mcp_server, get_reddit_post, get_top_posts, get_user_info, get_subreddit_info, get_trending_subreddits, create_post and reply_to_post. The README's get_subreddit_stats and reply_to_comment do not exist in the code. get_top_posts returns 10 posts for the past week unless limit and time_filter are given.

What it needs

RuntimeNode.js
Runs onmacOS, Windows, Linux
RedditFreeA script-type app at reddit.com/prefs/apps for the client ID and secret. Posting also needs the account's username and password.

Node.js with npm to build from source (there is no npm package). A Reddit app of type "script" created at reddit.com/prefs/apps, for REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET. Posting and replying also need the Reddit account's username and password.

Limits

  • Limit Archived, with the last code change in May 2025. No further fixes will come.
  • Limit Not published to npm. It runs from a clone or through Smithery.
  • Not covered The README lists get_subreddit_stats and reply_to_comment, but src/index.ts does not register them.
  • Limit src/index.ts imports dotenv, which package.json does not list, so a fresh clone may need npm install dotenv to build.
  • Limit Log lines go to stdout through console.log, the stream the stdio protocol uses. Some clients may reject them.

Archived: last code change May 2025, no further fixes. Not published to npm; it runs only from a clone or through Smithery. The README lists get_subreddit_stats and reply_to_comment, which src/index.ts does not register. src/index.ts imports dotenv, but package.json does not list it as a dependency, so a fresh clone may need `npm install dotenv` before it builds and runs. The server writes its log lines with console.log, which goes to stdout, the same stream the stdio protocol uses; some clients may reject those lines.

Who it suits

Suits a developer who wants a simple, readable starting point for Reddit access and is happy to build from source and fix small issues. Because it is archived and its README and code disagree, most people wanting a maintained Reddit server should look at jordanburke/reddit-mcp-server, the fork of this project that we also list, which is published to npm. Pick this one only if you specifically want the original code; leave out REDDIT_USERNAME and REDDIT_PASSWORD to keep it read-only.

Tools 8

6 only read, 2 change things. A ? marks an optional parameter.

test_reddit_mcp_server
Returns a fixed message to confirm the server is reachable.
get_reddit_post
Fetches one post by subreddit and post ID.subreddit: stringpost_id: string
get_top_posts
Lists a subreddit's top posts for a time window (default week, 10 posts).subreddit: stringtime_filter?: enumlimit?: integer
get_user_info
Returns profile details for a Reddit user.username: string
get_subreddit_info
Returns details about a named subreddit.subreddit_name: string
get_trending_subreddits
Lists subreddits currently trending.
create_post changes
Submits a text or link post to a subreddit as the signed-in user.subreddit: stringtitle: stringcontent: stringis_self?: boolean
reply_to_post changes
Posts a comment in reply to a post as the signed-in user.post_id: stringcontent: stringsubreddit?: string

Similar servers