Reddit MCP Server
Allows searching posts, monitoring subreddits, reading comments, and scanning multiple communities for keyword matches through the Reddit API.
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 Serversearch for 'MCP server' in r/programming"
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.
Reddit MCP Server
An MCP server that connects to the Reddit API, letting Claude search posts, monitor subreddits, read comments, and scan multiple communities for keyword matches — all through structured tools.
Setup (5 minutes)
Step 1: Create a Reddit App
Click "create another app..." at the bottom
Fill in:
name:
framez-mcp(or whatever you like)type: Select "script"
redirect uri:
http://localhost:8080(required but not used)
Click Create app
Note your client ID (the string under the app name) and secret
Step 2: Add to Claude Desktop
Add this to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"reddit": {
"command": "node",
"args": ["/path/to/reddit-mcp-server/dist/index.js"],
"env": {
"REDDIT_CLIENT_ID": "your_client_id_here",
"REDDIT_CLIENT_SECRET": "your_secret_here",
"REDDIT_USERNAME": "your_reddit_username",
"REDDIT_PASSWORD": "your_reddit_password"
}
}
}
}Replace /path/to/reddit-mcp-server with the actual path where you saved this folder.
Step 3: Restart Claude Desktop
Close and reopen Claude Desktop. The Reddit tools should appear.
Related MCP server: Reddit MCP Server
Available Tools
Tool | What it does |
| Fetch posts from a subreddit (hot/new/top/rising) |
| Search posts by keyword, optionally within a subreddit |
| Read comments on a specific post |
| Scan multiple subreddits for posts matching keywords |
Usage Examples
Weekly Framez digest:
reddit_monitor_subreddits({
subreddits: ["nursing", "instructionaldesign", "humanresources", "compliance", "healthIT", "elearning", "govtech"],
keywords: ["compliance", "training", "onboarding", "policy", "video", "outdated", "audit", "LMS", "content update"],
time: "week",
limit_per_sub: 50
})Search for competitor mentions:
reddit_search_posts({
query: "Panopto OR Cornerstone OR Gong compliance training",
time: "month",
sort: "relevance"
})Read a specific discussion:
reddit_get_comments({
subreddit: "nursing",
post_id: "1j8k3f2",
sort: "best",
limit: 30
})Rate Limits
Reddit allows 60 requests per minute for OAuth2 script apps. The monitor tool makes 1 request per subreddit, so scanning 7 subreddits uses 7 of your 60 requests.
reddit-mcp-server
Available Tools
4 toolsreddit_get_commentsGet Post CommentsARead-onlyIdempotent
Fetch top-level comments from a specific Reddit post.
Use this to read the full discussion in a thread — understand community sentiment, find buyer language, or identify engagement opportunities.
Args:
subreddit (string): Subreddit name without r/ prefix
post_id (string): Post ID from the URL (e.g., for reddit.com/r/nursing/comments/1j8k3f2/..., the ID is "1j8k3f2")
sort (string): "best", "top", "new", "controversial", "old" (default: "best")
limit (number): Top-level comments to return, 1-50 (default: 20)
response_format (string): "markdown" or "json" (default: "markdown")
Returns: Top-level comments with author, score, body text, and timestamps.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Comment sort order | best |
| limit | No | Number of top-level comments to return | |
| post_id | Yes | The post ID (the alphanumeric string from the post URL, e.g., '1j8k3f2') | |
| subreddit | Yes | Subreddit name without r/ prefix | |
| response_format | No | Output format: markdown or json | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint: true and idempotentHint: true. The description adds that it returns top-level comments only (not nested), and explicitly states the output fields: author, score, body text, and timestamps. This goes beyond the annotations by clarifying the scope of results and the response content.
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 front-loaded with a one-sentence purpose, followed by usage context, a clean Args section, and a returns line. Each section is purposeful and well-structured; no redundant clutter beyond what helps an agent quickly parse the tool's interface.
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?
For a tool with 5 parameters and no output schema, the description covers purpose, usage scenarios, parameter details, and return value. The 'Returns' line is especially important since no output schema exists, and the inclusion of the post_id URL pattern aids practical usage.
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 coverage is 100%, so baseline is 3. The description adds value by providing a concrete URL example for post_id ('1j8k3f2') and restating the sort options with defaults, making the parameters more actionable than the raw schema. This grounds the abstract fields in real-world usage.
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?
Description opens with 'Fetch top-level comments from a specific Reddit post,' a specific verb+object phrase that clearly states the tool's function. It distinguishes itself from sibling tools like reddit_get_posts (posts) and reddit_search_posts (searching) by focusing on comments for a given post.
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 clear usage context: 'Use this to read the full discussion in a thread' and lists concrete use cases (community sentiment, buyer language, engagement). It does not explicitly call out when not to use it or name alternatives, but the context is sufficient to guide an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_get_postsGet Subreddit PostsARead-onlyIdempotent
Fetch posts from a specific subreddit sorted by hot, new, top, or rising.
Use this to monitor target communities for recent discussions, pain points, and engagement opportunities.
Args:
subreddit (string): Subreddit name without r/ prefix (e.g., "nursing", "instructionaldesign")
sort (string): Sort order — "hot", "new", "top", "rising" (default: "hot")
time (string): Time filter for "top" sort — "hour", "day", "week", "month", "year", "all" (default: "week")
limit (number): Number of posts (1-100, default: 25)
response_format (string): "markdown" or "json" (default: "markdown")
Returns: List of posts with titles, scores, comment counts, permalinks, and text previews.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order: hot, new, top, rising | hot |
| time | No | Time filter for 'top' sort: hour, day, week, month, year, all | week |
| limit | No | Number of posts to return (max 100) | |
| subreddit | Yes | Subreddit name without the r/ prefix (e.g., 'nursing') | |
| response_format | No | Output format: markdown or json | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a safe read-only, idempotent operation. The description adds the return structure (titles, scores, comment counts, permalinks, text previews) but doesn't disclose any additional behavioral traits like rate limits or error handling. With high annotation coverage, this is acceptable but not exceptional.
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 purpose statement, usage note, Arg list, and return summary. It is front-loaded and readable, though the Args section somewhat duplicates the schema, making it slightly longer than necessary.
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?
For a read-only tool with no output schema, the description covers purpose, usage, parameters, defaults, and return fields. It is sufficient for an agent to decide when and how to invoke it, though it omits explicit differentiation from siblings and edge-case handling.
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 coverage is 100%, so the baseline is 3. The description restates parameter details but adds minimal new semantics—only example subreddit names. It does not clarify semantics beyond what the schema already provides.
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 fetches posts from a specific subreddit with sort options (hot, new, top, rising). While it doesn't explicitly name sibling alternatives, the 'from a specific subreddit' phrase differentiates it from search or comment tools, but not as strongly as naming alternatives.
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 says 'Use this to monitor target communities for recent discussions, pain points, and engagement opportunities,' which provides clear context for when to use. It does not explicitly mention when not to use it or point to siblings, so it falls short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_monitor_subredditsMonitor Multiple SubredditsARead-only
Scan multiple subreddits for posts matching specific keywords. Returns only posts whose title or body contain at least one keyword.
This is the primary tool for weekly Reddit intelligence digests — it scans target communities and filters for relevant discussions.
Args:
subreddits (string[]): List of subreddits to scan (e.g., ["nursing", "instructionaldesign", "humanresources"])
keywords (string[]): Keywords to match in post titles/body (e.g., ["compliance", "training", "onboarding", "policy", "video"])
time (string): Time window — "hour", "day", "week", "month" (default: "week")
limit_per_sub (number): Posts to fetch per subreddit, 5-100 (default: 50)
response_format (string): "markdown" or "json" (default: "markdown")
Returns: Filtered, keyword-matched posts grouped by subreddit with scores, comment counts, and links.
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | Time window to scan: hour, day, week, month | week |
| keywords | Yes | Keywords to filter for in post titles and body text (e.g., ["compliance", "training", "onboarding"]) | |
| subreddits | Yes | List of subreddit names to scan (without r/ prefix, e.g., ["nursing", "instructionaldesign"]) | |
| limit_per_sub | No | Posts to scan per subreddit (default: 50) | |
| response_format | No | Output format: markdown or json | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description only needs to add behavioral context. It does so by specifying that only posts matching at least one keyword are returned, and that results are grouped by subreddit with scores, comment counts, and links. No mention of rate limits or edge cases, but it gives solid insight beyond the annotations.
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 front-loaded with a one-sentence summary, followed by a contextual use case and a structured Args breakdown. Every sentence adds value, and the Returns section clearly describes the output. It is appropriately sized for a tool with five parameters.
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?
Since there is no output schema, the description must explain the return value, which it does with a clear summary of grouped, keyword-matched posts with scores, comment counts, and links. The main gaps are the time enum inconsistency and a lack of detail on the exact post fields returned, but overall it covers the essentials.
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 100%, so the baseline is 3. The description repeats parameter examples and defaults, which is helpful, but it introduces a discrepancy: it lists the time window as 'hour, day, week, month' while the schema enum also includes 'year' and 'all'. This could mislead an agent into thinking those values are invalid.
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 scans multiple subreddits for posts matching keywords and returns filtered results. It distinguishes itself from sibling tools (get_posts, search_posts, get_comments) by focusing on multi-subreddit monitoring with keyword filtering, and the 'primary tool for weekly Reddit intelligence digests' clarifies its niche.
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 clearly identifies the primary use case ('weekly Reddit intelligence digests') and explains that it scans target communities and filters for relevant discussions. However, it does not explicitly mention when not to use it or compare with alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_search_postsSearch Reddit PostsARead-onlyIdempotent
Search Reddit posts by keyword, optionally limited to a specific subreddit.
Use this to find discussions about specific topics, pain points, competitors, or industry signals across target communities.
Args:
query (string): Search terms (e.g., "compliance training outdated", "LMS video content")
subreddit (string, optional): Limit to one subreddit (e.g., "nursing"). Omit for all of Reddit.
sort (string): Sort by "relevance", "new", "hot", "top", "comments" (default: "relevance")
time (string): Time filter — "hour", "day", "week", "month", "year", "all" (default: "week")
limit (number): Max results 1-100 (default: 25)
response_format (string): "markdown" or "json" (default: "markdown")
Returns: Matching posts with titles, scores, comment counts, permalinks, and text previews.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort results by: relevance, new, hot, top, comments | relevance |
| time | No | Time filter: hour, day, week, month, year, all | week |
| limit | No | Number of results (max 100) | |
| query | Yes | Search query (supports Reddit search syntax) | |
| subreddit | No | Limit search to a specific subreddit (without r/ prefix). Omit to search all of Reddit. | |
| response_format | No | Output format: markdown or json | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds value by specifying the return structure (titles, scores, comment counts, permalinks, text previews) and clarifying scoping behavior (omit subreddit for all Reddit), which goes beyond the structured safety annotations.
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: purpose, usage context, args list, and return value summary. It is slightly repetitive with the schema (e.g., defaults and enums are repeated), but every sentence contributes info and there is no fluff.
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?
With no output schema, the description covers return values explicitly. It addresses purpose, usage, parameters, and output, making the tool self-contained. For a search tool with moderate complexity, this is sufficient and complete.
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 coverage is 100%, so the baseline is 3. The description enhances parameters with concrete examples (e.g., 'compliance training outdated') and clarifies subreddit formatting (without r/ prefix), adding meaning beyond the schema definitions.
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 'Search Reddit posts by keyword, optionally limited to a specific subreddit'—a specific verb and resource. It distinguishes itself from siblings like reddit_get_posts and reddit_get_comments by focusing on searching rather than direct retrieval.
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?
Provides clear usage context: 'Use this to find discussions about specific topics, pain points, competitors, or industry signals across target communities.' However, it does not explicitly state when not to use it or mention alternatives, so it lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v1.0.0- First observed
reddit_get_comments - First observed
reddit_get_posts - First observed
reddit_monitor_subreddits - First observed
reddit_search_posts
TDQS
Tools have distinct primary purposes: browsing a subreddit, searching, reading comments, and multi-subreddit monitoring. However, reddit_search_posts and reddit_monitor_subreddits both involve keyword filtering, which could cause confusion despite their different contexts.
All tools follow a consistent 'reddit_verb_noun' pattern in snake_case, making the naming predictable and easy to navigate.
Four tools is well-scoped for a read-only Reddit intelligence server, covering essential monitoring and search operations without unnecessary bloat.
The toolset covers the core read and monitoring workflow: fetching posts, searching, reading comments, and filtering multiple subreddits. Minor gaps exist, such as retrieving a single post by ID or subreddit metadata, but these are not critical for its stated purpose.
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.
Connect Claude or any MCP client to Thread Otter, a GTM agent for founders. Free tools with no key: find_buyer_threads (give it a website URL and get recent Reddit threads where that product's buyers are asking for it, report in ~3 minutes), reddit_demand_board (weekly demand across 40 communities with thread receipts), and subreddit_rules (promotion posture for 2,000+ profiled subreddits). With an API key: read your buying-intent mentions across Reddit, X, LinkedIn, and Bluesky, check your pipeline, and propose posts and reply drafts in your voice. Propose-only by design: nothing sends without your approval flow. Keys at threadotter.com/connect.
Find high-intent Reddit conversations and manage lead workflows from MCP-compatible AI agents.
Browse and manage Reddit posts, comments, and threads. Fetch user activity, explore hot/new/rising…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides AI assistants with read-only access to Reddit's API for browsing subreddits, reading posts and comments, searching Reddit, and retrieving user/subreddit information. Enables safe exploration of Reddit content without posting capabilities through natural language interactions.-
- 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
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search, read, and analyze Reddit content, including posts, comments, subreddits, and user profiles using natural language commands. It provides atomic tools for interacting with the Reddit API to retrieve trending topics and community metadata.MIT
- AlicenseNot gradedqualityCmaintenanceEnables reading public Reddit posts and comments on demand, with tools to search, get recent posts, post details, top comments, and server status. Runs on Cloudflare Workers for use with Claude and Open WebUI.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/vnnivas/reddit-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server