MCP server for fetching and retrieving Reddit content from subreddits and posts
This server defines 2 tools with basic functionality but suffers from significant definition quality gaps. Tool names follow verb_noun conventions adequately (fetch_reddit_*), and descriptions exist but are mediocre. The critical issue is that parameter descriptions are embedded in docstrings rather than formally attached to schema fields, making them invisible to machines parsing the JSON Schema. Input schemas are present with types and defaults, but lack formal per-parameter descriptions at the schema level, only the docstring provides guidance, which LLMs cannot reliably parse. Output is unstructured text (string return type), not typed objects, forcing LLMs to parse free-form text. Error handling is minimal (try/except returning error strings). No pagination support for potentially large result sets. No tool annotations (readOnlyHint), despite both tools being read-only operations.
Fetch hot threads from a subreddit Args: subreddit: Name of the subreddit limit: Number of posts to fetch (default: 10) Returns: Human readable string containing list of post information
Fetch detailed content of a specific post Args: post_id: Reddit post ID comment_limit: Number of top level comments to fetch comment_depth: Maximum depth of comment tree to traverse Returns: Human readable string containing post content and comments tree
Parameter descriptions missing from JSON Schema, embedded in docstring only. LLMs cannot parse descriptions from Python docstrings; they rely on schema.properties[param].description. Both tools' parameters have no formal descriptions in the schema object.
Output is unstructured plain text (string return type), not typed objects. Agents cannot extract structured data (post ID, author, score) for downstream tool calls without parsing natural-language text. No documented output schema.
No pagination support. fetch_reddit_hot_threads accepts 'limit' but has no offset/cursor or total_count. If an agent needs to iterate through many posts, it must call the tool multiple times with guesswork about which ones it already fetched.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 52 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
No tool annotations. Both tools are read-only (risk='READ_ONLY' indicated in spec) but lack formal readOnlyHint annotation in the schema. This prevents agents from confidently retrying or reasoning about idempotency.
Error handling returns generic error strings ('An error occurred: {error}') without guidance on recovery. No categorization of errors as retryable, user-fixable, or fatal.
Parameter 'post_id' in fetch_reddit_post_content requires a Reddit post ID (opaque system identifier), but description does not explain the format or how to obtain one. Users say 'fetch post by title' or 'get discussion link', not 'call with post_id abc123'. No tool to search for or resolve post IDs by title.