Skip to main content
Glama
mgcrea

mcp-reddit

by mgcrea

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
REDDIT_DEBUGNoSet to '1' to log to stderr.0
REDDIT_CLIENT_IDYesFrom the Reddit app page. Without it only the auth tools are registered.
REDDIT_HTTP_PORTNoPort for HTTP mode. Defaults to 8725.8725
REDDIT_TOKEN_PATHNoDefaults to $XDG_CONFIG_HOME/reddit/tokens.json.$XDG_CONFIG_HOME/reddit/tokens.json
REDDIT_USER_AGENTNoMust be in the format platform:app-id:version (by /u/name). Reddit throttles generic agents.
REDDIT_MAX_RETRIESNoRetry budget for 401/429/5xx. Defaults to 3.3
REDDIT_ALLOW_WRITESNoSet to '1' to register the mutating tools.0
REDDIT_REDIRECT_URINoDefaults 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_SECRETNoRequired 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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 subreddit is omitted. Returns each post's id, title, author, score, comment count and permalink — the body text or link, but never the comments. Use reddit_get_post for one thread's discussion; fetching 25 posts' comment trees is orders of magnitude more text than this.

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 subreddit is given, site-wide otherwise. Reddit's index is weaker than a web search engine's: prefer a few distinctive words over a natural-language question, and note that sort=relevance over time=all is usually better than new for finding the canonical thread.

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 maxComments and maxDepth are deliberately low: raise them when you actually need the long tail. Replies that were not expanded are reported under unexpanded with their ids, so nothing is dropped silently — pass those ids to reddit_get_more_comments.

reddit_get_more_commentsA

Expand the reply stubs reddit_get_post reported under unexpanded. Pass the post id and the ids from one stub. This is the only way to reach a deep thread's tail — re-fetching the post with a bigger maxDepth walks the same top-level branches again rather than continuing where it stopped.

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. /r/rust/about/rules. The response is returned raw and unshaped, so keep limit small: an unshaped listing is roughly ten times the size of what the other tools return. Writes are DISABLED: only GET is permitted. Set REDDIT_ALLOW_WRITES=1 and sign in to allow POST.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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

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