Reddit MCP Server
Read Reddit keyless or with your own app, and post, reply, edit and delete with a login
Reads Reddit posts, users and subreddits, and can post and reply with your Reddit account
By Alexandros Lekkas (individual) TypeScript Local · stdio Communication
Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
It needs REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET. Replace each <NAME> with your value.
git clone https://github.com/aflekkas/reddit-mcp-server
cd reddit-mcp-server
npm install
npm install dotenv
npm run buildclaude 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'{
"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>"
}
}
}
}{
"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>"
}
}
}
}{
"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>"
}
}
}
}[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 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'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. |
| Set together: posting | |
REDDIT_USERNAME |
Optional: Reddit account name; needed with REDDIT_PASSWORD for create_post and reply_to_post. |
REDDIT_PASSWORD secret |
Optional: Password for that Reddit account; needed for posting and replying. |
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.
| Runtime | Node.js |
|---|---|
| Runs on | macOS, Windows, Linux |
| FreeA 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.
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.
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.
6 only read, 2 change things. A ? marks an optional parameter.
test_reddit_mcp_serverget_reddit_postsubreddit: stringpost_id: stringget_top_postssubreddit: stringtime_filter?: enumlimit?: integerget_user_infousername: stringget_subreddit_infosubreddit_name: stringget_trending_subredditscreate_post changessubreddit: stringtitle: stringcontent: stringis_self?: booleanreply_to_post changespost_id: stringcontent: stringsubreddit?: string