Reddit研究MCP服务器

Reddit Research MCP Server 是一款 Reddit 研究与分析工具,支持搜索、浏览、情绪分析以及问题空间挖掘,帮助用户发现用户痛点与解决方案缺口。

  • by c-wenlong
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 c-wenlong/reddit-mcp

使用说明

Reddit Research MCP Server

An MCP server for general Reddit research — search, browse, analyze sentiment, discover patterns, and dive deep into problem spaces and solution gaps.

Features

General Research Tools

  1. search_reddit — Search Reddit with query, subreddit, sort, and time filters
  2. get_subreddit_posts — Browse a subreddit's posts (hot/top/new/rising)
  3. get_post_details — Fetch a post with full comment tree
  4. get_subreddit_info — Get subreddit metadata (description, subscribers, rules)
  5. get_user_info — Get user profile, karma, and recent activity
  6. get_trending_topics — Find high-engagement posts across subreddits
  7. analyze_subreddit_sentiment — Keyword-based sentiment analysis on recent posts
  8. discover_patterns — Find recurring themes across multiple queries or subreddits

Problem Space Research Tools

  1. find_pain_points — Search with curated pain-signal queries, scores by pain intensity and willingness-to-pay
  2. analyze_comments — Analyze a post's comment thread for pain signals, solution mentions, and buying signals
  3. find_solution_gaps — Find where current solutions are inadequate by analyzing recommendation and rejection patterns

Prerequisites

  • Python 3.8+
  • Reddit API credentials (Client ID and Client Secret)

Setup

1. Get Reddit API Credentials

  1. Go to Reddit Apps
  2. Click "create another app" or "create app"
  3. Select "script" as the app type
  4. Fill in name, description, and redirect URI (http://localhost:8080)
  5. Save your Client ID (under the app name) and Client Secret

2. Install Dependencies

cd reddit-mcp
uv pip install -r requirements.txt

3. Configure Environment Variables

Copy env.example to .env and add your credentials:

cp env.example .env

Edit .env:

REDDIT_CLIENT_ID=your_client_id_here
REDDIT_CLIENT_SECRET=your_client_secret_here
REDDIT_USER_AGENT=Reddit Research MCP/1.0

4. Configure MCP Client

Add to your MCP client config (e.g., OpenCode ~/.config/opencode/opencode.json):

{
  "mcpServers": {
    "reddit-research": {
      "command": "uv",
      "args": ["--directory", "/path/to/reddit-mcp", "run", "python3", "server.py"],
      "enabled": true
    }
  }
}

Problem Space Research Workflow

A step-by-step guide to finding problems people would pay to solve.

Step 1: Find Pain Points

Use find_pain_points to auto-search with pain-signal queries:

find_pain_points(topic: "invoicing for freelancers", subreddits: ["freelance", "Entrepreneur"], time_filter: "month")

This searches with 8 curated queries like "invoicing frustrated", "looking for invoicing", "tired of invoicing" and scores posts by pain intensity and willingness-to-pay signals.

What to look for:

  • buying_signals > 0 — Someone explicitly said they'd pay
  • strong_pain_signals count — High frustration posts
  • Posts with pain_score >= 2 and high engagement

Step 2: Deep Dive Into Comments

Take the top pain posts and use analyze_comments:

analyze_comments(post_url: "https://reddit.com/r/freelance/xyz/...", comment_limit: 50)

What the output tells you:

  • pain_signals.wtp_phrases — People who said "I'd pay for this"
  • pain_signals.agreement_signals — "Same here", "me too" = widespread problem
  • solutions.mentioned — What tools people already use
  • solutions.rejection_signals — "I tried X but it sucks" = opportunity
  • solutions.has_solution_gap — True when people reject solutions without good alternatives

Step 3: Validate Solution Gaps

Use find_solution_gaps to check if the market has real holes:

find_solution_gaps(domain: "freelancer invoicing", subreddits: ["freelance", "smallbusiness"])

Key signals:

  • market_signals.existing_solutions_mentioned — What's already out there
  • market_signals.total_rejection_signals — How many people are unsatisfied
  • gap_assessment.has_market_gap — True when rejections are high and solutions are few
  • gap_assessment.strongest_gaps — Posts with the clearest gap

Step 4: Cross-Validate with Sentiment

Use analyze_subreddit_sentiment to check if the problem is subreddit-wide:

analyze_subreddit_sentiment(subreddit: "freelance", limit: 100, sort: "hot")

If the subreddit has high negative sentiment on a specific topic, it's a systemic problem, not a one-off complaint.

Step 5: Track the Vocal Users

Use get_user_info on people who posted the strongest pain signals:

get_user_info(username: "frustrated_freelancer", include_posts: true, include_comments: true)

See what else they complain about. Frequent complainers across multiple related topics = your early adopters.


Example: "I want to build something for indie game developers"

Step 1: find_pain_points(topic: "game development", subreddits: ["gamedev", "indiegaming", "Unity3D"])
Step 2: analyze_comments(post_url: "<top pain post URL>")
Step 3: find_solution_gaps(domain: "game asset management", subreddits: ["gamedev"])
Step 4: analyze_subreddit_sentiment(subreddit: "gamedev", limit: 50)
Step 5: get_user_info(username: "<user with strongest pain signal>")

Signals That Indicate a Real Problem

Signal What it means Action
wtp_phrases not empty Someone said they'd pay Strong validation
agreement_signals > 5 Many people relate Widespread problem
rejection_signals > 3 People tried and gave up Market gap exists
has_solution_gap: true Rejections but few alternatives Open opportunity
Negative sentiment > 40% Community-wide frustration Systemic problem

All Tools Reference

General Research

Tool Purpose
search_reddit Search with any query, sort, time filter
get_subreddit_posts Browse hot/top/new/rising from a subreddit
get_post_details Post + full comment tree
get_subreddit_info Subreddit metadata and rules
get_user_info User profile, karma, recent activity
get_trending_topics High-engagement posts across subreddits
analyze_subreddit_sentiment Sentiment distribution of recent posts
discover_patterns Recurring themes across queries/subreddits

Problem Research

Tool Purpose
find_pain_points Pain-signal search with auto-generated queries
analyze_comments Comment thread analysis for pain, solutions, WTP
find_solution_gaps Market gap analysis via solution rejection patterns

Dependencies

  • praw — Python Reddit API Wrapper
  • mcp — Model Context Protocol SDK
  • python-dotenv — Environment variable loading

License

MIT