The Reddit MCP server

Give Claude, Cursor, and any MCP client live Reddit tools. The REST API maps one to one to the Model Context Protocol, so a thin server turns search, posts, comments, and DMs into tools an agent can call, from $0.002 per request.

Written by Emma, developer relations at RedditAPI. We price every tool call your agent makes at $0.002 per read (source: our published pricing), so a busy MCP session costs cents, not an enterprise contract.

What is a Reddit MCP server?

A Reddit MCP server exposes Reddit actions as tools an AI agent can call over the Model Context Protocol. It wraps the RedditAPI REST endpoints, so a client like Claude Desktop or Cursor can search posts, read comment trees, look up users, and send DMs through one standard interface. Because every endpoint maps to a single tool, the server is a thin forwarder that adds your key and returns clean JSON across all 23 endpoints.

Install the official MCP server

We publish and maintain a read-only Reddit MCP server on npm as redditapis-mcp. It runs over stdio through npx, so there is no build step and nothing to host. Add your key as REDDITAPIS_KEY and any MCP client gets 11 live Reddit tools. The published server is reads only. For votes, comments, and DMs, wire your own server with the pattern further down.

One-line install (npx)
$ npx -y redditapis-mcp@latest
Claude Desktop / Cursor config
// claude_desktop_config.json  (Cursor: mcp.json)
{
  "mcpServers": {
    "redditapis": {
      "command": "npx",
      "args": ["-y", "redditapis-mcp@latest"],
      "env": { "REDDITAPIS_KEY": "YOUR_KEY" }
    }
  }
}
Claude Code (one command)
claude mcp add redditapis \
  --env REDDITAPIS_KEY=YOUR_KEY \
  -- npx -y redditapis-mcp@latest

The 11 tools it exposes

reddit_searchreddit_subreddit_postsreddit_subreddit_topreddit_postreddit_post_commentsreddit_search_commentsreddit_search_communitiesreddit_search_mediareddit_search_usersreddit_user_profilereddit_user_comments
Sanity-check your key against the REST API
curl "https://api.redditapis.com/api/reddit/posts?subreddit=programming&sort=hot&limit=2" \
  -H "Authorization: Bearer YOUR_KEY"

A 200 with a posts array means the key is live and the server will start clean. Need a key first? Get one here, then paste it into the config above.

Why wrap Reddit as MCP tools

Agents work best when a data source is a set of clean, typed tools. Reddit over REST fits that shape exactly, and the anti-block layer means the agent never sees a rate-limit error.

REST maps one to one to MCP

Every REST endpoint has a clean request and JSON response, so each one becomes a single MCP tool with a typed input schema. No adapter layer to design.

Works with any MCP client

The Model Context Protocol is an open standard, so the same server works with Claude Desktop, Cursor, the OpenAI Agents SDK, LangChain, and the Vercel AI SDK.

Live data, not a snapshot

Tools call the API at request time, so an agent reads the current state of a subreddit or thread instead of a stale export or a cached dump.

Anti-block handled for you

Proxy rotation, retries, and backoff run on our side. Your MCP tools return clean JSON instead of 403s, so the agent never has to reason about being rate limited.

All 23 endpoints as tools

Expose as many or as few as the agent needs: search, posts, comment trees, user profiles, plus write actions like votes, comments, and direct messages.

Pay only for the calls made

An agent that reads ten threads pays for ten reads at $0.002 each. No seat, no minimum, so an idle MCP server costs nothing.

The Reddit tools you can expose

Each tool is one REST endpoint. Expose the read tools alone for a research agent, or add the write tools when the agent needs to act on Reddit.

reddit_searchGET /api/reddit/searchSearch posts by keyword across all of Reddit or one subreddit.
reddit_get_postsGET /api/reddit/postsPull a subreddit listing by sort (new, hot, top) with a limit.
reddit_search_commentsGET /api/reddit/search/commentsSearch comment bodies, scoped to a subreddit when you need it.
reddit_search_usersGET /api/reddit/search/usersResolve and look up Reddit users for profile and history context.
reddit_votePOST /api/reddit/voteLet an agent upvote or downvote a post or comment as a write action.
reddit_send_dmPOST /api/reddit/dmSend a direct message so an agent can reach out, not just read.

Or wire your own server in three files

Want write actions the published server leaves out, or full control over the tool set? Roll your own. Define the tool, forward the call to the REST endpoint, and point your MCP client at the server. That is the whole loop.

MCP tool definition
{
  "name": "reddit_search",
  "description": "Search Reddit posts by keyword, optionally scoped to a subreddit.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "q":         { "type": "string", "description": "Search query" },
      "subreddit": { "type": "string", "description": "Optional subreddit name" },
      "sort":      { "type": "string", "enum": ["relevance", "new", "top"] },
      "limit":     { "type": "number", "default": 25 }
    },
    "required": ["q"]
  }
}
tools/call handler
// tools/call handler: forward reddit_search to the REST API
async function callReddit(args) {
  const url = new URL("https://api.redditapis.com/api/reddit/search");
  url.searchParams.set("q", args.q);
  if (args.subreddit) url.searchParams.set("subreddit", args.subreddit);
  url.searchParams.set("limit", String(args.limit ?? 25));

  const res = await fetch(url, {
    headers: { Authorization: `Bearer ${process.env.REDDIT_API_KEY}` },
  });
  return res.json(); // { posts: [{ title, author, score, permalink, ... }] }
}
MCP client config
// claude_desktop_config.json (or any MCP client config)
{
  "mcpServers": {
    "reddit": {
      "command": "node",
      "args": ["reddit-mcp-server.js"],
      "env": { "REDDIT_API_KEY": "YOUR_API_KEY" }
    }
  }
}

For the full endpoint reference and request shapes, see the API docs, or read the deeper walkthrough on wiring a Reddit action as an MCP tool.

Building an agent, not just an MCP server?

An MCP server is one way to give an agent Reddit. These pages go further on the agent and data side:

Frequently asked questions

A Reddit MCP server is a Model Context Protocol server that exposes Reddit actions as tools an AI agent can call. It wraps a data source (here, the RedditAPI REST endpoints) so a client like Claude Desktop or Cursor can search posts, read comments, look up users, and send DMs through a standard tool interface.

Yes. RedditAPI publishes an official read-only MCP server on npm as redditapis-mcp. Run it with npx, set REDDITAPIS_KEY, and any MCP client gets 11 live Reddit tools with no build step. It covers reads only, so if you need write actions like votes or DMs, this page also shows how to wire your own thin server over the REST API.

Any client that speaks the Model Context Protocol. That includes Claude Desktop, Cursor, the OpenAI Agents SDK, LangChain, and the Vercel AI SDK. The protocol is an open standard, so the same Reddit MCP server works across every one of them without a client-specific rewrite.

You can expose any of the 23 REST endpoints as tools. Common ones are reddit_search for posts, reddit_get_posts for subreddit listings, reddit_search_comments for comment bodies, reddit_search_users for profiles, plus write tools like reddit_vote and reddit_send_dm so the agent can act, not just read.

The server itself is your own code, so hosting is free or near-free. You pay only for the API calls the agent makes: reads are $0.002, votes $0.005, writes $0.012, and DMs $0.025 per call. Every new account starts with $0.50 in free credits, enough for 250 reads before you spend anything.

No. The MCP tools call the RedditAPI REST endpoints with a single bearer token, so you skip Reddit developer-app review, the OAuth flow, and the commercial approval queue. Sign up, copy your key, put it in the server env, and the agent has live Reddit tools the same session.

Keep reading.

Continue exploring related pages.

Give your agent live Reddit tools.

$0.50 in free credits, no card required. Sign up, copy your bearer token, and forward your first MCP tool call to the REST API in minutes.