mcp-reddit
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REDDIT_DEBUG | No | Set to '1' to log to stderr. | 0 |
| REDDIT_CLIENT_ID | Yes | From the Reddit app page. Without it only the auth tools are registered. | |
| REDDIT_HTTP_PORT | No | Port for HTTP mode. Defaults to 8725. | 8725 |
| REDDIT_TOKEN_PATH | No | Defaults to $XDG_CONFIG_HOME/reddit/tokens.json. | $XDG_CONFIG_HOME/reddit/tokens.json |
| REDDIT_USER_AGENT | No | Must be in the format platform:app-id:version (by /u/name). Reddit throttles generic agents. | |
| REDDIT_MAX_RETRIES | No | Retry budget for 401/429/5xx. Defaults to 3. | 3 |
| REDDIT_ALLOW_WRITES | No | Set to '1' to register the mutating tools. | 0 |
| REDDIT_REDIRECT_URI | No | Defaults to http://127.0.0.1:8724/callback. Must match the app page byte for byte. | http://127.0.0.1:8724/callback |
| REDDIT_CLIENT_SECRET | No | Required for web/script apps. Leave unset for an installed app. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| reddit_auth_statusA | Report what credentials this server has, which tools are therefore available, and — when something is missing — exactly what to set or run to fix it. Call this first whenever a tool you expected is not there: an absent tool usually means a missing scope or login rather than a bug. |
| reddit_auth_loginA | Sign in to Reddit in a browser. Opens Reddit's consent page, catches the callback on a loopback port and stores a refresh token, so this is a one-time step. Needed for your subscriptions, saved posts and inbox, and for anything that writes — public browsing and search already work without it. |
| reddit_auth_logoutA | Forget the stored Reddit refresh token. Anonymous browsing keeps working; the account-scoped tools stop. This does not revoke the app on Reddit's side — do that at https://www.reddit.com/prefs/apps. |
| reddit_auth_urlA | Build the Reddit consent URL without starting the loopback listener. Use this when the browser is on a different machine than the server, or to check which scopes a login would request before running reddit_auth_login. |
| reddit_list_postsA | List posts from a subreddit, or from the site-wide front page when |
| reddit_get_subredditA | Get one subreddit's description, subscriber count and current active users. Useful before listing posts, to confirm the name is right and the community is the one you meant — Reddit returns 404 for both a misspelling and a banned subreddit. |
| reddit_searchA | Search Reddit. Scoped to one subreddit when |
| reddit_get_postA | Get one post together with its comment thread, flattened to a depth-tagged list. Comment trees are the largest thing this API returns, so |
| reddit_get_more_commentsA | Expand the reply stubs reddit_get_post reported under |
| reddit_get_userA | Get a Reddit account's karma, age and flags. Works for any public account without a login. Suspended and shadowbanned accounts return 404, not an empty profile. |
| reddit_list_user_postsA | List the posts an account has submitted, newest first by default. Reddit only serves roughly the last 1000 items of any user listing however far you paginate, so this cannot reconstruct a full history for a prolific account. |
| reddit_list_user_commentsA | List the comments an account has written. Same ~1000-item ceiling as reddit_list_user_posts. Each comment carries its parent id, so you can follow one back to its thread with reddit_get_post. |
| reddit_requestA | Call any Reddit API endpoint directly, for the many endpoints this server does not wrap. Paths are relative to https://oauth.reddit.com — e.g. |
| reddit_rate_limit_statusA | Report what Reddit has said about your remaining budget on each endpoint used so far this session. Reddit allows roughly 100 requests per minute per OAuth client; check here before a large paginated read rather than after a 429. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct resource or action: auth login/logout/url/status, user profiles, post listings, search, post+comments, more comments, raw API access, and rate-limit status are clearly separated. Even the two status tools are differentiated by whether they report credentials or API budget.
All tools use the same snake_case reddit_ prefix and follow a predictable action-oriented pattern: get_*, list_*, auth_*, and status/request. There is no mixing of naming styles or confusing verbs.
14 tools is well within the ideal range for a Reddit client. The count is substantial enough to cover auth, users, posts, comments, subreddits, search, and raw access without feeling bloated or redundant.
The read-side surface is strong: posts, comments, users, subreddits, search, pagination, and auth are all covered. The raw reddit_request tool fills many gaps, but there are no dedicated write tools or convenience wrappers for account-scoped features like subscriptions, saved posts, or inbox despite auth_login mentioning them.