Skip to main content
Glama
Reddit MCP Server

Reddit MCP Server

by liuyang1520

Reddit MCP Server

A Model Context Protocol (MCP) server that provides access to Reddit's API for retrieving posts, comments, user information, and search functionality.

Features

  • Subreddit Operations: Get posts from any subreddit with various sorting options

  • Post Operations: Retrieve specific posts and their comments

  • User Operations: Get user information, posts, and comments

  • Search: Search for posts and subreddits

  • Authentication: Supports multiple Reddit API authentication methods

Related MCP server: Reddit MCP Server

Available Tools

get_subreddit_posts

Get posts from a specific subreddit.

Parameters:

  • subreddit (required): Name of the subreddit (without r/ prefix)

  • sort (optional): Sort order - hot, new, top, rising (default: hot)

  • limit (optional): Number of posts to retrieve, 1-100 (default: 25)

get_post

Get details of a specific Reddit post.

Parameters:

  • postId (required): Reddit post ID

get_post_comments

Get comments from a Reddit post.

Parameters:

  • postId (required): Reddit post ID

  • sort (optional): Sort order - best, top, new, controversial, old (default: best)

get_subreddit_info

Get information about a subreddit.

Parameters:

  • subreddit (required): Name of the subreddit (without r/ prefix)

get_user_info

Get information about a Reddit user.

Parameters:

  • username (required): Reddit username (without u/ prefix)

get_user_posts

Get posts submitted by a user.

Parameters:

  • username (required): Reddit username (without u/ prefix)

  • sort (optional): Sort order - hot, new, top (default: new)

  • limit (optional): Number of posts to retrieve, 1-100 (default: 25)

get_user_comments

Get comments made by a user.

Parameters:

  • username (required): Reddit username (without u/ prefix)

  • sort (optional): Sort order - hot, new, top (default: new)

  • limit (optional): Number of comments to retrieve, 1-100 (default: 25)

search_posts

Search for Reddit posts.

Parameters:

  • query (required): Search query

  • subreddit (optional): Restrict search to specific subreddit

  • sort (optional): Sort order - relevance, hot, top, new, comments (default: relevance)

  • limit (optional): Number of results to retrieve, 1-100 (default: 25)

search_subreddits

Search for subreddits.

Parameters:

  • query (required): Search query for subreddit names/descriptions

  • limit (optional): Number of results to retrieve, 1-100 (default: 25)

Setup

1. Reddit API Application

  1. Go to https://www.reddit.com/prefs/apps

  2. Click "Create App" or "Create Another App"

  3. Choose application type:

    • script for personal use

    • web app for server applications

  4. Note your client ID (under the app name) and client secret

2. Environment Configuration

Copy .env.example to .env and configure:

cp .env.example .env

Edit .env with your Reddit API credentials:

REDDIT_CLIENT_ID=your_client_id_here
REDDIT_CLIENT_SECRET=your_client_secret_here
REDDIT_USER_AGENT=reddit-mcp-server/1.0.0 by your_username

# Choose one authentication method:
REDDIT_USERNAME=your_username
REDDIT_PASSWORD=your_password

3. Installation

npm install

4. Build

npm run build

5. Usage with Claude Code

Add to your Claude Code MCP configuration:

{
  "mcpServers": {
    "reddit": {
      "command": "node",
      "args": ["/path/to/reddit-mcp/dist/index.js"],
      "env": {
        "REDDIT_CLIENT_ID": "your_client_id",
        "REDDIT_CLIENT_SECRET": "your_client_secret",
        "REDDIT_USER_AGENT": "reddit-mcp-server/1.0.0 by your_username",
        "REDDIT_USERNAME": "your_username",
        "REDDIT_PASSWORD": "your_password"
      }
    }
  }
}

Authentication Methods

REDDIT_USERNAME=your_username
REDDIT_PASSWORD=your_password
REDDIT_REFRESH_TOKEN=your_refresh_token

3. Access Token (For testing only - expires in 1 hour)

REDDIT_ACCESS_TOKEN=your_access_token

4. Client Credentials (Read-only access)

Leave username/password empty to use client credentials flow.

Rate Limits

Reddit API has rate limits:

  • Free tier: 100 requests per minute per OAuth client

  • Requests are averaged over a 10-minute window

  • Commercial use requires Reddit's permission

Important Notes

  1. User-Agent: Must be unique and descriptive

  2. Commercial Use: Requires Reddit's permission

  3. Data Retention: Must delete user content that's been deleted from Reddit

  4. Rate Limiting: Built-in authentication token management

Development

Run in development mode:

npm run dev

Build:

npm run build

Clean build artifacts:

npm run clean

Data Types

RedditPost

interface RedditPost {
  id: string;
  title: string;
  author: string;
  subreddit: string;
  url: string;
  selftext: string;
  created_utc: number;
  score: number;
  num_comments: number;
  permalink: string;
  is_self: boolean;
  domain: string;
  thumbnail?: string;
}

RedditComment

interface RedditComment {
  id: string;
  author: string;
  body: string;
  created_utc: number;
  score: number;
  permalink: string;
  parent_id: string;
  subreddit: string;
}

RedditSubreddit

interface RedditSubreddit {
  display_name: string;
  title: string;
  description: string;
  subscribers: number;
  created_utc: number;
  public_description: string;
  url: string;
  over18: boolean;
}

RedditUser

interface RedditUser {
  name: string;
  id: string;
  created_utc: number;
  comment_karma: number;
  link_karma: number;
  is_verified: boolean;
  has_verified_email: boolean;
}

License

MIT

Available Tools

9 tools
get_postB

Get details of a specific Reddit post

Inputs: postId (required).

get_post_commentsC

Get comments from a Reddit post

Inputs: postId (required), sort.

get_subreddit_infoC

Get information about a subreddit

Inputs: subreddit (required).

get_subreddit_postsC

Get posts from a specific subreddit

Inputs: subreddit (required), sort, limit.

get_user_commentsC

Get comments made by a user

Inputs: username (required), sort, limit.

get_user_infoC

Get information about a Reddit user

Inputs: username (required).

get_user_postsC

Get posts submitted by a user

Inputs: username (required), sort, limit.

search_postsB

Search for Reddit posts

Inputs: query (required), subreddit, sort, time, +1 more.

search_subredditsC

Search for subreddits

Inputs: query (required), limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 9 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose targeting specific Reddit resources and actions. The tools are well-differentiated by their target entities (post, comments, subreddit, user) and operations (get, search), with no overlapping functionality that could cause confusion.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with 'get_' or 'search_' prefixes followed by specific resource identifiers. The naming is perfectly predictable and uniform across all nine tools, using snake_case consistently throughout.

    Tool Count5/5

    Nine tools is well-scoped for a Reddit API server, providing comprehensive coverage of core Reddit entities without being overwhelming. Each tool earns its place by addressing distinct aspects of the Reddit platform (posts, comments, subreddits, users, search).

    Completeness4/5

    The toolset provides excellent read/search coverage for Reddit's core entities (posts, comments, subreddits, users) with logical operations. Minor gaps exist in write operations (no create/update/delete tools), but this is reasonable for a read-focused server and agents can work effectively with the provided surface.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables interaction with Reddit through a comprehensive API interface supporting both read-only operations (browsing posts, comments, user profiles) and authenticated actions (posting, commenting, voting) via OAuth2 authentication.
      7
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      Enables comprehensive Reddit interaction including fetching posts, analyzing users and subreddits, searching content, and creating posts/comments. Supports both read-only mode with client credentials and full functionality with user authentication.
      17
      1,609 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to search, monitor, and analyze Reddit's communities and discussions through authenticated API access with intelligent caching and rate limiting.
      MIT

    Appeared in Searches