reddit-readonly-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REDDIT_CACHE | No | In-memory read cache (on / off). | on |
| REDDIT_AUTH_MODE | No | Backend mode: auto (cascade enabled), mobile, installed, or rss. | auto |
| REDDIT_LOG_LEVEL | No | Logging verbosity to stderr: debug, info, warn, error, silent. | info |
| REDDIT_TIMEOUT_MS | No | HTTP request timeout in milliseconds. | 20000 |
| REDDIT_MAX_RETRIES | No | Maximum retry attempts upon encountering HTTP 429 rate limits. | 3 |
| REDDIT_CACHE_MAX_MB | No | Maximum memory limit for LRU cache in megabytes. | 50 |
| REDDIT_MOBILE_CLIENT_ID | No | Android client ID override point if upstream revokes the default constant. | ohXpoqrZYub1kg |
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 |
|---|---|
| get_reddit_postA | Fetch a single Reddit post by id: title, author, subreddit, score, comment count, created time, permalink, link URL and body text (truncated if very long). Read-only, anonymous. Use get_post_comments for the discussion. |
| get_top_postsA | Top posts of a subreddit (or the anonymous front page) over a time window (default week). Read-only, anonymous. Returns {"data": [...], "after": cursor|null}. Also works in RSS fallback mode (max ~25 posts, no score/comment counts, no pagination). |
| browse_subredditA | Browse a subreddit feed sorted by hot/new/top/rising/controversial. Read-only, anonymous. Returns {"data": [...], "after": cursor|null}. Also works in RSS fallback mode for hot/new/top/rising (max ~25 posts, no score/comment counts, no pagination). |
| search_redditA | Search Reddit posts (or subreddits/users via 'type'), optionally restricted to one subreddit. Read-only, anonymous. Returns {"data": [...], "after": cursor|null}. |
| get_user_infoA | Public profile of a Reddit user: karma, account creation time, employee/mod/verified flags, profile description. Read-only, anonymous; private account data is never available. |
| get_user_postsA | Posts submitted by a user. Read-only, anonymous. Returns {"data": [...], "after": cursor|null}. |
| get_user_commentsA | Comments written by a user, with the title of the post each one belongs to. Read-only, anonymous. Returns {"data": [...], "after": cursor|null}. |
| get_subreddit_infoB | Subreddit metadata: title, public description, subscribers, active users, creation time, NSFW flag, submission type. Read-only, anonymous. |
| get_subreddit_rulesB | The posting rules of a subreddit (short name, description, which content kinds they apply to). Read-only, anonymous. |
| get_trending_subredditsA | Currently popular subreddits (Reddit's /subreddits/popular listing). Read-only, anonymous. Returns {"data": [...], "after": cursor|null}. |
| get_post_commentsA | The comment tree of a post. Returns {"post": {...}, "data": [comments with nested "replies"], "more": [stubs], "after": null}. Collapsed branches are listed in "more" (parent_id, count, children ids) and counted on the parent comment as "more_replies". These "more" stubs CANNOT be expanded by this server: Reddit answers /api/morechildren with HTTP 403 for anonymous tokens, so do not expect a follow-up call to retrieve them. To see more of a thread, call get_post_comments again with a larger limit/depth or a different sort. Read-only, anonymous. |
| doctorA | Diagnostics, no arguments: which read backend is live (mobile / installed / rss), whether it has degraded, token expiry, Reddit rate-limit remaining/reset, and cache/request stats. Call this first when other tools fail. |
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 12 tools
Most tools target clearly different resources (posts, comments, subreddits, users), so an agent can usually select without confusion. However, get_top_posts and browse_subreddit both return subreddit post feeds, and get_subreddit_info and get_subreddit_rules both return subreddit metadata, creating minor overlap.
All names use snake_case with predictable verb prefixes like get_, browse_, and search_, making the pattern easy to follow. The lone exception is 'doctor', which lacks a verb_noun structure, though its diagnostic purpose is clear.
With 12 tools, the surface is well-scoped for a read-only Reddit client; each tool maps to a distinct read operation and none feels redundant or gratuitous. The count sits comfortably in the ideal 3–15 range.
The server covers core read-only workflows: browsing and searching posts, fetching comments, viewing subreddit metadata and rules, and inspecting user profiles, posts, and comments, plus diagnostics. Minor gaps like wiki pages or post awards exist, but they are outside the core scope and the comment-expansion limitation is explicitly documented.