MCP server that mines real online discussion (Reddit, Hacker News) for the verbatim language people use about a problem
Four tools with strong, domain-specific descriptions (194 - 450 chars each) and comprehensive input schemas. All parameters are typed and described. Tool names are action-oriented (find_*, mine_*, read_*). Schemas use proper JSON Schema with enums, min/max constraints, and clear parameter relationships. However, output schemas are not explicitly documented in the source, only inferred from descriptions. Error handling and recovery guidance are absent. No tool annotations (readOnlyHint, idempotentHint) despite all being read-only operations.
Same fetch path as find_pain, aimed at what stops a sale: searches objection-shaped angles (not worth it, waste of money, regret, cancelled, switched from, overpriced, alternative to) plus per-competitor gripes, and frames the results for extracting objections and rebuttals verbatim.
Mine real online discussion for the verbatim language people use about a problem, so marketing angles can be written as a response to real complaints instead of invented ones. Sources: reddit, hn. Reddit is read-only OAuth (needs REDDIT_CLIENT_ID/SECRET); Hacker News is free but thin for consumer/trades niches. Returns normalised hits {source, title, text, score, num_comments, url}. Quote what comes back — do not paraphrase it.
Fan one query out across several subreddits and group the hits by sub. Use when you want to see which community feels a problem hardest — the sub with the most hits tells you who the ad is for.
Read a thread's REPLIES, given its URL. Search only ever returns posts, and the post is often the least useful part — when someone asks 'would you pay for this?' or 'how do you handle quotes over the phone', the answer is in the replies. Especially valuable on posts written by people validating a product idea: the replies are the market's verdict, already given. Returns the opening post plus indented replies with scores, marking the original poster. Usernames are deliberately not collected.
Output schemas not documented. Tool descriptions infer structure (e.g., 'returns normalised hits {source, title, text, score, num_comments, url}') but no formal JSON Schema for responses. LLMs cannot plan downstream operations without knowing return field types and names.
No error handling or recovery guidance. Tools lack descriptions of failure modes (e.g., 'If Reddit API rate-limits, retry after 60 seconds' or 'If subreddit not found, call list_subreddits to discover valid names'). Agents cannot self-correct on failures.
No tool annotations despite all tools being read-only. Missing readOnlyHint=true on all four tools. Agents cannot distinguish safe tools from destructive ones without explicit hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Credentials (REDDIT_CLIENT_ID, REDDIT_SECRET) mentioned in find_pain description but not documented as environment variables or server-side injection. If exposed as parameters, they would leak into logs.
Pagination not explicitly documented. Tools accept 'limit' but no 'offset', 'cursor', or 'page' parameters. Large result sets could exhaust context; unclear how to fetch next page.