Reddit MCP Server
The Reddit Research MCP Server transforms Reddit into an AI-powered research tool with semantic discovery, efficient data retrieval, and automated content analysis. Key capabilities include:
• Semantic community discovery: Search across 20,000+ indexed Reddit communities to find relevant subreddits based on any topic, going beyond native search limitations • Intelligent batch operations: Fetch posts from up to 15 subreddits simultaneously and retrieve detailed comments, reducing API calls by up to 70% • Automated research & analysis: Built-in AI agent (like Claude Code) conducts end-to-end research, analyzing 100+ posts and comments on complex topics • Professional report generation: Produces comprehensive Markdown reports with full citations, sentiment analysis, and complete traceability back to Reddit sources • Comprehensive search functionality: Reddit-wide search with time filters, content limits, and comment analysis with sorting options • Guided operational flow: Three-layer architecture (Discovery, Requirements, Execution) provides structured guidance for AI models, ensuring correct parameter usage and error prevention
Provides comprehensive access to Reddit content through a three-layer architecture for discovering communities, fetching posts and comments, searching across subreddits, and conducting thorough research and analysis of Reddit discussions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Reddit MCP ServerWhat are developers saying about Next.js vs Remix?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-name: io.github.king-of-the-grackles/reddit-research-mcp
Dialog MCP Server
Open source Reddit intelligence, part of the research engine that powers Dialog
Version: 1.0.1
Turn Reddit's chaos into evidence-backed insights. This MCP server gives any AI assistant semantic search across 20,000+ active subreddits, deep-dive access to posts and comment threads, and saved feeds for ongoing monitoring. Every finding comes with citations to real posts and comments.
It's fully usable on its own, for free, in Claude Code, Cursor, Codex, Gemini CLI, or any MCP-compatible client. It's also part of the research engine that powers Dialog, the AI agent platform for continuous market intelligence, where it ships connected to every agent.
Why This Server?
Evidence-based insights with full citations. Every finding links back to real Reddit posts and comments with upvote counts, awards, and direct URLs. When you say "users are complaining about X," you'll have the receipts to prove it.
Zero-friction setup. No Reddit API credentials needed. No terminal commands. No credential management. Just connect and start researching.
Semantic search at scale. Reddit's API caps at 250 search results. This server searches conceptually across 20,000+ indexed subreddits using vector embeddings, finding relevant communities you didn't know existed.
Persistent research management. Save subreddit collections into feeds for ongoing monitoring. Perfect for long-term competitive analysis and market research campaigns.
Related MCP server: Reddit MCP Tool
Quick Setup (60 Seconds)
Claude Code
claude mcp add --scope local --transport http dialog-mcp https://mcp.dialog.tools/mcpCursor
cursor://anysphere.cursor-deeplink/mcp/install?name=dialog-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5kaWFsb2cudG9vbHMvbWNwIn0%3DOpenAI Codex CLI
codex mcp add dialog-mcp \
npx -y mcp-remote \
https://mcp.dialog.tools/mcp \
--auth-timeout 120 \
--allow-http \Gemini CLI
gemini mcp add dialog-mcp \
npx -y mcp-remote \
https://mcp.dialog.tools/mcp \
--auth-timeout 120 \
--allow-httpDirect MCP Server URL
For other AI assistants: https://mcp.dialog.tools/mcp
What You Can Do
Competitive Analysis
"What are developers saying about Next.js vs Remix?"Get a comprehensive report comparing sentiment, feature requests, pain points, and migration experiences with links to every mentioned discussion.
Customer Discovery
"Find the top complaints about existing CRM tools in small business communities"Discover unmet needs, feature gaps, and pricing concerns directly from your target market with citations to real user feedback.
Market Research
"Analyze sentiment about AI coding assistants across developer communities"Track adoption trends, concerns, success stories, and emerging use cases with temporal analysis showing how opinions evolved.
Product Validation
"What problems are SaaS founders having with subscription billing?"Identify pain points and validate your solution with evidence from actual Reddit discussions, not assumptions.
Ongoing Monitoring
"Save these communities as a feed so we can track competitor sentiment over time"Build curated feeds of the communities that matter to you, then come back to them in any session. Want this to run on a schedule and land in Slack? That's what Dialog adds on top.
Server Capabilities
Category | Count | Description |
MCP Tools | 3 | discover_operations, get_operation_schema, execute_operation |
Reddit Operations | 5 | discover, search, fetch_posts, fetch_multiple, fetch_comments |
Feed Operations | 5 | create, list, get, update, delete |
Indexed Subreddits | 20,000+ | Active communities (2k+ members, updated weekly) |
MCP Prompts | 1 | reddit_research for automated workflows |
Resources | 1 | reddit://server-info for documentation |
Use Cases by Role
For Indie Hackers & SaaS Founders
Validate product ideas before building
Find communities where your target customers hang out
Monitor competitor mentions and sentiment
Discover unmet needs in your niche
For Product Managers
Gather customer feedback at scale
Track feature requests across communities
Understand competitive landscape
Identify emerging trends before they peak
For Market Researchers
Conduct sentiment analysis with full citations
Build audience personas from real discussions
Track how opinions evolve over time
Generate evidence-based reports
Technical Details
The server follows the layered abstraction pattern for scalability and self-documentation:
Layer 1: Discovery
discover_operations()See what operations are available and get workflow recommendations.
Layer 2: Schema Inspection
get_operation_schema("discover_subreddits", include_examples=True)Understand parameter requirements, validation rules, and see examples before executing.
Layer 3: Execution
execute_operation("discover_subreddits", {
"query": "machine learning",
"limit": 15,
"min_confidence": 0.6
})Perform the actual operation with validated parameters.
discover_subreddits
Find relevant communities using semantic vector search across 20,000+ indexed subreddits.
search_subreddit
Search for posts within a specific subreddit with filters for time range and sort order.
fetch_posts
Get posts from a single subreddit by listing type (hot, new, top, rising).
fetch_multiple
70% more efficient - Batch fetch posts from multiple subreddits concurrently.
fetch_comments
Get complete comment trees for deep analysis of discussions.
Feeds let you save research configurations for ongoing monitoring:
create_feed - Save discovered subreddits with analysis and metadata
list_feeds - View all your saved feeds with pagination
get_feed - Retrieve a specific feed by ID
update_feed - Modify feed name, subreddits, or analysis
delete_feed - Remove a feed permanently
The server uses Descope OAuth2 for secure authentication:
Setup: No Reddit credentials needed - server handles authentication
Token: Automatically managed by your MCP client
Privacy: Only accesses public Reddit data
First use: Authentication takes ~30 seconds, then you're set
Want This Running on Autopilot? Meet Dialog
This server is free and fully usable standalone. Dialog is the hosted platform where it plugs into a larger research engine: AI agents that combine this Reddit server with 45+ other integrations to run your research continuously and deliver the results where you work.
This MCP server (free, open source) | Dialog platform | |
Reddit research | Full access: semantic discovery, search, posts, comments, feeds | This same server, connected by default to every agent |
How it runs | On demand, inside your AI assistant | Autonomous agents powered by Claude that plan and execute multi-step research |
Scheduling | Manual, session by session | Automations that run on a schedule and land in a persistent inbox |
Delivery | Your chat window | Formatted reports with inline charts in Slack, Telegram, or the web app |
Data sources | Reddit plus 45+ integrations: Gmail, Slack, Linear, HubSpot, Apollo, PostHog, Google Drive, and more | |
Memory | Per session | Persistent agent workspaces that build context over time |
A typical Dialog workflow: an agent monitors your competitors' communities every Monday morning, cross-references mentions against your CRM, and posts a formatted report with charts to your team's Slack channel before standup.
Contributing
Contributions are welcome. The stack:
Python 3.11+ with type hints
FastMCP for the server framework
ChromaDB for semantic search
PRAW for Reddit API interaction
Local Development
# Clone and install (uses uv)
git clone https://github.com/king-of-the-grackles/reddit-research-mcp.git
cd reddit-research-mcp
uv sync --extra dev
# Run tests
uv run pytest
# Run the server locally
uv run reddit-mcpFound a bug or have a feature idea? Open an issue.
Stop guessing. Start knowing what your market actually thinks.
Available Tools
3 toolsdiscover_reddit_resourcesA
LAYER 1: Discover available Reddit resources and operations.
ALWAYS USE THIS FIRST to understand what's available before proceeding.
Args: topic: Optional topic to find relevant communities for include_communities: Whether to search for relevant subreddits discovery_depth: Discovery thoroughness - "quick": Single search (faster, 3-5 subreddits) - "comprehensive": Multiple searches (8-15 subreddits for broader perspective)
Returns: Available operations, relevant communities, and recommended workflow
| Name | Required | Description | Default |
|---|---|---|---|
| discovery_depth | No | comprehensive | |
| include_communities | No | ||
| topic | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses some behavioral traits: it's a discovery tool that should be used first, and it mentions search outcomes (e.g., '3-5 subreddits' for 'quick' depth). However, it lacks details on permissions, rate limits, error handling, or what 'available operations' entails. For a tool with no annotations, this is a moderate disclosure but leaves gaps in behavioral understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with key information: purpose and usage guidelines come first. It uses bullet points for parameter details, which aids readability. However, the 'LAYER 1' header and some phrasing (e.g., 'broader perspective') add minor verbosity without critical value, slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (discovery with parameters), no annotations, and the presence of an output schema (which handles return values), the description is fairly complete. It covers purpose, usage, and parameter semantics adequately. However, it could improve by linking more explicitly to sibling tools or detailing the 'recommended workflow' mentioned in returns, leaving some contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning for all three parameters: 'topic' is for 'relevant communities,' 'include_communities' specifies 'whether to search for relevant subreddits,' and 'discovery_depth' explains thoroughness levels with concrete outcomes (e.g., '3-5 subreddits'). This goes beyond the bare schema, providing useful context, though it doesn't cover all possible nuances like parameter interactions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Discover available Reddit resources and operations' and 'to understand what's available before proceeding.' It specifies the verb 'discover' and the resource 'Reddit resources and operations,' making the purpose explicit. However, it doesn't distinctly differentiate from sibling tools like 'execute_reddit_operation' or 'get_operation_requirements' beyond the 'discover' aspect, which is why it's not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'ALWAYS USE THIS FIRST to understand what's available before proceeding.' This clearly indicates when to use this tool (as an initial step) and implies when not to use it (after discovery is done). It sets a clear context for usage relative to the workflow, though it doesn't name specific alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_reddit_operationB
LAYER 3: Execute a Reddit operation with validated parameters.
ONLY USE AFTER getting requirements from get_operation_requirements().
Args:
operation_id: The operation to execute (from Layer 1)
parameters: Parameters matching the schema from Layer 2
validate: Whether to validate parameters before execution (recommended)
Returns: Operation results or detailed error information
| Name | Required | Description | Default |
|---|---|---|---|
| operation_id | Yes | ||
| parameters | Yes | ||
| validate | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions validation and error information, but lacks details on permissions, rate limits, side effects, or what 'execute' entails operationally. For a tool with potential mutations (implied by 'execute'), this is inadequate disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a bold prerequisite, clear sections for Args and Returns, and no redundant sentences. It's appropriately sized, though the 'LAYER 3' reference adds minor clutter without essential value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters with 0% schema coverage, nested objects, and an output schema exists, the description provides basic usage context but lacks depth on parameter meanings and behavioral risks. The output schema handles return values, but for a potentially mutative tool with no annotations, more operational context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but only partially does. It explains operation_id comes 'from Layer 1,' parameters match 'schema from Layer 2,' and validate is 'recommended,' adding some context. However, it doesn't clarify what parameters object contains or operation types, leaving gaps given the nested parameters object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Execute[s] a Reddit operation with validated parameters,' which provides a general verb+resource but lacks specificity about what types of operations are possible or what resources are involved. It distinguishes from siblings by referencing get_operation_requirements(), but the purpose remains vague beyond being a generic executor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'ONLY USE AFTER getting requirements from get_operation_requirements(),' providing clear when-to-use guidance and naming the alternative tool. This directly addresses sibling differentiation and prerequisites, making it highly effective for agent selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_operation_requirementsA
LAYER 2: Get detailed requirements for a Reddit operation.
USE THIS BEFORE EXECUTING to understand parameters, validation rules, and get suggestions.
Args: operation_id: The operation ID from discover_reddit_resources context: Optional context about what you're trying to accomplish
Returns: Parameter schemas, validation rules, suggestions, and common mistakes to avoid
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| operation_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's purpose and workflow role, but lacks details about potential side effects, error conditions, rate limits, or authentication requirements. The description doesn't contradict any annotations (since none exist), but could provide more operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized with clear sectioning (LAYER 2 header, bold directive, Args/Returns sections). Every sentence earns its place by providing essential information about purpose, usage timing, parameters, and return values without redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (prerequisite for execution), lack of annotations, and presence of an output schema, the description provides strong contextual completeness. It explains the tool's role in the workflow, parameter semantics, and what to expect in returns. The output schema existence means the description doesn't need to detail return values, making this quite complete for its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage for both parameters, the description adds significant value by explaining the semantics of both parameters. It clarifies that operation_id comes from discover_reddit_resources and that context is optional and about 'what you're trying to accomplish.' This compensates well for the schema's lack of descriptions, though it doesn't provide format examples or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('get detailed requirements') and resources ('Reddit operation'), distinguishing it from sibling tools. It explicitly mentions this is for understanding parameters, validation rules, and suggestions, which differentiates it from discover_reddit_resources (likely for finding operations) and execute_reddit_operation (for execution).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool with the directive 'USE THIS BEFORE EXECUTING' and references sibling tools by name. It clearly positions this as a prerequisite step to understand requirements before using execute_reddit_operation, creating a clear workflow distinction from discover_reddit_resources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The three tools have clearly distinct purposes with no overlap: discover_reddit_resources identifies available operations, get_operation_requirements provides parameter details, and execute_reddit_operation performs the actual execution. The workflow is explicitly layered (Layer 1-2-3) with clear sequencing instructions, eliminating any ambiguity about when to use each tool.
All tools follow a consistent verb_noun pattern with snake_case: discover_reddit_resources, get_operation_requirements, and execute_reddit_operation. The naming clearly reflects each tool's function within the workflow, maintaining perfect consistency throughout the set.
With only three tools, the count feels minimal for a Reddit server that presumably needs to handle various operations like posting, commenting, voting, or moderating. While the layered approach is conceptually clean, three tools may be too thin to cover the typical breadth of Reddit API functionality, though it could work if the discovery tool dynamically surfaces many operations.
The toolset is severely incomplete for a Reddit server. There are no direct tools for core Reddit actions like creating posts, reading comments, upvoting, or accessing user profiles. The three tools only provide a meta-workflow for discovering and executing operations, but the actual operations themselves are not exposed as tools, creating a significant gap that will likely cause agent failures when trying to perform basic Reddit tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read-only Reddit search API for AI agents: posts, comments, comment trees, subreddit rules.
Browse and manage Reddit posts, comments, and threads. Fetch user activity, explore hot/new/rising…
Post + comment + subreddit search with comment-level depth for sentiment work.
Find high-intent Reddit conversations and manage lead workflows from MCP-compatible AI agents.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides access to Reddit's API for retrieving posts, comments, user information, and search functionality. Supports multiple authentication methods and comprehensive Reddit data operations including subreddit browsing, post retrieval, and user profile access.96481MIT
- AlicenseAqualityDmaintenanceEnables browsing and searching Reddit content through read-only tools that access Reddit's official API. Supports searching posts, retrieving subreddit information, fetching hot posts, and getting detailed post information.54MIT
- AlicenseCqualityDmaintenanceEnables 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.17648MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search, monitor, and analyze Reddit's communities and discussions through authenticated API access with intelligent caching and rate limiting.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/dialog-tools/reddit-research-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server