关于 reddit-growth-mcp
reddit-growth-mcp 分析各 subreddit 的内容表现,并为草稿评分,帮助创作者选择发布社区和时机。核心工作流使用公开历史档案,也提供命令行工具;凭据可启用 Reddit 实时数据工具。
主要功能
- 01按触达和移除风险排列 subreddit
- 02分析社区发帖模式
- 03为草稿评分并估算获准风险
- 04比较草稿在不同 subreddit 的适配度
- 05制定跨社区发布和时间计划
- 06提供独立命令行工具
适用场景
- 01为主题筛选 subreddit
- 02查看社区内容形式和活跃时段
- 03发布前评估草稿
- 04比较草稿在多个社区的适配度
MCP 相关
提供 subreddit 比较、模式与获准分析、增长规划及草稿评估等 MCP 工具。核心分析无需凭据即可使用公开档案;配置凭据后可访问实时数据和其他工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
13收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| topics | array | 是 | 主题/关键词,例如 ['ai','ascii art','repo'] |
| include_nsfw | boolean | 否 | 包括 NSFW subreddit |
| limit_per_topic | integer | 否 | 每个主题的搜索结果数 |
| min_subscribers | integer | 否 | 最低订阅者数量 |
| min_daily_visitors | integer | 否 | 预估每日访客数阈值 |
详细介绍
Reddit Growth MCP
查找适合发布的版块,了解各个 subreddit 的爆款秘诀,并在发布前为草稿评分——无需 Reddit API 密钥。
每项操作只需一条命令:用 plan 规划发布位置,用 draft 在发布前为帖子评分,用 compare 按移除风险排列 subreddit。
Reddit Growth MCP 会根据公开的历史档案,读取各个社区的内容格式、flair、发布时间和关键词秘诀,将 subreddit 列表转化为一份计划——发在哪里、发什么以及何时发布。整个核心工作流无需账号或 API 密钥即可运行。它既可作为 MCP 服务(用于 Claude、Cursor 和其他 MCP 客户端),也可作为独立的命令行工具使用。
由 r/ClaudeAI 排名前 1% 的发帖者打造——此处的经验法则基于实际获得赞同和被移除的内容,而非猜测。
快速开始
要求:Python 3.11+ 和 uv。开始使用无需 Reddit 账号或 API 密钥。
从 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 plan
或从克隆的仓库安装(用于开发):
uv sync # install dependencies
uv run python -m src.cli plan singularity LocalLLaMA mcp # your first growth plan
这会根据公开档案,输出适合发布的位置、内容和时间。每条命令的格式均为 uv run python -m src.cli <command> [options]
(文中均以 reddit-growth <command> 展示,这是安装后使用的别名)。在任意命令后添加 -h 可查看帮助,例如 uv run python -m src.cli plan -h。
如果你直接激活虚拟环境(source .venv/bin/activate),而 zsh 仍提示
command not found: reddit-growth,请运行 rehash——zsh 会在启动时缓存命令位置,虚拟环境加入 PATH 后需要刷新一下。
也可以打开新终端,或不激活环境,直接通过路径调用二进制文件:
.venv/bin/reddit-growth plan singularity LocalLLaMA mcp。
交互式启动器
更喜欢用菜单而不是选项?运行:
bash scripts/menu.sh
选择一种模式(plan、compare、patterns、draft 等),从可搜索的预设列表中选择 subreddit,它就会为你运行相应命令——所有操作都在一个窗口中完成。
安装了 gum 后,你将获得一个支持模糊搜索的方向键 TUI;否则会退回到编号菜单。输入 h 可查看内置指南。
它能回答什么
- 哪些 subreddit 适合我的主题,它们的覆盖范围有多大?
- 我的帖子能否在这里留存,还是这个社区会移除很多帖子?
- 什么内容在这里表现最好:哪种格式、标题风格、发布时间和 flair?
- 给定一份具体草稿,它可能表现如何,我该如何改进?
查看效果
compare 会根据增长、病毒式传播上限、讨论度和移除风险为候选 subreddit 排名,让你选择能获得曝光的社区,并避开大多数帖子都会被移除的社区(如下方的 r/ClaudeAI:96% 的帖子被移除,审核严格):

patterns 会分析某个社区的热门内容规律——实际表现出色的媒体类型、时段、日期、flair 和关键词,并按中位数排名,避免某个类别仅凭一篇幸运的帖子就拔得头筹:

数据是根据样本得出的实时估算值,并会随时间变化——运行这些命令即可获取当前数据。
工具
| 工具 | 用途 | 是否需要凭据 |
|---|---|---|
analyze_post_patterns | 分析某个 sub 中表现出色的内容:发布时间、媒体、标题风格、flair、关键词;可配置指标 | 否 |
analyze_acceptance | 分析移除率及哪些内容容易被移除;提供凭据时还会获取官方规则 | 否 |
compare_subreddits | 按增长(典型触达量 + 病毒式传播潜力)为 subreddit 排名,并提供流量(每天的帖子数)、讨论度、移除风险和安全标签;rank_by 可切换为 viral/opportunity/insight | 否 |
analyze_insight | 分析讨论深度(评论实质内容)并进行启发式情感判读(支持/混合/批评)——而不只是统计评论数 | 否 |
growth_plan | 一次调用即可获得:风险最低的优质目标、交叉发布选项、热门内容规律和最佳发布时间 | 否 |
evaluate_draft | 预测草稿的表现(0-100)和被接受的风险,并提供影响因素和修改建议 | 否 |
evaluate_draft_across | 在多个 sub 中为同一草稿评分,按规模公平的匹配度(百分位)与原始触达量排序 | 否 |
analyze_subreddit | 估算 subreddit 的活跃度(每天的帖子数);无需凭据即可使用存档 | 否 |
find_target_subreddits_tool | 根据预估流量,为指定主题发现并排列 subreddit | 是 |
fetch_posts、fetch_multiple、search_subreddit、fetch_comments | 原始数据访问 | 是 |
分析工具不限定 subreddit——适用于存档中的任何 sub。启动器内置了 40 多个 AI、开发和创业社区预设(ChatGPT、DeepSeek、LocalLLaMA、StableDiffusion、SaaS、indiehackers,……)。
数据来源
- 使用 PRAW 访问 Reddit 实时数据(只读)。需要 API 凭据。
- Arctic Shift(https://github.com/ArthurHeitmann/arctic_shift),一个公开的历史存档,也是 Pushshift 的后继项目。无需凭据。
移除检测采用 reveddit 的方法:存档会记录已发布的内容,并从该记录中读取版主移除情况。提供 Reddit 凭据时,analyze_acceptance 会执行精确的实时差异比对(存档与当前 Reddit),以确定有歧义的情况;没有凭据时,则仅使用存档进行分析,并标注置信度。
Reddit 凭据(可选)
上述所有功能均无需账户即可使用。凭据仅用于解锁需要凭据的工具(原始数据访问、find_target_subreddits_tool)和精确的实时移除检查。在
https://www.reddit.com/prefs/apps 创建一个 "script" 应用,然后:
cp .env.sample .env
# REDDIT_CLIENT_ID=...
# REDDIT_CLIENT_SECRET=...
# REDDIT_USER_AGENT=reddit-growth-mcp/0.2.1 by u/your_username
命令行用法
从归档中运行任何命令都无需凭据。命令包括:
traffic、insight、patterns、acceptance、compare、plan、report、
draft 和 fit(在任一命令后运行 -h 查看选项)。
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 video
fit 会为一篇草稿在多个 subreddit 中评分,并按公平考虑规模的匹配度排名(草稿在每个 subreddit 自身分数分布中的百分位),同时显示原始预期触达量。这样一来,小型 subreddit 中排名前 10% 的帖子就不会被大型 subreddit 更高的绝对数据掩盖。
在任意命令后添加 --json 即可获取原始输出。
基于时间的命令(patterns、plan、draft、fit、report)支持 --time day|week|month|year|all——时间范围越短,数据越新鲜,但样本量也越小。
patterns 支持 --metric:
score:点赞数(触达量)。comments:评论量。discussion:每个点赞对应的评论数,可用于衡量真实互动,而非随手点赞。quality:经标题党惩罚项削弱后的点赞数。
用作 MCP 服务
注册一次服务即可(此处以 Claude Code 为例):
claude mcp add reddit-growth-mcp -- uvx reddit-growth-mcp
对于 Cline、Cursor、Claude Desktop 和其他客户端,将其添加到 MCP 设置 JSON 中(无需单独安装——uvx 会从 PyPI 获取它):
{
"mcpServers": {
"reddit-growth": {
"command": "uvx",
"args": ["reddit-growth-mcp"]
}
}
}
然后用自然语言提问,例如“分析 r/Fedora 中哪些内容表现出色”或“这个标题会被 r/linux 接受吗?”客户端会调用相应工具。
如需一步完成完整流程,可请求制定增长计划(“为 r/singularity、r/LocalLLaMA、r/mcp 制定增长计划”),以调用 growth_plan;也可以选择 reddit_growth 提示词,它会引导助手找到安全且流量高的 subreddit,并撰写符合其爆款模式的帖子。
如需通过 stdio 直接运行服务:
uv run python -m src.server
Docker
该服务也以容器形式提供(stdio 传输):
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-mcp
定向工作流
如需找到适合发布内容以实现增长的地方,compare_subreddits 会针对每个 subreddit 报告:
- 爆款潜力(根据移除风险调整后的第 90 百分位触达量)和上限,
- 每日帖子数(无需凭据的流量代理指标),
- 典型讨论量(评论数中位数),
- 移除率和安全标签(safe / moderate / strict),以便避开会移除大多数帖子的社区。
典型流程:先用 compare 筛选出安全、流量高且上限高的 subreddit,再用 patterns 了解爆款模式,最后在发布前用 evaluate_draft 对照该模式为草稿评分。
触达量和洞察是不同的目标。compare 统计评论数(数量);analyze_insight 衡量评论的深度——评论长度中位数和实质性评论的占比。某个 subreddit 可能有许多简短的一行回复(数量多、洞察少),也可能有较少但内容详尽的技术评论(数量少、洞察多)。想提高曝光度,请使用以触达量为导向的排名;想找到有深度讨论、能建立声誉的地方,请使用 analyze_insight。
准确性与方法论
该工具旨在避免简单 Reddit 分析中常见的失败模式。
- 稳健的集中趋势。按中位数对类别(媒体、flair、时间)进行排名,并显示均值供参考,因此单个爆款帖子无法让某个类别登顶。
- 最小样本门槛。类别或时间段必须包含足够多的帖子,才会被报告为“最佳”。样本量较小的分组不会被视为可靠信号;草稿评分也会忽略组间样本量过小的标题信号,避免单个幸运帖子左右预测或产生不可靠的建议。
- 置信度标签。每份模式报告都会根据样本量标注置信度,每份接受情况报告都会标注可靠性等级。
- 分数稳定后再分析。归档分数约在 36 小时后趋于稳定,因此分析会排除最近两天的数据。
- 感知 AutoMod 状态。采集时仅被 AutoMod 过滤的帖子会被视为状态不确定,而非确认移除,因为这些帖子之后经常会获批。在 AutoMod 过滤较多的 subreddit 中会对此发出标记;要进行准确的实时检查,需要凭证。
- 纳入移除率的判断。草稿的接受情况判断会纳入 subreddit 的基础移除率,因此,在移除大多数收到帖子的 subreddit 中,即使帖子符合规范,也会被标记为有风险,而不是“可能获批”。
- 抑制标题党。检测标题党标题(炒作措辞、大写喊话、表情符号和标点符号滥用),并在每份报告中说明社群实际上会奖励还是惩罚标题党内容,因此指导建议绝不会怂恿你采用这种写法。
evaluate_draft只会在对应 subreddit 不喜欢标题党时惩罚此类草稿。
局限性
- 流量数据为估算值。Reddit 不会通过其公共 API 提供真实的每日访客数。
- 结论是基于样本得出的相关性,并非 Reddit 的排名算法,也不保证内容表现。
- AutoModerator 配置为私有信息。Karma 和账户年龄门槛是根据规则文本推断的,读取这些信息需要凭证。
开发
uv sync --extra dev
uv run pytest -q # tests
uv run ruff check src tests # lint
uv run ruff format src tests # format
CI 会在每次推送和拉取请求时运行 lint、格式检查和测试。
分析逻辑位于 src/analysis/(traffic、acceptance、patterns、draft、compare、arctic、helpers)。MCP 接口位于 src/server.py,CLI 位于 src/cli.py。
许可证
MIT
mcp-name: io.github.latent-9/reddit-growth-mcp
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。