Reddit MCP Skill
Read-only Reddit integration that browses subreddits, searches content, fetches post details with full comment threads, and analyzes user profiles. Three authentication tiers provide escalating rate limits from anonymous browsing to full authenticated access.
When to Use This Skill
- Subreddit Browsing: Fetch hot, new, top, or rising posts from any subreddit
- Content Search: Search Reddit globally or within specific subreddits by keyword
- Post Analysis: Get full post details including comment trees with nested replies
- User Research: Analyze user activity, karma breakdown, posting patterns, and top content
- Community Insights: Understand subreddit culture, popular topics, and sentiment
- Technical Research: Find solutions, discussions, and opinions on technical topics
When Not To Use
- For posting, commenting, voting, or any write operations -- this skill is read-only
- For Reddit Ads management or promoted content -- not supported
- For real-time streaming or live thread monitoring -- polling only, no WebSocket support
- For accessing quarantined or private subreddits -- requires manual browser access
- For scraping large datasets or bulk export -- use Reddit's official data API or Pushshift
Architecture
┌─────────────────────────────────┐
│ Claude Code / Skill Invocation │
└──────────────┬──────────────────┘
│ MCP Protocol (stdio)
▼
┌─────────────────────────────────┐
│ Reddit MCP Buddy (Node.js) │
│ Auth tier auto-detection │
└──────────────┬──────────────────┘
│ HTTPS (OAuth2 / Anonymous)
▼
┌─────────────────────────────────┐
│ Reddit API (oauth.reddit.com) │
│ or old.reddit.com (anonymous) │
└─────────────────────────────────┘
Authentication Tiers
| Tier |
Env Vars Required |
Rate Limit |
Best For |
| Anonymous |
None |
10 req/min |
Quick lookups, casual browsing |
| App-Only |
REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET |
60 req/min |
Regular research, search |
| Authenticated |
All 4 vars |
100 req/min |
Heavy usage, user analysis |
The server auto-detects the highest available tier based on which environment variables are set.
Tools
| Tool |
Description |
browse_subreddit |
Fetch posts from a subreddit with sorting (hot, new, top, rising) and time filters |
search_reddit |
Search Reddit globally or within a subreddit by keywords with sort and time options |
get_post_details |
Fetch a post's full content and comment tree with configurable depth and sorting |
user_analysis |
Analyze a Reddit user's profile: karma, activity, top posts, subreddit distribution |
reddit_explain |
Explain Reddit-specific terminology, culture, or subreddit purpose |
Examples
# Browse a subreddit
browse_subreddit({
"subreddit": "MachineLearning",
"sort": "top",
"time_filter": "week",
"limit": 10
})
# Search for content
search_reddit({
"query": "transformer architecture explained",
"subreddit": "MachineLearning",
"sort": "relevance",
"limit": 5
})
# Get post with comments
get_post_details({
"url": "https://www.reddit.com/r/programming/comments/abc123/title/",
"comment_sort": "top",
"comment_depth": 3
})
# Analyze a user profile
user_analysis({
"username": "spez",
"include_top_posts": true,
"include_subreddit_breakdown": true
})
# Explain Reddit terminology
reddit_explain({
"term": "what is karma and how does it work"
})
Environment Variables
| Variable |
Required |
Description |
REDDIT_CLIENT_ID |
No |
Reddit app client ID (from https://www.reddit.com/prefs/apps) |
REDDIT_CLIENT_SECRET |
No |
Reddit app client secret |
REDDIT_USERNAME |
No |
Reddit account username (for authenticated tier) |
REDDIT_PASSWORD |
No |
Reddit account password (for authenticated tier) |
Setup
# Anonymous mode (no setup needed)
npx reddit-mcp-buddy
# App-only mode (create app at reddit.com/prefs/apps, type "script")
export REDDIT_CLIENT_ID="your-client-id"
export REDDIT_CLIENT_SECRET="your-client-secret"
# Authenticated mode (adds username/password)
export REDDIT_USERNAME="your-username"
export REDDIT_PASSWORD="your-password"
# Or add to .env
cat >> "$HOME/.claude/skills/.env" << 'EOF'
REDDIT_CLIENT_ID=your-client-id
REDDIT_CLIENT_SECRET=your-client-secret
EOF
Troubleshooting
Rate Limited (429 Errors):
# Upgrade auth tier for higher limits
# Anonymous: 10/min → App-only: 60/min → Authenticated: 100/min
export REDDIT_CLIENT_ID="..."
export REDDIT_CLIENT_SECRET="..."
Authentication Failed:
# Verify credentials
curl -X POST -d "grant_type=client_credentials" \
--user "$REDDIT_CLIENT_ID:$REDDIT_CLIENT_SECRET" \
https://www.reddit.com/api/v1/access_token
Subreddit Not Found:
- Check spelling and capitalization (subreddit names are case-insensitive but must exist)
- Private or quarantined subreddits are not accessible through this tool
Empty Search Results:
- Reddit search can be inconsistent; try broader keywords
- Use
time_filter to narrow results to recent content
- Search within specific subreddits for better relevance
Integration with Other Skills
Combine with:
perplexity-research: Cross-reference Reddit discussions with broader web research
gemini-url-context: Expand URLs shared in Reddit posts
report-builder: Generate trend analysis reports from subreddit data
linkedin: Compare professional profiles discussed on Reddit
1---2name: reddit3description: Reddit integration for browsing subreddits, searching content, analyzing user profiles, and fetching post details with comment threads. Supports anonymous, app-only, and authenticated modes with tiered rate limits. Use when browsing Reddit, searching posts, or analysing user/subreddit activity.4---56# Reddit MCP Skill78Read-only Reddit integration that browses subreddits, searches content, fetches post details with full comment threads, and analyzes user profiles. Three authentication tiers provide escalating rate limits from anonymous browsing to full authenticated access.910## When to Use This Skill1112- **Subreddit Browsing**: Fetch hot, new, top, or rising posts from any subreddit13- **Content Search**: Search Reddit globally or within specific subreddits by keyword14- **Post Analysis**: Get full post details including comment trees with nested replies15- **User Research**: Analyze user activity, karma breakdown, posting patterns, and top content16- **Community Insights**: Understand subreddit culture, popular topics, and sentiment17- **Technical Research**: Find solutions, discussions, and opinions on technical topics1819## When Not To Use2021- For posting, commenting, voting, or any write operations -- this skill is read-only22- For Reddit Ads management or promoted content -- not supported23- For real-time streaming or live thread monitoring -- polling only, no WebSocket support24- For accessing quarantined or private subreddits -- requires manual browser access25- For scraping large datasets or bulk export -- use Reddit's official data API or Pushshift2627## Architecture2829```30┌─────────────────────────────────┐31│ Claude Code / Skill Invocation │32└──────────────┬──────────────────┘33 │ MCP Protocol (stdio)34 ▼35┌─────────────────────────────────┐36│ Reddit MCP Buddy (Node.js) │37│ Auth tier auto-detection │38└──────────────┬──────────────────┘39 │ HTTPS (OAuth2 / Anonymous)40 ▼41┌─────────────────────────────────┐42│ Reddit API (oauth.reddit.com) │43│ or old.reddit.com (anonymous) │44└─────────────────────────────────┘45```4647## Authentication Tiers4849| Tier | Env Vars Required | Rate Limit | Best For |50|------|-------------------|------------|----------|51| **Anonymous** | None | 10 req/min | Quick lookups, casual browsing |52| **App-Only** | `REDDIT_CLIENT_ID`, `REDDIT_CLIENT_SECRET` | 60 req/min | Regular research, search |53| **Authenticated** | All 4 vars | 100 req/min | Heavy usage, user analysis |5455The server auto-detects the highest available tier based on which environment variables are set.5657## Tools5859| Tool | Description |60|------|-------------|61| `browse_subreddit` | Fetch posts from a subreddit with sorting (hot, new, top, rising) and time filters |62| `search_reddit` | Search Reddit globally or within a subreddit by keywords with sort and time options |63| `get_post_details` | Fetch a post's full content and comment tree with configurable depth and sorting |64| `user_analysis` | Analyze a Reddit user's profile: karma, activity, top posts, subreddit distribution |65| `reddit_explain` | Explain Reddit-specific terminology, culture, or subreddit purpose |6667## Examples6869```python70# Browse a subreddit71browse_subreddit({72 "subreddit": "MachineLearning",73 "sort": "top",74 "time_filter": "week",75 "limit": 1076})7778# Search for content79search_reddit({80 "query": "transformer architecture explained",81 "subreddit": "MachineLearning",82 "sort": "relevance",83 "limit": 584})8586# Get post with comments87get_post_details({88 "url": "https://www.reddit.com/r/programming/comments/abc123/title/",89 "comment_sort": "top",90 "comment_depth": 391})9293# Analyze a user profile94user_analysis({95 "username": "spez",96 "include_top_posts": true,97 "include_subreddit_breakdown": true98})99100# Explain Reddit terminology101reddit_explain({102 "term": "what is karma and how does it work"103})104```105106## Environment Variables107108| Variable | Required | Description |109|----------|----------|-------------|110| `REDDIT_CLIENT_ID` | No | Reddit app client ID (from https://www.reddit.com/prefs/apps) |111| `REDDIT_CLIENT_SECRET` | No | Reddit app client secret |112| `REDDIT_USERNAME` | No | Reddit account username (for authenticated tier) |113| `REDDIT_PASSWORD` | No | Reddit account password (for authenticated tier) |114115## Setup116117```bash118# Anonymous mode (no setup needed)119npx reddit-mcp-buddy120121# App-only mode (create app at reddit.com/prefs/apps, type "script")122export REDDIT_CLIENT_ID="your-client-id"123export REDDIT_CLIENT_SECRET="your-client-secret"124125# Authenticated mode (adds username/password)126export REDDIT_USERNAME="your-username"127export REDDIT_PASSWORD="your-password"128129# Or add to .env130cat >> "$HOME/.claude/skills/.env" << 'EOF'131REDDIT_CLIENT_ID=your-client-id132REDDIT_CLIENT_SECRET=your-client-secret133EOF134```135136## Troubleshooting137138**Rate Limited (429 Errors):**139```bash140# Upgrade auth tier for higher limits141# Anonymous: 10/min → App-only: 60/min → Authenticated: 100/min142export REDDIT_CLIENT_ID="..."143export REDDIT_CLIENT_SECRET="..."144```145146**Authentication Failed:**147```bash148# Verify credentials149curl -X POST -d "grant_type=client_credentials" \150 --user "$REDDIT_CLIENT_ID:$REDDIT_CLIENT_SECRET" \151 https://www.reddit.com/api/v1/access_token152```153154**Subreddit Not Found:**155- Check spelling and capitalization (subreddit names are case-insensitive but must exist)156- Private or quarantined subreddits are not accessible through this tool157158**Empty Search Results:**159- Reddit search can be inconsistent; try broader keywords160- Use `time_filter` to narrow results to recent content161- Search within specific subreddits for better relevance162163## Integration with Other Skills164165Combine with:166- `perplexity-research`: Cross-reference Reddit discussions with broader web research167- `gemini-url-context`: Expand URLs shared in Reddit posts168- `report-builder`: Generate trend analysis reports from subreddit data169- `linkedin`: Compare professional profiles discussed on Reddit