Skip to main content
Glama
dialog-tools

Reddit MCP Server

by dialog-tools

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

Python 3.11+ FastMCP License: MIT

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/mcp

Cursor

cursor://anysphere.cursor-deeplink/mcp/install?name=dialog-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5kaWFsb2cudG9vbHMvbWNwIn0%3D

OpenAI 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-http

Direct 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

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.

Try Dialog Free


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-mcp

Found a bug or have a feature idea? Open an issue.


Stop guessing. Start knowing what your market actually thinks.

Dialog App | GitHub | Report Issues

Available Tools

3 tools
discover_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

ParametersJSON Schema
NameRequiredDescriptionDefault
discovery_depthNocomprehensive
include_communitiesNo
topicNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines5/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
operation_idYes
parametersYes
validateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines5/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo
operation_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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

A3.7/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness2/5

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

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides 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.
    9
    648
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    5
    4
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Enables 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.
    17
    648
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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

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