The Reddit MCP server has solid naming conventions with clear verb-noun patterns (get_subreddit_posts, search_posts, submit_post, etc.). All 12 tools have descriptions and input schemas are present with type definitions and parameter descriptions. However, there are notable gaps: (1) output schemas are completely undocumented, no description of what fields are returned from any tool, forcing LLMs to infer structure from API calls; (2) parameter descriptions, while present, often lack constraints and ranges (e.g., 'limit' accepts 1-100 but description doesn't specify bounds in several tools); (3) error handling guidance is minimal, no actionable recovery messages visible; (4) the two write tools (submit_post, submit_comment) lack dry-run/confirmation patterns despite being irreversible; (5) no tool annotations (readOnlyHint, destructiveHint) to help agents understand operation safety. The 8 read-only tools are well-designed for discovery, but the 4 write/action tools need strengthening with confirmations and clearer consequences.
Get information about a subreddit (subscribers, description, rules)
Get posts from a subreddit
Get a user's comments
Get a user's submitted posts
Get a Reddit user's profile (karma, account age, description)
Read a post and its comments
Save or unsave a post or comment
Output schemas completely undocumented. No visible documentation of what fields each tool returns. LLMs cannot plan downstream calls or extract data without inferring structure from live API responses, causing inefficiency and potential hallucinations.
Irreversible write tools (submit_post, submit_comment) lack dry-run or confirmation mechanisms. No user confirmation step before posting publicly under an account. Agents can accidentally publish content without control.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish read-only tools from dangerous write tools without reasoning about tool names. Critical for safety and planning.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 58 | - | v1 |
Search for posts across Reddit or within a subreddit
Search for subreddits by name or topic
Reply to a post or comment. WARNING: this publicly comments under your Reddit account.
Submit a new post to a subreddit. WARNING: this publicly posts content under your Reddit account.
Upvote, downvote, or remove vote on a post or comment
Parameter constraints not fully documented. 'limit' and 'depth' have numeric bounds (1-100, 0-10) but descriptions don't consistently state these ranges. LLMs may pass invalid values causing API errors.
No error handling guidance visible. No indication what errors are retryable, what user input is needed, or what recovery steps apply. Generic error messages provide no actionable path forward for agents.
'sort' parameter in search_posts lists 'relevance, hot, top, new, comments' but does not declare as enum. Free-form strings invite hallucinated invalid sort values.
'kind' parameter in submit_post accepts 'self' or 'link' but not declared as enum constraint in schema visible in source. Should be explicit enum type.
No pagination guidance for large result sets. Tools like get_subreddit_posts and search_posts accept 'limit' up to 100 but no indication of whether results are paginated or truncated. LLMs need to know if 'after' cursor is present to fetch more.