A high-performance, privacy-friendly, zero-auth Model Context Protocol (MCP) server for browsing Reddit anonymously.
Server has well-structured tool definitions with complete schemas (Zod + JSON Schema conversion), clear descriptions, and proper parameter typing. All 6 tools are explicitly registered with names, descriptions, and input schemas. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool vs. alternatives. Parameter descriptions are present but minimal (e.g., 'Name of the subreddit' lacks format hints). Output schemas are not documented, LLMs cannot predict response structure. Error handling is basic (generic AppError, ZodError messages). No tool annotations (readOnlyHint, etc.) despite all tools being read-only. Pagination support exists but next_cursor handling is undocumented.
Browse standard Reddit frontpages (popular, all, home).
Retrieve details and comments for a specific post.
Fetch deep subreddit info including rules, active users, community icons, and full sidebar widgets/markdown.
Retrieve posts from a specific subreddit.
Fetch user profile and recent activity.
Search for posts across Reddit or discover matching communities. Natively supports search operators like flair_name:"News".
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination format). Handlers return markdown text but no structured schema definition is visible.
Tool descriptions lack LLM-optimized guidance. Missing WHEN to use each tool vs. alternatives (e.g., when to call reddit_search vs. reddit_get_subreddit_posts). Descriptions are 60 - 70 chars, below the 194-char baseline for A+ tools.
No tool annotations despite all tools being read-only. Missing readOnlyHint in tool definitions. Agents cannot infer safety/idempotency from metadata.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | <=2025-11-25 | v2 |
Parameter descriptions are minimal. E.g., 'Name of the subreddit (with or without r/ prefix)' lacks format constraints. 'Pagination cursor for next page' does not explain cursor format or how to use it.
Error messages are generic. ZodError and AppError handling returns raw error format without actionable recovery guidance. E.g., 'Validation Error: ...' does not tell LLM what to fix.