Skip to main content
Glama
brettadams0

reddit-mcp

by brettadams0

reddit-mcp

CI License: MIT Node

An MCP server over the Reddit API, backed by a self-owned OAuth2 app. Unlike the read-only servers in this set, this one can act as the account — post, comment, vote, and send private messages — so it is worth being deliberate about what you ask it to do.

Runs over stdio, registered in ~/.claude.json as reddit.

Tools

Read

Tool

Purpose

reddit_get_me

The authenticated account's own profile

reddit_get_user

Another user's public profile

reddit_get_user_activity

A user's recent posts and comments

reddit_get_subreddit_posts

Listing for a subreddit (hot/new/top/rising)

reddit_get_post

A single post plus its comment tree

reddit_search

Search across Reddit or within one subreddit

reddit_get_inbox

Private messages and inbox replies

Write — these have real, public consequences

Tool

Purpose

reddit_submit_post

Create a new post in a subreddit

reddit_submit_comment

Reply to a post or comment

reddit_vote

Up/down/clear vote on a post or comment

reddit_send_message

Send a private message to a user

reddit_mark_read

Mark inbox items read

The write tools post under your real account, publicly and attributably. Reddit's spam and vote-manipulation rules apply to API traffic exactly as they do to browser traffic, and account bans follow the account, not the app.

Related MCP server: reddit-mcp

Auth

OAuth2 with a refresh token, stored in credentials/token.json (gitignored). Reddit does not rotate refresh tokens, so the stored one stays valid indefinitely — access tokens are refreshed automatically ~60s before expiry.

npm run authorize    # one-time browser consent, writes credentials/token.json
npm run check-auth   # verify the stored token still works

Setup

Requires Node 20+.

  1. Create a script app at reddit.com/prefs/apps.

  2. Save its id and secret to credentials/client_secret.json — see credentials/client_secret.example.json for the shape. credentials/ is git-ignored.

  3. Identify yourself to Reddit. The default User-Agent contains a placeholder, and Reddit throttles generic agents hard, so set one of:

    REDDIT_USERNAME=your_reddit_username        # fills in the /u/ segment
    REDDIT_USER_AGENT="platform:app:v1.0.0 (by /u/you)"   # or replace it wholesale
  4. Authorize and register:

    npm ci
    npm run authorize
    claude mcp add reddit -- node <path>/reddit-mcp/src/index.js

Tests

npm test

Registration, the fullname-prefix helper, and User-Agent construction. No network and no credentials, so it is safe in CI.

Layout

src/auth.js            token load, refresh, caching
src/reddit.js          all tool registrations
src/index.js           McpServer construction + stdio transport
scripts/authorize.js   one-time OAuth consent flow
scripts/check-token.js token health check

Notes

  • Reddit requires a descriptive, unique User-Agent; a generic one gets 429s regardless of rate.

  • Fullnames are prefixed type IDs (t3_ post, t1_ comment, t5_ subreddit). reddit_vote wants the fullname, not the short ID from a URL.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/brettadams0/reddit-mcp'

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