Read Reddit from local MCP-compatible clients, including Claude Code and Codex, with no API key, app registration or OAuth. A stdio MCP server over Reddit's public RSS feeds.
Three tools with clear, action-oriented names (browse_subreddit, get_post, search_reddit) and well-structured input schemas. Descriptions are substantive (100 - 200 chars) and explain WHEN to use each tool. All parameters have types and descriptions. However, output schemas are not documented, LLMs cannot predict what fields to expect from responses. Error handling is minimal; no guidance on recovery or retryability. No tool annotations (readOnlyHint, etc.). Parameter descriptions could be more precise about constraints (e.g., subreddit name format, URL format for get_post).
Read what a subreddit is posting right now, to see a community's live activity. Use this when the question is about what people in a specific community are currently saying or doing, or when a post is too recent for Reddit's search index to have caught it yet (search lags; "new" here does not). Scores, upvote ratios, and comment counts are not available.
Read one Reddit thread in full: the original post plus its comments. Use this after a search or a browse turns up a promising thread and you need what people actually wrote in it, the details, caveats, corrections, and disagreements that a title alone never carries. Comments come back as a flat list (the reply tree is not available), and neither are scores or vote counts.
Search Reddit discussions for real user opinions and experiences
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting). Forces trial-and-error parsing and wastes tokens on discovery.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All three tools are read-only but this is not declared in the schema, forcing LLMs to infer safety from descriptions alone.
Parameter descriptions lack format/constraint details. 'subreddit' accepts 'r/python' or 'python' but this is only mentioned in description text, not as a pattern or enum. 'url' in get_post should specify accepted formats (full URL vs permalink).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Error handling is minimal. Code raises RuntimeError for rate limits and parse errors but does not guide LLM recovery (e.g., 'retry after X seconds' or 'check feed URL format'). No categorization of retryable vs fatal errors.
search_reddit description is generic ('Search Reddit discussions for real user opinions and experiences'). Does not explain WHEN to use it vs browse_subreddit, or what distinguishes it (e.g., full-text search vs feed-based browsing).