This repository contains a Model Context Protocol server implementation for Reddit that allows AI assistants to access and interact with Reddit content through PRAW (Python Reddit API Wrapper).
The Model Context Protocol (MCP) is a standard for enabling AI assistants to interface with external services, tools, and data sources. This server implements the MCP specification to provide access to Reddit content.
To know more about MCP, Check this video
- Get detailed user information with engagement analysis
- Retrieve user comment and post history with flexible filtering
- Fetch and analyze top posts from any subreddit
- Search for posts across all of Reddit or within specific subreddits using search terms
- Get comprehensive subreddit statistics and health metrics
- View trending subreddits with growth patterns
- Create strategic posts with timing recommendations
- Reply to posts and comments with engagement optimization
- AI-driven insights and recommendations
- Smart response formatting with engagement metrics
- Clone this repository
git clone https://github.com/Arindam200/reddit-mcp.git
cd reddit-mcp-
Connect to the MCP server
Copy the below json with the appropriate {{PATH}} values:
{ "mcpServers": { "reddit": { "command": "{{PATH_TO_UV}}", // Run `which uv` and place the output here "args": [ "--directory", "{{PATH_TO_SRC}}", // cd into the repo, run `pwd` and enter the output here "run", "server.py" ], "env": { "REDDIT_CLIENT_ID": "your_client_id", "REDDIT_CLIENT_SECRET": "your_client_secret", "REDDIT_USERNAME": "your_username", // Optional for authenticated operations "REDDIT_PASSWORD": "your_password" // Optional for authenticated operations } } } }You can obtain Reddit API credentials by creating an app at Reddit's app preferences page.
For Claude, save this as
claude_desktop_config.jsonin your Claude Desktop configuration directory at:~/Library/Application Support/Claude/claude_desktop_config.jsonFor Cursor, save this as
mcp.jsonin your Cursor configuration directory at:~/.cursor/mcp.json -
Restart Claude Desktop / Cursor
Open Claude Desktop and you should now see Reddit as an available integration.
Or restart Cursor.
The server provides the following tools:
get_user_info(username)- Get detailed user analysis with engagement insightsget_user_comments(username, sort, time_filter, limit)- Get a user's comment history with filtering optionsget_user_posts(username, sort, time_filter, limit)- Get a user's post/submission history with filtering optionsget_top_posts(subreddit, time_filter, limit)- Get and analyze top postssearch_posts(query, subreddit, sort, time_filter, limit)- Search for posts across Reddit or within a specific subredditget_subreddit_stats(subreddit)- Get comprehensive subreddit analysisget_trending_subreddits()- Get list of trending subredditsget_submission_by_url(url)- Get a Reddit submission by its URLget_submission_by_id(submission_id)- Get a Reddit submission by its ID
who_am_i()- Get information about the currently authenticated usercreate_post(subreddit, title, content, flair, is_self)- Create an optimized postreply_to_post(post_id, content, subreddit)- Add a reply with engagement insightsreply_to_comment(comment_id, content, subreddit)- Add a strategic reply
Here are some examples of what you can ask an AI assistant connected to this server:
- "Who am I on Reddit?" or "Show my Reddit profile"
- "Analyze u/spez's Reddit activity"
- "Show me u/spez's recent comments"
- "Get the top posts by u/poem_for_your_sprog from the past year"
- "Show me the most controversial comments by u/username"
- "Show me the top posts from r/Python this week"
- "Search for posts about 'machine learning' across all of Reddit"
- "Find posts about 'beginner tutorials' in r/learnprogramming from this month"
- "Get statistics about r/AskReddit"
- "What are the trending subreddits right now?"
- "Create a post in r/Python about a new project"
- "Reply to this post with an insightful comment"
- "What's the best time to post in this subreddit?"
The server provides intelligent analysis in several areas:
-
User Analysis
- Engagement patterns
- Activity trends
- Community influence
- Personalized recommendations
-
Post Analysis
- Performance metrics
- Engagement quality
- Timing optimization
- Content impact assessment
-
Community Analysis
- Health indicators
- Growth patterns
- Activity metrics
- Engagement opportunities
- Organized bullet points
- Engagement statistics
- AI-driven insights
- Strategic recommendations
- Performance metrics
The server supports two levels of authentication:
-
Read-only Access
- Requires:
client_idandclient_secret - Allows: Fetching public data, reading posts/comments
- Requires:
-
Authenticated Access
- Requires: All read-only credentials PLUS
usernameandpassword - Allows: All read-only operations PLUS posting and commenting
- Requires: All read-only credentials PLUS
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
