Skip to main content
Glama
liuyang1520

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: Twitch 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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/liuyang1520/reddit-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server