Reddit Growth MCP
The Reddit Growth MCP server helps you find where to post, understand subreddit dynamics, and evaluate content before publishing — no Reddit API credentials required for most features.
Discover subreddits: Find and rank subreddits for a given topic by estimated traffic, subscriber count, and daily visitors (requires Reddit credentials).
Analyze subreddit activity: Estimate posts-per-day velocity and activity level from the public archive.
Analyze acceptance/removal rates: Measure how often posts get removed, common removal reasons, and (with credentials) fetch official rules.
Uncover post patterns: Identify what makes posts succeed — optimal timing, title style, media type, flair, and keywords — ranked by score, comments, or discussion depth.
Evaluate a draft post: Score a draft title/body against a subreddit's patterns, predict acceptance risk and engagement potential (0–100), and get actionable improvement suggestions.
Score a draft across multiple subreddits: Compare how one draft fits several subreddits simultaneously, ranked by size-fair percentile fit and raw expected reach.
Compare subreddits: Rank communities by growth potential, viral ceiling, discussion depth, removal risk, and safety — helping you avoid high-removal communities.
Analyze discussion insight: Measure comment substance and depth, plus heuristic sentiment (supportive/mixed/critical).
Build a full growth plan: One-call workflow that picks the safest high-traffic target, lists cross-post options, and returns a viral recipe with best posting times.
Fetch raw posts (requires Reddit credentials): Pull live posts from one or multiple subreddits by listing type (hot/new/top/rising).
Search subreddit posts (requires Reddit credentials): Search posts within a subreddit by keyword and sort order.
Fetch post comments (requires Reddit credentials): Retrieve a post and its full comment tree by URL or submission ID.
Provides tools for analyzing subreddits, post patterns, acceptance rates, growth opportunities, and evaluating draft performance using Reddit data from both the live API and a public historical archive.
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 Growth MCPPlan where to post about AI: analyze r/singularity and r/LocalLLaMA"
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 Growth MCP turns a list of subreddits into a plan — where to post, what to post, and when — by reading each community's format, flair, timing, and keyword recipe from a public historical archive. The whole core workflow runs with no account or API key. It works as an MCP server (for Claude, Cursor, and other MCP clients) and as a standalone command-line tool.
Built by a Top 1% Poster in r/ClaudeAI — the heuristics here encode what actually gets upvoted and what gets removed, not guesswork.
Quick start
Requirements: Python 3.11+ and uv. No Reddit account or API keys are needed to get started.
Install from PyPI:
uvx reddit-growth-mcp # run the MCP server instantly
pipx install reddit-growth-mcp # or install the CLI + server
reddit-growth plan singularity LocalLLaMA mcp # your first growth planOr from a clone (for development):
uv sync # install dependencies
uv run python -m src.cli plan singularity LocalLLaMA mcp # your first growth planThat prints where to post, what to post, and when — using only the public
archive. Every command has the form uv run python -m src.cli <command> [options]
(shown throughout as reddit-growth <command>, which is the installed alias).
Add -h to any command for help, e.g. uv run python -m src.cli plan -h.
If you activate the virtualenv directly (source .venv/bin/activate) and zsh
still reports command not found: reddit-growth, run rehash — zsh caches
command locations at startup and needs a nudge after the venv is added to PATH.
Opening a new terminal also works, or call the binary by path without activating:
.venv/bin/reddit-growth plan singularity LocalLLaMA mcp.
Interactive launcher
Prefer a menu to flags? Run:
bash scripts/menu.shPick a mode (plan, compare, patterns, draft, …), choose subreddits from a
searchable preset list, and it runs the command for you — all in one window.
With gum installed you get an arrow-key
TUI with fuzzy search; otherwise it falls back to a numbered menu. Type h for
a built-in guide.
Related MCP server: Reddit MCP Server
What it answers
Which subreddits fit my topic, and how much reach do they have?
Will my post survive here, or does this community remove a lot of posts?
What actually performs here: which format, title style, timing, and flair?
Given a specific draft, how is it likely to do, and how do I improve it?
See it work
compare ranks candidate subreddits by growth, viral ceiling, discussion, and
removal risk — so you post where you'll be seen and skip communities that remove
most submissions (note r/ClaudeAI below: 96% removed, strict):

patterns reads one community's viral recipe — the media types, hours, days,
flairs, and keywords that actually perform, ranked by median so a single lucky
post can't crown a category:

Figures are live estimates from a sample and shift over time — run the commands yourself for current numbers.
Tools
Tool | Purpose | Needs credentials |
| What performs in a sub: timing, media, title style, flair, keywords, by a configurable metric | No |
| Removal rate and what tends to get removed; official rules when credentials are present | No |
| Rank subreddits by growth (typical reach + viral upside), with traffic (posts/day), discussion, removal risk, and a safety label; | No |
| Discussion depth (comment substance) plus a heuristic sentiment read (supportive/mixed/critical) — not just comment count | No |
| One call: safest strong target, cross-post options, viral recipe, and best posting times | No |
| Predict a draft's performance (0-100) and acceptance risk, with drivers and fixes | No |
| Score one draft across subs, ranked by size-fair fit (percentile) vs raw reach | No |
| Estimate a subreddit's activity (posts/day); uses the archive without credentials | No |
| Discover and rank subreddits for topics by estimated traffic | Yes |
| Raw data access | Yes |
The analysis tools are subreddit-agnostic — they work on any archived sub. The
launcher ships 40+ presets across AI, dev, and startup communities (ChatGPT,
DeepSeek, LocalLLaMA, StableDiffusion, SaaS, indiehackers, …).
Data sources
PRAW for live Reddit access (read-only). Requires API credentials.
Arctic Shift (https://github.com/ArthurHeitmann/arctic_shift), a public historical archive and the successor to Pushshift. Requires no credentials.
Removal detection follows the reveddit approach: the archive records what was
posted, and moderator removals are read from that record. When Reddit
credentials are available, analyze_acceptance performs an accurate live diff
(archive vs. current Reddit) to resolve ambiguous cases; without credentials it
runs archive-only and flags its confidence.
Reddit credentials (optional)
Everything above works with no account. Credentials only unlock the
credential-only tools (raw data access, find_target_subreddits_tool) and the
accurate live-removal check. Create a "script" app at
https://www.reddit.com/prefs/apps, then:
cp .env.sample .env
# REDDIT_CLIENT_ID=...
# REDDIT_CLIENT_SECRET=...
# REDDIT_USER_AGENT=reddit-growth-mcp/0.2.1 by u/your_usernameCommand-line usage
Every command runs credential-free from the archive. The commands are:
traffic, insight, patterns, acceptance, compare, plan, report,
draft, and fit (run -h on any of them for options).
uv run python -m src.cli traffic LocalLLaMA
uv run python -m src.cli insight mcp
uv run python -m src.cli patterns Fedora --time month
uv run python -m src.cli patterns commandline --metric discussion
uv run python -m src.cli acceptance technology
uv run python -m src.cli compare Fedora gnome linux
uv run python -m src.cli plan singularity LocalLLaMA mcp --tz 7
uv run python -m src.cli draft ClaudeAI --title "I built an ASCII art tool" --type image
uv run python -m src.cli fit singularity LocalLLaMA mcp --title "..." --type videofit scores one draft across several subreddits and ranks by a size-fair fit
(the draft's percentile within each sub's own score distribution) alongside raw
expected reach, so a small sub where the post lands in the top decile isn't
buried by a big sub's larger absolute numbers.
Add --json to any command for raw output.
Time-based commands (patterns, plan, draft, fit, report) accept
--time day|week|month|year|all — shorter is fresher but a smaller sample.
patterns accepts --metric:
score: upvotes (reach).comments: comment volume.discussion: comments per upvote, a proxy for genuine engagement rather than drive-by upvotes.quality: upvotes damped by a clickbait penalty.
Use as an MCP server
Register the server once (Claude Code shown):
claude mcp add reddit-growth-mcp -- uvx reddit-growth-mcpFor Cline, Cursor, Claude Desktop, and other clients, add it to the MCP
settings JSON (no separate install — uvx fetches it from PyPI):
{
"mcpServers": {
"reddit-growth": {
"command": "uvx",
"args": ["reddit-growth-mcp"]
}
}
}Then ask in natural language, for example "analyze what performs in r/Fedora" or "will this title get accepted in r/linux?" The client calls the tools.
For the full flow in one step, ask for a growth plan ("build a growth plan for
r/singularity, r/LocalLLaMA, r/mcp") to invoke growth_plan, or select the
reddit_growth prompt, which guides the assistant through finding a safe
high-traffic subreddit and crafting a post that fits its viral recipe.
To run the server directly over stdio:
uv run python -m src.serverDocker
The server also ships as a container (stdio transport):
docker build -t reddit-growth-mcp .
docker run -i --rm reddit-growth-mcp
# with credentials:
docker run -i --rm -e REDDIT_CLIENT_ID=... -e REDDIT_CLIENT_SECRET=... reddit-growth-mcpTargeting workflow
To find where to post for growth, compare_subreddits reports, per subreddit:
viral potential (90th-percentile reach adjusted for removal risk) and ceiling,
posts per day (a credential-free traffic proxy),
typical discussion (median comments),
removal rate and a safety label (safe / moderate / strict), so you can avoid communities that remove most posts.
A typical flow: compare to shortlist safe, high-traffic, high-ceiling subs,
then patterns to read the viral recipe, then evaluate_draft to score a draft
against it before posting.
Reach and insight are different goals. compare counts comments (volume);
analyze_insight measures their depth — median comment length and the share
of substantive comments. A sub can have many short one-line replies (high volume,
low insight) or fewer long technical comments (low volume, high insight). Use
reach-oriented ranking for visibility, and analyze_insight to find where
thoughtful discussion happens and reputation is built.
Accuracy and methodology
The tool is built to avoid the common failure modes of naive Reddit analytics.
Robust central tendency. Categories (media, flair, time) are ranked by the median, with the mean shown for reference, so a single viral post cannot crown a category.
Minimum-sample gating. A category or time bucket must contain enough posts to be reported as "best". Small buckets are not treated as reliable signals, and draft scoring ignores title signals whose with/without groups are too small, so a single lucky post cannot swing a projection or seed a bogus suggestion.
Confidence labelling. Each pattern report states a confidence level based on its sample size, and each acceptance report states a reliability level.
Settled scores. Archived scores stabilise after roughly 36 hours, so analysis excludes the most recent two days.
AutoMod awareness. Posts that were only AutoMod-filtered at capture time are treated as uncertain, not confirmed removals, because they are frequently approved later. On AutoMod-heavy subreddits this is flagged, and an accurate live check requires credentials.
Removal-aware verdicts. A draft's acceptance verdict folds in the sub's base removal rate, so a compliant post in a subreddit that removes most of what it gets is flagged risky rather than "likely accepted".
Anti-clickbait. Clickbait titles are detected (hype phrases, shouted words, emoji and punctuation spam), and each report states whether the community actually rewards or penalises clickbait, so guidance never pushes you toward it.
evaluate_draftpenalises a clickbaity draft only where the sub dislikes it.
Limitations
Traffic figures are estimates. Reddit does not expose true daily visitor counts through its public API.
Findings are correlations from a sample, not Reddit's ranking algorithm and not a guarantee of performance.
AutoModerator configuration is private. Karma and account-age gates are inferred from rule text and require credentials to read.
Development
uv sync --extra dev
uv run pytest -q # tests
uv run ruff check src tests # lint
uv run ruff format src tests # formatCI runs the lint, format check, and tests on every push and pull request.
The analysis logic lives in src/analysis/ (traffic, acceptance, patterns,
draft, compare, arctic, helpers). The MCP surface is src/server.py and the
CLI is src/cli.py.
License
MIT
mcp-name: io.github.latent-9/reddit-growth-mcp
Available Tools
8 toolsanalyze_insightARead-only
Measure a subreddit's discussion depth (insight): how substantive its comments are, plus a heuristic sentiment read. No creds needed.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Comment lookback window, e.g. 3d/7d | 3d |
| sample | No | Comments to sample | |
| subreddit_name | Yes | Subreddit name (without r/) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true; description adds value by stating 'No creds needed' and explaining the heuristic sentiment read. Does not contradict 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?
Single informative sentence plus a separate statement, no wasted words. Front-loaded with key action and resource.
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 output schema present and annotations, the description covers purpose, auth requirement, and key behavior. Adequate for the tool's complexity.
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% with descriptions for all parameters. Description does not add extra meaning beyond schema; baseline 3 is appropriate.
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 clearly states verb 'Measure' and resource 'subreddit's discussion depth', specifying what it measures (substance and sentiment) and distinguishes from siblings like 'analyze_subreddit' which might have different metrics.
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?
Implies usage via 'No creds needed' but lacks explicit guidance on when to use this tool over siblings like 'analyze_subreddit' or 'find_target_subreddits_tool'. No alternatives or exclusions listed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_subredditARead-only
Estimate a subreddit's activity (posts/day velocity from the archive; subscribers and active users too when credentials are present)
| Name | Required | Description | Default |
|---|---|---|---|
| sample_size | No | Recent posts to sample for velocity | |
| subreddit_name | Yes | Subreddit name (without r/) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description confirms it estimates activity (read-only). It adds context about credential requirements for certain metrics, which is helpful. No contradictions or missing behavioral disclosures.
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 a single, well-structured sentence that front-loads the main purpose and concisely covers conditional behavior. No unnecessary words.
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 an output schema exists, the description adequately covers the tool's purpose and key outputs. It could mention limitations or edge cases, but for an activity estimation tool, it is sufficiently 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% with descriptions for both parameters. The description adds overall context but doesn't enhance parameter meaning beyond what the schema provides. Baseline score of 3 is appropriate.
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 estimates a subreddit's activity, specifically posts/day velocity, and optionally subscribers/active users with credentials. It differentiates from siblings like find_target_subreddits_tool which targets subreddits, and evaluate_draft which evaluates content.
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 implies usage for estimating subreddit activity and mentions credential dependency for additional metrics. It does not explicitly state when not to use or compare to alternatives, but the purpose is clear enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_draftARead-only
Evaluate a post draft for acceptance risk and engagement potential
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Draft self-text body (optional) | |
| flair | No | Intended flair (optional) | |
| title | Yes | Draft post title | |
| post_type | No | text | image | video | link | text |
| time_filter | No | Pattern window: all|year|month|week | month |
| subreddit_name | Yes | Target subreddit (without r/) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with the readOnlyHint annotation, indicating a safe read-only operation. It does not add further behavioral details, but the annotation already conveys the key constraint.
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 a single sentence with no wasted words, clearly stating the tool's purpose upfront.
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 presence of an output schema (not shown) and complete input schema, the description is sufficient for understanding the tool's basic function. It could be improved by hinting at the output format or usage context.
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 does not add any parameter-specific semantics beyond what the schema 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 uses a specific verb ('Evaluate') and resource ('post draft'), and clearly states what is evaluated ('acceptance risk and engagement potential'). It distinguishes from sibling tools by focusing on draft evaluation rather than subreddit finding or post fetching.
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 does not specify when to use this tool versus alternatives like 'analyze_acceptance' or 'fetch_posts'. No guidance on prerequisites or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_draft_acrossARead-only
Score one draft across several subreddits and rank by normalized fit (size-fair percentile) vs raw reach. No creds needed.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Draft self-text body (optional) | |
| flair | No | Intended flair (optional) | |
| title | Yes | Draft post title | |
| post_type | No | text | image | video | link | text |
| subreddits | Yes | Subreddits to compare the draft against | |
| time_filter | No | Pattern window: all|year|month|week | month |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, and the description adds 'No creds needed', providing extra transparency. No contradictions; the description does not detail rate limits or other traits but adds value beyond 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?
Single sentence that front-loads the action and key details. No wasted words.
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 presence of output schema and annotations, the description covers the essential purpose, operation, and authentication requirement. It is complete for a well-structured tool with good metadata.
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 parameters are well-documented. The description adds meaning by explaining the ranking methodology (normalized fit, size-fair percentile), which goes beyond mere parameter names.
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 scores a draft across multiple subreddits and ranks by normalized fit vs raw reach. It distinguishes from sibling tools like evaluate_draft (likely single subreddit) and find_target_subreddits_tool.
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?
Explicitly states 'No creds needed', which guides usage. Implies when to use (multi-subreddit evaluation) but does not explicitly mention alternatives or when not to use. Context from sibling tools provides some guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_commentsARead-only
Fetch a post with its comment tree
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Full Reddit post URL | |
| comment_sort | No | best|top|new | best |
| comment_limit | No | Max comments | |
| submission_id | No | Reddit post ID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation already declares readOnlyHint=true, so the description does not need to reaffirm safety. However, it adds minimal behavioral context—no mention of potential depth limits, pagination, or comment tree structure.
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 a single concise sentence that immediately conveys the tool's purpose with no redundancy. It is appropriately front-loaded.
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 an output schema exists, the description does not need to detail return values. However, it lacks usage guidance for tool selection among siblings, slightly reducing completeness.
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 does not add meaning beyond the schema's parameter descriptions (e.g., url, comment_sort).
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 a post and its comment tree, using a specific verb ('fetch') and resource ('post with comment tree'). It implicitly distinguishes from siblings like 'fetch_posts' which likely fetches posts without comments.
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 no guidance on when to use this tool versus its siblings (e.g., fetch_posts, fetch_multiple). It does not mention prerequisites, alternatives, or exclusions, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_postsARead-only
Fetch posts from a single subreddit
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of posts | |
| time_filter | No | For 'top' listing | |
| listing_type | No | hot|new|top|rising | hot |
| subreddit_name | Yes | Subreddit name (without r/) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already indicates a safe read operation. The description adds no additional behavioral details such as rate limits, pagination, or output format (though an output schema exists). With annotations present, the description provides minimal added value.
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 a single sentence that front-loads the core purpose. It is concise and contains no unnecessary words.
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 that the input schema fully describes parameters and an output schema exists, the description is minimally adequate. However, it could provide more context on how listing_type and time_filter interact, but the schema descriptions partially cover this.
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?
The input schema has 100% description coverage for all 4 parameters, each with its own description. The tool description does not add meaning beyond what the schema provides, so a baseline score of 3 is appropriate.
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 'Fetch posts from a single subreddit', using a specific verb ('fetch') and resource ('posts') with a scope ('single subreddit'). This immediately distinguishes it from sibling tools like 'fetch_multiple', which implies fetching from multiple subreddits.
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 implicitly suggests usage for a single subreddit by specifying 'single', but it does not explicitly state when to use this tool versus alternatives like 'fetch_multiple' or provide any exclusions or context. With multiple sibling tools, clearer guidance would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_target_subreddits_toolARead-only
Discover and rank subreddits for given topics by estimated traffic
| Name | Required | Description | Default |
|---|---|---|---|
| topics | Yes | Topics/keywords, e.g. ['ai','ascii art','repo'] | |
| include_nsfw | No | Include NSFW subreddits | |
| limit_per_topic | No | Search results per topic | |
| min_subscribers | No | Minimum subscriber count | |
| min_daily_visitors | No | Estimated daily-visitor threshold |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so read-only nature is clear. Description adds ranking behavior but lacks details on rate limits, auth needs, or any side effects.
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?
Single sentence, no filler, front-loads key purpose and metric. Every word adds 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 5 parameters and an output schema, the description is minimal. It does not explain ranking logic or output format beyond what annotations and schema provide. Adequate but with 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 coverage is 100% with detailed parameter descriptions. The description does not add new meaning beyond the schema, so baseline 3 is appropriate.
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?
Clearly states it discovers and ranks subreddits for given topics by estimated traffic. Distinguishes from siblings like search_subreddit (which likely only searches) and compare_subreddits (which compares).
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?
Implies usage for finding high-traffic subreddits for topics, but does not explicitly contrast with alternatives like search_subreddit or compare_subreddits, nor specify when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
growth_planARead-only
Build a growth plan from candidate subreddits: pick the safest strong one, list cross-post targets, and return its viral recipe and best posting times. No credentials needed.
| Name | Required | Description | Default |
|---|---|---|---|
| window | No | Archive lookback, e.g. 30d/60d | 30d |
| subreddits | Yes | Candidate subreddits to plan across | |
| time_filter | No | Pattern window for the recipe: week|month|year | month |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds value by detailing the output (viral recipe, posting times) and noting no credentials are needed. However, it adds no further behavioral traits beyond what annotations provide, earning a 3.
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 a single sentence that efficiently conveys the tool's purpose and key details with no wasted words.
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 a complete input schema and an output schema (not shown but present), the description adequately covers the tool's functionality. It mentions output specifics and the input of candidate subreddits, making it complete enough for an agent to understand 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% and all parameters have descriptions. The description does not add additional meaning beyond what the schema already provides, so the baseline 3 is appropriate.
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 it builds a growth plan from candidate subreddits, including picking a safest strong one, listing cross-post targets, and returning a viral recipe and best posting times. It distinguishes itself from sibling tools like find_target_subreddits_tool by focusing on planning rather than discovery.
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 implies usage after obtaining candidate subreddits, and mentions 'No credentials needed'. However, it does not explicitly state when not to use this tool or compare it to alternatives, though the context is fairly clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have clearly distinct purposes (discovery, activity stats, draft evaluation, discussion depth, planning, fetching). However, evaluate_draft and evaluate_draft_across are similar, though differentiated by scope (single vs. multi-subreddit).
The naming pattern is generally verb_noun, but inconsistent: 'find_target_subreddits_tool' includes a redundant '_tool' suffix, and 'analyze_insight' is slightly redundant. Others like 'growth_plan' and 'fetch_posts' follow the pattern better.
With 8 tools, the set is well-scoped for a Reddit growth assistant, covering discovery, analysis, evaluation, planning, and data retrieval without being bloated or too minimal.
The tool surface covers key aspects of Reddit growth analysis (subreddit discovery, activity, draft evaluation, fetching), but lacks a tool to actually post content, which could be considered a missing action for a growth-focused MCP.
Maintenance
Related MCP Connectors
Reddit MCP server: search posts, subreddit feeds, comments & user profiles as JSON. No API key.
Reddit growth toolkit — opportunities, replies, cold DMs, brand mentions, SEO, autopilot.
MCP server exposing Kettle Logic insight articles & industry guidance as tools + resources.
Hosted MCP for X/Twitter and Reddit. 12 read-only tools, no API keys, free during beta.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA specialized MCP server that enables AI agents to interact with Reddit, including reading posts, creating content, and managing subreddit configurations.3210Apache 2.0
- AlicenseAqualityFmaintenanceAn MCP server that enables AI assistants to access and interact with Reddit content through features like user analysis, post retrieval, subreddit statistics, and authenticated posting capabilities.15299MIT
- AlicenseBqualityDmaintenanceAn MCP server that provides both read-only and authenticated access to Reddit content and interactions without requiring a developer API key. It enables users to browse posts, search subreddits, and perform write actions like commenting and voting by leveraging browser session cookies.81The Unlicense
- FlicenseBqualityCmaintenanceMCP server for compact Reddit research packs. Enables Reddit data extraction, search, and trend analysis through a set of tools like reddit_search and reddit_thread.7
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/latent-9/reddit-growth-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server