Dependency-free local Reddit OAuth MCP server for ThreadScout for Reddit
Strong foundation with 18 well-named tools, comprehensive schemas, and excellent use of tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools have descriptions and input schemas with proper JSON Schema structure. Naming follows verb_noun convention consistently (reddit_auth_*, reddit_get_*, reddit_list_*, reddit_submit_*, reddit_comment, reddit_edit, reddit_delete, reddit_account_action, reddit_send_message, reddit_moderate). Dry-run/confirmation pattern is well-implemented for destructive operations. However, parameter descriptions are sparse or missing for several tools (e.g., reddit_list_feed lacks description for 'after' pagination cursor; reddit_search omits 'after' description). Output schemas are not documented, LLMs cannot predict response structure. Error handling guidance is absent from descriptions.
Preview or perform a reversible account action: save, unsave, hide, unhide, subscribe, unsubscribe, mark_read, mark_unread, or report. Reddit voting is not supported.
Remove the stored Reddit refresh token from this machine. Requires confirmation=confirmed.
Start Reddit OAuth in the user's browser using an approved Reddit app client ID. Returns a local authorization URL; never accepts a Reddit password.
Check whether a Reddit OAuth client and user account are connected. Also returns the result of a pending browser authorization.
Preview or publish a comment/reply. Execution requires explicit confirmation of the exact text and parent.
Preview or permanently delete one of the connected user's posts/comments. Execution requires explicit confirmation.
Output schemas not documented. LLMs cannot predict response structure, field names, or types. Downstream tool chaining requires explicit response documentation.
Pagination cursor parameter 'after' lacks description in multiple list/search tools. LLMs cannot understand how to use pagination without explicit guidance.
Error handling guidance absent. Tool descriptions do not explain what errors can occur, when to retry, or how to recover. E.g., reddit_auth_start should document OAuth failure modes.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2025-06-18+ | v2 |
Preview or edit one of the connected user's posts/comments. Execution requires explicit confirmation.
Read the connected account's inbox, unread items, messages, comment replies, self replies, or mentions.
Get the connected Reddit account identity and account metadata.
Read a moderation queue for a subreddit where the connected account is a moderator.
Get a Reddit post and its comments by post ID or permalink.
Read a user's public activity or the connected user's private saved, hidden, upvoted, and downvoted listings when authorized.
Read home, popular, all, or a subreddit feed with hot/new/top/rising/controversial sorting.
List subreddits the connected account subscribes to.
Preview or perform a supported moderation action in a subreddit where the connected account has permission.
Search Reddit globally or within one subreddit using the connected account.
Preview or send a Reddit private message/modmail. Execution requires explicit consent and confirmation of recipient, subject, and body.
Preview or submit a text/link post. Execution requires dry_run=false and confirmation=confirmed after the user approves the exact title/body/destination.
Parameter descriptions too generic or missing. E.g., 'subreddit' in reddit_list_feed lacks description; 'kind' in reddit_get_user_activity lacks guidance on when each enum value applies.
Dry-run pattern well-implemented but descriptions do not explain the two-step workflow clearly. LLMs may not understand they must call with dry_run=true first, then dry_run=false after user approval.