Reddit API as MCP tools: search, subreddits, posts, comments, users, monitors, and webhooks.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by RedditAPIs.
reddit_searchSearch posts across all of Reddit or within one subreddit (`subreddit`).
reddit_search_commentsSearch by comment text; returns the parent posts, since Reddit's comment search does not hand back the matching comment itself.
reddit_deep_comment_searchGenuine comment search: returns the actual matching comment bodies (score, author, comment-deep permalink, parent post). `limit` sets how many parent posts to expand; `group_by="author"` switches to research mode (the distinct people talking about your query). Premium call.
reddit_search_mediaSearch posts filtered to media, narrowed by `kind` (`image`, `video`, `gif`, `all`).
reddit_search_communitiesFind subreddits by name or topic (title, subscribers, description, NSFW flag).
reddit_search_usersFind redditors by name or keyword (username, karma, account age).
Official Model Context Protocol server for redditapis.com, the Reddit API as native tools for Claude, Cursor, Windsurf, and any MCP client. It turns Reddit reads (search, subreddit listings, comment trees, user profiles, community metadata) into typed tools your agent can call directly, plus (since 0.2.0) managing your own redditapis.com monitors and webhooks, and (since 0.4.0) sending the team product feedback the agent drafted and you reviewed.
Ask your agent to search Reddit for a topic, read a community's top posts of the week, pull a user's comment history, surface the redditors talking about a product, or read a subreddit's rules before you engage, and it calls the API for you. It can also set up a monitor that watches a subreddit for new posts matching a filter and delivers them to a webhook, then check what it's actually delivered. Every tool maps to a REST endpoint at https://api.redditapis.com; the server holds no state and forwards your API key on each call.
No install needed. Run with npx. You need one thing: an API key from redditapis.com. Reads work with just that key, so there is no account login or session step to set up. Monitor/webhook management additionally requires an active monitoring plan (monitoring has no free tier).
Edit claude_desktop_config.json (Settings > Developer > Edit Config):
Restart Claude Desktop. The reddit_* tools appear in the tool picker.
~/.cursor/mcp.json (or Settings > MCP > Add New Server):
~/.codeium/windsurf/mcp_config.json:
.vscode/mcp.json in your workspace, or the user-level MCP settings:
| Env var | Required | Default | Purpose |
|---|---|---|---|
REDDITAPIS_KEY | Yes | (none) | API key from redditapis.com. REDDIT_APIS_KEY is accepted as an alias. |
REDDITAPIS_BASE_URL | No | https://api.redditapis.com | Override the API host. |
REDDITAPIS_TIMEOUT_MS | No | 30000 | Per-request timeout in milliseconds. |
REDDITAPIS_FEEDBACK_DIR | No | ~/.redditapis | Where reddit_feedback_send keeps its local draft queue (feedback-queue.json). |
Authentication is a Bearer token: the server sends Authorization: Bearer <REDDITAPIS_KEY> on every request.
34 tools: 22 reads, 10 monitor/webhook management tools, and 2 feedback tools. Reddit writes (posting, commenting, voting, DMs) remain a separate authenticated surface and are intentionally out of scope here -- monitor/webhook tools configure your OWN redditapis.com account (an alerting subscription), never Reddit itself, and the feedback tools send a report to the redditapis.com team, never to Reddit. Every read works with just your API key; the 6 monitor/webhook writes additionally need an active monitoring plan (see Monitoring below). The feedback tools are free and need only your key.
A few conventions across the catalog:
r/ prefix, and usernames without the u/ prefix. reddit_subreddit_posts takes its community as subreddit; the /sub/{name}/... tools take it as name.after cursor. Pass it back as after to fetch the next page, exactly as it was returned. limit accepts 1 to 100 (the API clamps out-of-range values).after comes back null there is no next page to ask for. That does not always mean you have every item: Reddit often stops serving a busy listing long before it runs out. The final response also carries listing_status, which reads complete, truncated or unknown. Only complete means nothing is missing. Treat the other two as a partial answer and widen across sorts, timeframes or search terms rather than paging deeper.t (hour, day, week, month, year, all) sets the time window; on subreddit listings it applies to the top and controversial sorts, and on search it bounds the whole result set.| Tool | Endpoint | What it does |
|---|---|---|
reddit_search | GET /api/reddit/search | Search posts across all of Reddit or within one subreddit (subreddit). |
reddit_search_comments | GET /api/reddit/search/comments | Search by comment text; returns the parent posts, since Reddit's comment search does not hand back the matching comment itself. |
reddit_deep_comment_search | GET /api/reddit/search/comments/deep | Genuine comment search: returns the actual matching comment bodies (score, author, comment-deep permalink, parent post). limit sets how many parent posts to expand; group_by="author" switches to research mode (the distinct people talking about your query). Premium call. |
reddit_search_media | GET /api/reddit/search/media | Search posts filtered to media, narrowed by kind (image, video, gif, all). |
reddit_search_communities | GET /api/reddit/search/communities | Find subreddits by name or topic (title, subscribers, description, NSFW flag). |
reddit_search_users | GET /api/reddit/search/users | Find redditors by name or keyword (username, karma, account age). |
| Tool | Endpoint | What it does |
|---|---|---|
reddit_subreddit_posts | GET /api/reddit/posts | List a subreddit's posts by sort (new, hot, top, rising, controversial, best). |
reddit_feedback_list | GET /feedback | List the reports this account has sent, newest first, with their status. The way back to a report whose id was not kept. Free. |
reddit_verify_comments | POST /api/reddit/comments/verify | Check whether up to 100 specific comments still exist and are publicly visible. A read despite the POST; tells 'deleted by author' from 'removed by a mod' from 'still there'. |
reddit_home_feed | GET /api/reddit/feed | Read YOUR OWN Reddit home feed. Needs your reddit_session and loid from POST /api/reddit/login (a REST call, not an MCP tool); they travel as headers, never in the URL. |
reddit_subreddit_top | GET /api/reddit/sub/{name}/top | Top posts of a subreddit for a time window (t). |
reddit_subreddit_comments | GET /api/reddit/sub/{name}/comments | Stream the newest comments across an entire subreddit (not one post's thread). |
reddit_subreddit_about | GET /api/reddit/sub/{name}/about | A subreddit's public metadata: title, description, subscriber and active-user counts, type, NSFW flag. |
reddit_subreddit_rules | GET /api/reddit/sub/{name}/rules | A subreddit's posting rules plus Reddit's site-wide rules. |
reddit_subreddit_moderators | GET /api/reddit/sub/{name}/moderators | A subreddit's moderator team, each with permissions, flair, and when they joined. |
reddit_subreddit_wiki | GET /api/reddit/sub/{name}/wiki/{page} | A subreddit's wiki page by name and page (markdown + HTML, revision metadata). |
| Tool | Endpoint | What it does |
|---|---|---|
reddit_post_visibility | GET /api/reddit/post/{id}/visibility | Is a post still publicly visible, or did it quietly stop being so? Fetches the post and one page of its author's listing and compares. Returns live, not_visible or undecidable with a reason, and never claims to know WHY. Two upstream calls, $0.004. |
reddit_post | GET /api/reddit/post/{id} | A single post by its base-36 id (no t3_ prefix): title, author, score, text, permalink, subreddit, url. |
reddit_post_comments | GET /api/reddit/comments | A post plus its full threaded comment tree, fetched by permalink. |
reddit_by_id | GET /api/reddit/by_id/{fullnames} | Bulk-hydrate up to 100 posts in one call from a comma-separated list of t3_ fullnames. |
| Tool | Endpoint | What it does |
|---|---|---|
reddit_user_profile | GET /api/reddit/user/{name} | A user's public profile: karma, account age, verified/employee flags, avatar. |
reddit_user_comments | GET /api/reddit/user/{name}/comments | A user's recent comments (body, score, subreddit, parent link, timestamp). |
reddit_user_submitted | GET /api/reddit/user/{name}/submitted | A user's submitted posts (the sibling of reddit_user_comments). |
| Tool | Endpoint | What it does |
|---|---|---|
reddit_subreddits_popular | GET /api/reddit/subreddits/popular | Browse the most-subscribed, trending subreddits right now. |
reddit_subreddits_new | GET /api/reddit/subreddits/new | Browse the newest subreddits, most recently created first. |
reddit_subreddits_default | GET /api/reddit/subreddits/default | Browse Reddit's default front-page set of subreddits. |
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/redditapis)<a href="https://allmcps.com/mcp/redditapis"><img src="https://allmcps.com/api/badge/redditapis?style=directory" alt="RedditAPIs on AllMCPs" /></a>