← Back to search

reddit-mcp-server

GitHub Actions Scanned 5d ago

A Model Context Protocol (MCP) server for Reddit with full read AND write operations - create posts, reply, edit, and delete content.

B
81.9 / 100

Versions

1.5.1latest
Jul 1, 2026
1.5.0
Jun 23, 2026
1.4.8
May 30, 2026
1.4.7
May 22, 2026
1.4.6
May 22, 2026
+ show 22 moreshow less
1.4.5
Apr 18, 2026
1.4.4
Mar 26, 2026
1.4.3
Mar 7, 2026
1.4.2
Mar 4, 2026
1.4.1
Mar 4, 2026
1.4.0
Mar 4, 2026
1.3.2
Feb 16, 2026
1.2.1
Jan 28, 2026
1.2.0
Jan 26, 2026
1.1.2
Dec 4, 2025
1.1.1
Sep 24, 2025
1.1.0
Jul 24, 2025
1.0.10
Jun 28, 2025
1.0.9
Jun 28, 2025
1.0.7
Jun 27, 2025
1.0.6
Jun 27, 2025
1.0.5
Jun 27, 2025
1.0.4
Jun 27, 2025
1.0.3
Jun 27, 2025
1.0.2
Jun 26, 2025
1.0.1
Jun 25, 2025
1.0.0
Jun 25, 2025
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 23

test_reddit_mcp_server
annotations: verified low

Health check for the Reddit MCP server. Read-only and side-effect-free — inspects local configuration only and makes no Reddit API calls. Returns the server version, whether the Reddit client is initialized, whether OAuth credentials are present, and whether write access (REDDIT_USERNAME/REDDIT_PASSWORD) is configured. Use this first to diagnose setup/auth problems. Do NOT use it to check Reddit\'s own status or connectivity — it never contacts Reddit. A "✗ Write Access" result means the write tools (create_post, reply_to_post, edit_*, delete_*) will fail.

parameters object
readOnlyHint true openWorldHint false
get_user_info
annotations: verified low

Get a public profile for any Reddit user: comment/post/total karma, account age and status flags, plus a short activity analysis and engagement tips. Read-only; works in anonymous mode. Returns profile stats only — use get_user_posts / get_user_comments for their actual content. Use get_me instead for your own authenticated account; do NOT expect private fields here, as only public data is returned.

parameters object
readOnlyHint true openWorldHint true
get_me
annotations: verified low

Get the authenticated user's own profile (karma, account age, status flags). Read-only, but requires user credentials (REDDIT_USERNAME/REDDIT_PASSWORD) and fails in anonymous mode. Use this instead of get_user_info when you need the current account rather than an arbitrary user. Do NOT use it to look up other users — it always returns the logged-in account.

limit number parameters object
readOnlyHint true openWorldHint true
get_my_overview
annotations: verified low

Get the authenticated user's own recent activity — posts and comments interleaved, newest first. Read-only but requires user credentials (REDDIT_USERNAME/REDDIT_PASSWORD). Returns up to `limit` items plus an `after` cursor for the next page. Use get_my_saved for saved items, or get_user_posts / get_user_comments for another user. Do NOT use this to fetch a specific post's thread — use get_post_comments.

limit number parameters object
readOnlyHint true openWorldHint true
get_my_saved
annotations: verified low

Get the authenticated user's saved posts and comments (private to the account). Read-only but requires user credentials (REDDIT_USERNAME/REDDIT_PASSWORD). Returns up to `limit` items plus an `after` pagination cursor. Use get_my_overview for your authored activity. Do NOT use this for another user — saved items are private and have no cross-user equivalent.

limit number username string parameters object
readOnlyHint true openWorldHint true
get_user_posts
annotations: verified low

Get posts submitted by a specific user, with sort (new/hot/top) and time filter. Read-only; works anonymously. Returns a page of posts (title, subreddit, score, upvote ratio, comment count, permalink) plus an `after` cursor for paging. Use get_user_comments for their comments, or get_user_info for karma/profile stats. Do NOT use this to search a subreddit — use search_reddit or browse_subreddit.

limit number username string parameters object
readOnlyHint true openWorldHint true
get_user_comments
annotations: verified low

Get comments made by a specific user, with sort (new/hot/top) and time filter. Read-only; works anonymously. Returns a page of comments (subreddit, parent post title, body excerpt, score, permalink) plus an `after` cursor. Use get_user_posts for their submissions, or get_user_info for karma/profile stats. Do NOT use this to read one post's thread — use get_post_comments.

limit number username string parameters object
readOnlyHint true openWorldHint true
get_reddit_post
annotations: verified low

Get a single post by subreddit + post id: title, author, self-text or link content, score, upvote ratio, comment count, flair/flags, and an engagement analysis. Read-only; works anonymously. Returns the post only — use get_post_comments for its comment thread. Do NOT use this to list a subreddit's posts (use browse_subreddit / get_top_posts) or to find posts by keyword (use search_reddit).

subreddit string parameters object
readOnlyHint true openWorldHint true
get_top_posts
annotations: verified low

Get the top-scoring posts from a subreddit — or from the authenticated home feed if no subreddit is given — within a time window (hour…all). Read-only; works anonymously. Returns a page of posts (title, author, score, upvote ratio, comments, link) plus an `after` cursor. This is a shortcut for the 'top' sort; use browse_subreddit for hot/new/rising/controversial, or search_reddit to find posts by keyword.

limit number parameters object
readOnlyHint true openWorldHint true
browse_subreddit
annotations: verified low

Browse a subreddit — or the authenticated home feed when no subreddit is given — by sort order: hot, new, top, rising, or controversial. Read-only; works anonymously. `time_filter` applies only to the top and controversial sorts. Returns a page of posts (title, author, score, upvote ratio, comments, link) plus an `after` cursor. Use get_top_posts as a shortcut for the top sort, or search_reddit to find posts by keyword rather than by feed order.

limit number parameters object
readOnlyHint true openWorldHint true
get_subreddit_info
annotations: verified low

Get a subreddit's profile: title, description, subscriber and active-user counts, creation date, flags, wiki/link URLs, plus a community analysis and posting tips. Read-only; works anonymously. Returns metadata about the community itself — use browse_subreddit / get_top_posts for its posts, or get_subreddit_rules for its posting rules. Do NOT use this to find subreddits by topic — use search_reddit with type='sr'.

parameters object subreddit_name string
readOnlyHint true openWorldHint true
get_subreddit_rules
annotations: verified low

Get a subreddit's posting rules (each rule's name, what it applies to, and its description). Read-only; works anonymously. Returns the rules list, or a note when the subreddit lists none. Call this before create_post to check requirements and avoid auto-removal. For available post flairs use get_post_flairs instead.

parameters object subreddit_name string
readOnlyHint true openWorldHint true
get_post_flairs
annotations: verified low

List a subreddit's selectable link flairs (flair text + flair_id) for use with create_post. Read-only, but requires user credentials; many subreddits expose flairs only to members, so this can 403 or return empty anonymously. Pass a returned flair_id (and flair_text for text-editable flairs) to create_post. For the subreddit's posting rules use get_subreddit_rules instead.

parameters object subreddit_name string
readOnlyHint true openWorldHint true
get_trending_subreddits
annotations: verified low

Get the subreddits Reddit is currently featuring as trending/popular. Read-only, no parameters; works anonymously. Returns a list of subreddit names that changes through the day (cached briefly server-side). To find subreddits by keyword instead of by trend, use search_reddit with type='sr'.

parameters object
readOnlyHint true openWorldHint true
search_reddit
annotations: verified low

Search Reddit for posts — or subreddits/users via `type` — optionally scoped to one subreddit, with sort and time filters. Read-only; works anonymously. Returns a page of results (title, subreddit, author, score, comments, link) plus an `after` cursor for paging. Use this to find content by keyword; use browse_subreddit / get_top_posts to list a known subreddit's feed instead.

limit number parameters object
readOnlyHint true openWorldHint true
create_post
annotations: verified low

Create a new text or link post in a subreddit. Mutating and NOT idempotent — each call publishes a separate post. Requires REDDIT_USERNAME and REDDIT_PASSWORD; fails without them. Returns the new post's id and URL. Check get_subreddit_rules and get_post_flairs first, since many subreddits require a flair or reject certain content. WARNING: rapid posting or duplicate content may trigger Reddit's spam detection and account bans — enable REDDIT_SAFE_MODE=standard for rate limiting and duplicate detection.

subreddit string parameters object
readOnlyHint false openWorldHint true idempotentHint false destructiveHint false
reply_to_post
annotations: verified low

Post a reply to an existing post or comment. Mutating and NOT idempotent — each call adds a new comment. Requires REDDIT_USERNAME and REDDIT_PASSWORD. The parent is identified by its thing id — t3_ for a post, t1_ for a comment — so this creates both top-level and nested replies. Returns the new comment's id. Use edit_comment to change a reply you already posted. WARNING: rapid or duplicate replies may trigger Reddit's spam detection; enable REDDIT_SAFE_MODE=standard for rate limiting and duplicate detection.

content string parameters object
readOnlyHint false openWorldHint true idempotentHint false destructiveHint false
delete_post
annotations: verified low

Permanently delete one of your own posts. Mutating and destructive but idempotent — deleting an already-deleted post is a no-op. Requires REDDIT_USERNAME and REDDIT_PASSWORD, and only works on posts authored by the authenticated account. Only affects the post you name; use delete_comment for comments. WARNING: this cannot be undone — the content is removed, though the post id remains.

parameters object
readOnlyHint false openWorldHint true idempotentHint true destructiveHint true
delete_comment
annotations: verified low

Permanently delete one of your own comments. Mutating and destructive but idempotent — deleting an already-deleted comment is a no-op. Requires REDDIT_USERNAME and REDDIT_PASSWORD, and only works on comments authored by the authenticated account. Only affects the comment you name; use delete_post for posts. WARNING: this cannot be undone — the content is removed, though the comment id remains.

parameters object
readOnlyHint false openWorldHint true idempotentHint true destructiveHint true
edit_post
annotations: verified low

Replace the body text of one of your own self-text posts. Mutating and idempotent (same text → same result); it overwrites the previous body. Requires REDDIT_USERNAME and REDDIT_PASSWORD, and works only on self posts you authored — titles and link posts cannot be edited. Adds an "edited" marker. Use create_post to make a new post, or edit_comment for comments. WARNING: rapid edits may trigger spam detection; enable REDDIT_SAFE_MODE for protection.

parameters object
readOnlyHint false openWorldHint true idempotentHint true destructiveHint true
edit_comment
annotations: verified low

Replace the text of one of your own comments. Mutating and idempotent (same text → same result); it overwrites the previous content. Requires REDDIT_USERNAME and REDDIT_PASSWORD, and works only on comments you authored. Adds an "edited" marker. Use reply_to_post to add a new comment, or edit_post for posts. WARNING: rapid edits may trigger spam detection; enable REDDIT_SAFE_MODE for protection.

parameters object
readOnlyHint false openWorldHint true idempotentHint true destructiveHint true
get_post_comments
annotations: verified low

Get the comment thread for a post (by post id + subreddit), sorted best/top/new/controversial/old/qa. Read-only; works anonymously. Returns the post header plus threaded comments (author, OP/edited badges, score, body, nesting depth) up to `limit`. Long threads are truncated with 'load more' stubs — expand those with get_more_comments. Use get_reddit_post for just the post body, not the thread.

subreddit string parameters object
readOnlyHint true openWorldHint true
get_more_comments
annotations: verified low

Expand truncated 'load more comments' stubs in a thread. Read-only; works anonymously. Pass the post's link id and the comment ids from a 'more' node (surfaced by get_post_comments) to fetch those hidden comments; returns the expanded comments (author, body excerpt, score, link). Call get_post_comments first to obtain the thread and its 'more' node ids — do NOT invent ids.

parameters object
readOnlyHint true openWorldHint true

Permissions 3

network medium
Server uses network capabilities via: fetch()
filesystem low
Server uses filesystem capabilities via: fs sync ops
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 57

info
Tool 'test_reddit_mcp_server' annotations are consistent annotation_checker · 80%
info
Tool 'get_user_info' annotations are consistent annotation_checker · 80%
info
Tool 'get_me' annotations are consistent annotation_checker · 80%
info
Tool 'get_my_overview' annotations are consistent annotation_checker · 80%
info
Tool 'get_my_saved' annotations are consistent annotation_checker · 80%
info
Tool 'get_user_posts' annotations are consistent annotation_checker · 80%
info
Tool 'get_user_comments' annotations are consistent annotation_checker · 80%
info
Tool 'get_reddit_post' annotations are consistent annotation_checker · 80%
info
Tool 'get_top_posts' annotations are consistent annotation_checker · 80%
info
Tool 'browse_subreddit' annotations are consistent annotation_checker · 80%
info
Tool 'get_subreddit_info' annotations are consistent annotation_checker · 80%
info
Tool 'get_subreddit_rules' annotations are consistent annotation_checker · 80%
info
Tool 'get_post_flairs' annotations are consistent annotation_checker · 80%
info
Tool 'get_trending_subreddits' annotations are consistent annotation_checker · 80%
info
Tool 'search_reddit' annotations are consistent annotation_checker · 80%
info
Tool 'create_post' annotations are consistent annotation_checker · 80%
info
Tool 'reply_to_post' annotations are consistent annotation_checker · 80%
info
Tool 'delete_post' annotations are consistent annotation_checker · 80%
info
Tool 'delete_comment' annotations are consistent annotation_checker · 80%
info
Tool 'edit_post' annotations are consistent annotation_checker · 80%
info
Tool 'edit_comment' annotations are consistent annotation_checker · 80%
info
Tool 'get_post_comments' annotations are consistent annotation_checker · 80%
info
Tool 'get_more_comments' annotations are consistent annotation_checker · 80%
high
Hardcoded OAuth client secret in jordanburke-reddit-mcp-server-ab67bf2/src/client/__tests__/reddit-client.test.ts auth_checker · 95%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
info
package.json metadata manifest_parser · 100%
info
Tool: test_reddit_mcp_server manifest_parser · 75%
info
Tool: get_user_info manifest_parser · 75%
info
Tool: get_me manifest_parser · 75%
info
Tool: get_my_overview manifest_parser · 75%
info
Tool: get_my_saved manifest_parser · 75%
info
Tool: get_user_posts manifest_parser · 75%
info
Tool: get_user_comments manifest_parser · 75%
info
Tool: get_reddit_post manifest_parser · 75%
info
Tool: get_top_posts manifest_parser · 75%
info
Tool: browse_subreddit manifest_parser · 75%
info
Tool: get_subreddit_info manifest_parser · 75%
info
Tool: get_subreddit_rules manifest_parser · 75%
info
Tool: get_post_flairs manifest_parser · 75%
info
Tool: get_trending_subreddits manifest_parser · 75%
info
Tool: search_reddit manifest_parser · 75%
info
Tool: create_post manifest_parser · 75%
info
Tool: reply_to_post manifest_parser · 75%
info
Tool: delete_post manifest_parser · 75%
info
Tool: delete_comment manifest_parser · 75%
info
Tool: edit_post manifest_parser · 75%
info
Tool: edit_comment manifest_parser · 75%
info
Tool: get_post_comments manifest_parser · 75%
info
Tool: get_more_comments manifest_parser · 75%
info
Required env vars (17) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
low
Permission: filesystem access detected permission_analyzer · 90%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Tool poisoning in 'get_subreddit_rules': Cross-tool sequencing directive poisoning · 85%
info
SBOM generated: 12 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%