RedditAPIs MCP

by redditapis

Not rated
GitHub

About

Official MCP server for redditapis.com: subreddit, post, comment, community, user, and media search plus monitor/webhook management as native Claude/Cursor tools.

Details

Author
redditapis
Categories
Search, Other, API, Communication

Setup

Install RedditAPIs MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/redditapis/redditapis-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

OfficialModel Context Protocolserver forredditapis.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.

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 athttps://api.redditapis.com; the server holds no state and forwards your API key on each call.

No install needed. Run withnpx. You need one thing: an API key fromredditapis.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).

Editclaude_desktop_config.json(Settings > Developer > Edit Config):

{ "mcpServers": { "reddit": { "command": "npx", "args": ["-y", "redditapis-mcp@latest"], "env": { "REDDITAPIS_KEY": "YOUR_API_KEY" } } } }

Restart Claude Desktop. Thereddit_*tools appear in the tool picker.

claude mcp add reddit --env REDDITAPIS_KEY=YOUR_API_KEY -- npx -y redditapis-mcp@latest

~/.cursor/mcp.json(or Settings > MCP > Add New Server):

{ "mcpServers": { "reddit": { "command": "npx", "args": ["-y", "redditapis-mcp@latest"], "env": { "REDDITAPIS_KEY": "YOUR_API_KEY" } } } }
{ "mcpServers": { "reddit": { "command": "npx", "args": ["-y", "redditapis-mcp@latest"], "env": { "REDDITAPIS_KEY": "YOUR_API_KEY" } } } }

.vscode/mcp.jsonin your workspace, or the user-level MCP settings:

{ "servers": { "reddit": { "type": "stdio", "command": "npx", "args": ["-y", "redditapis-mcp@latest"], "env": { "REDDITAPIS_KEY": "YOUR_API_KEY" } } } }

Authentication is a Bearer token: the server sendsAuthorization: Bearer <REDDITAPIS_KEY>on every request.

32 tools: 22 reads plus 10 monitor/webhook management 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. Every read works with just your API key; the 6 monitor/webhook writes additionally need an active monitoring plan (see Monitoring below).

- Subreddit names go inwithoutther/prefix, and usernameswithouttheu/prefix.reddit_subreddit_poststakes its community assubreddit; the/sub/{name}/...tools take it asname.
- Listing and search tools return anaftercursor. Pass it back asafterto fetch the next page, exactly as it was returned.limitaccepts 1 to 100 (the API clamps out-of-range values).
- Whenaftercomes backnullthere 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 carrieslisting_status, which readscomplete,truncatedorunknown. Onlycompletemeans 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 thetopandcontroversialsorts, and on search it bounds the whole result set.

Monitoring: manage your own monitors and webhooks

v1 monitors aresubreddit-scoped, posts-only(no all-of-Reddit keyword watch, no comment monitoring yet). Creating or updating a monitor or webhook needs an active plan; reading your own list/health/deliveries never does.

"What are people saying about the Rust borrow checker this month?"

q: "borrow checker" sort: "top" t: "month"

Read a community's top posts of the week

"Show me the top posts in r/programming this week."

The agent callsreddit_subreddit_topwith:

name: "programming" t: "week"

To page further, pass theaftercursor from the response back on the next call:{ name: "programming", t: "week", after: "<after from response>" }.

"Which redditors are recommending mechanical keyboards, and what do they say?"

The agent callsreddit_deep_comment_searchwith:

q: "mechanical keyboard" group_by: "author" sort: "top"

Research mode returns the distinct people who mentioned the query, ranked by how many of their comments matched, each with their top comment and the subreddits they matched in.

"Find a discussion about API rate limiting in r/webdev, check the sub's rules, and read the full thread."

The agent callsreddit_searchscoped to the community:

q: "rate limiting" subreddit: "webdev" sort: "relevance" t: "year"

Thenreddit_subreddit_ruleswith{ name: "webdev" }, and finallyreddit_post_commentswith thepermalinkfrom a search result, for example{ permalink: "/r/webdev/comments/abc123/some_title/" }, to pull the post and its comment tree.

Set up brand monitoring and check what came in

"Watch r/SaaS and r/startups for mentions of my product, send matches to my Slack, and show me what's come in so far."

The agent callsreddit_monitor_webhook_createwith:

url: "https://hooks.slack.com/services/..." kind: "slack"
subreddit: ["SaaS", "startups"] q: "my product name"

Later,reddit_monitor_deliverieswith{ id: "<monitor id from the add response>" }returns the actual matching posts sent so far, orreddit_monitor_healthfor just the counts.

No session needed for reads; monitor/webhook writes need an active plan

HTTP 401 (invalid or missing API key)Check thatREDDITAPIS_KEYis set correctly in your MCP client config and matches the key fromredditapis.com.

HTTP 402 (insufficient credits)Top up your account atredditapis.com. For a monitor/webhook write specifically, a 402 body ofsubscription_requiredmeans there is no active monitoring plan (monitoring has no free tier);monitor_slots_exhaustedmeans the plan's monitor slot limit is already in use --reddit_monitor_list'sslotsfield shows used vs total.

HTTP 403 (access forbidden)The subreddit or user may be private, banned, or quarantined, or your plan may not include this endpoint.

HTTP 404 (not found)The subreddit, post id, user, or permalink may be wrong or the content may have been deleted or removed.

HTTP 429 (rate limited)Wait a few seconds and retry, or reduce request frequency. For bulk work, space out calls and raiseREDDITAPIS_TIMEOUT_MS.

Request failed: timed out after 30000msThe default timeout is 30 seconds. For largereddit_deep_comment_searchor paginated fetches, setREDDITAPIS_TIMEOUT_MShigher (for example60000).

Tools do not appear in Claude / CursorEnsurenpxis on your PATH and Node.js 18+ is installed (node --version). Check your MCP client logs for startup errors.

npm install npm run check # syntax-check both source files npm test # unit-test the tool catalog + query/path builders (no network) npm start # run the stdio server (needs REDDITAPIS_KEY)

- Site and API keys:redditapis.com
- REST API base URL (call it directly, without MCP):https://api.redditapis.com

Do I need a Reddit developer account?No. Get an API key atredditapis.com; there is no application or approval step.

Can it post, comment, or vote?No. All 22 Reddit-facing tools read Reddit; posting, commenting, voting, and DMs are a separate authenticated surface and are not exposed here. The other 10 tools manage your OWN redditapis.com monitors/webhooks, which is a write, but never a write to Reddit itself.

Which clients are supported?Claude Desktop, Claude Code, Cursor, Windsurf, and VS Code (Copilot agent mode), or any Model Context Protocol client.

Does it store my key or data?No. The server holds no state and forwards your API key on each call.

Search global news using natural language. Webz.io News Search API returns the most relevant articles and content, with filters for source, country, language, date, sentiment, and category.

Search the web using Kagi's search API

Multi-provider search broker for AI agents. Routes across SearXNG, Brave, Serper, Tavily, and Exa with automatic fallback, RRF ranking, content extraction, and budget enforcement.

A search server for the Model Context Protocol (MCP) that uses the Baidu Wenxin API.

Perform web, news, and image searches using the Microsoft Bing Search API.

An MCP server for web and local search using the Brave Search API.

Integrates the Brave Search API for both web and local search capabilities. Requires a BRAVE_API_KEY.

An MCP server for the Brave Search API, providing web and local search capabilities via a streaming SSE interface.

An MCP server for the Brave Search API, providing both web and local search capabilities.

Search for cocktail recipes using the cezzis.com API.

Free search API for AI agents — 105 engines, 22 profiles, 94.3% SimpleQA accuracy, MCP server with 5 tools

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.