A Model Context Protocol (MCP) server for Reddit with full read AND write operations - create posts, reply, edit, and delete content.
Reddit MCP server has 16 tools with generally clear naming and mostly complete input schemas. Tool names follow verb_noun convention well (browse_subreddit, get_post, create_post, delete_comment). Descriptions are present for all tools and average ~120 chars, within the 10-1024 char baseline. Input schemas are visible and typed with Zod validation. However, there are critical gaps: (1) Output schemas are not documented anywhere in the visible code, the tool definitions show inputs but no return type descriptions, forcing LLMs to infer result structure; (2) Error handling lacks recovery guidance, no tool describes what to do if a call fails (e.g., 'Try search_reddit if post not found'); (3) Some parameter descriptions are generic and lack constraints (e.g., 'post_id' and 'comment_id' lack format guidance); (4) Destructive operations (delete_post, delete_comment) lack confirmation/dry-run support despite being irreversible. READ_ONLY tools dominate (10 of 16), but WRITE/DESTRUCTIVE tools lack safety patterns. Pagination is supported via 'after' cursors but no total count is documented. The server uses fastmcp framework which registers tools with descriptions, but return type documentation is missing from all 16 tool definitions.
Browse a subreddit to see recent posts. Shows hot/new/top posts with stats, formatting, and pagination support.
Create a new post in a subreddit. Supports text, link, or media posts with optional flair and safety checks.
Delete a comment. Only works on comments created by the authenticated user.
Delete a post. Only works on posts created by the authenticated user.
Edit the text of an existing comment.
Edit the text content of a post (self-posts only). Does not modify title or metadata.
Output schemas not documented for any tool. Tool definitions show input parameters but lack return type descriptions, forcing LLMs to infer result structure. This violates the 100% A+ baseline requirement for documented return types.
Error handling lacks recovery guidance. No tool describes actionable next steps on failure (e.g., 'User not found, try search_reddit()' or 'Rate limited, wait 60s before retrying'). LLMs cannot infer error semantics without explicit guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 65 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 33 | - | v1 |
Get a specific comment with context and parent information.
Get information about the currently authenticated user, including karma and account status.
Get detailed information about a specific post, including full text and all comments.
Get the current user's saved posts and comments with pagination.
Get detailed information about a subreddit including description, rules, and statistics.
Get top posts from Reddit or a specific subreddit, filtered by time period. Works in RSS fallback mode.
Get detailed user profile information including karma, account age, and status.
Get a user's recent posts and comments activity.
Reply to a post or comment with text content. Supports nested comments and includes safety checks.
Search Reddit for posts, subreddits, and users. Returns aggregated results with formatting.
Destructive operations (delete_post, delete_comment) lack confirmation/dry-run support. These are irreversible actions but expose no confirmation mechanism. An agent mistake causes permanent data loss with no undo path.
Parameter descriptions lack constraints and format guidance. 'post_id' described as 'Post ID (without t3_ prefix)' is clear, but 'comment_id' and generic IDs lack this detail. No min/max for numeric limits (e.g., limit 1-100).
Pagination cursors documented but no total count returned. Tools support 'after' pagination but do not indicate when all results are exhausted or how many total results exist, limiting agent planning.
get_current_user has empty input schema. No parameters are documented, making it unclear what can be configured (e.g., does it fetch additional fields, or is it a fixed lookup?).