mcpField
R
reddit-growth-mcp

reddit-growth-mcp

ローカル
github.com/latent-9ソーシャルメディア714 週間前に更新

reddit-growth-mcp について

reddit-growth-mcpは、subredditごとの投稿傾向を分析し、投稿先やタイミングの選定に役立つよう草稿を評価します。基本機能は公開履歴アーカイブを使い、CLIも備えています。認証情報があればRedditのライブデータ用ツールも利用できます。

主な機能

  1. 01リーチと削除リスクでsubredditを比較
  2. 02コミュニティの投稿傾向を分析
  3. 03草稿のスコアと承認リスクを推定
  4. 04複数subredditで草稿を比較
  5. 05クロスポスト先と投稿時刻を計画
  6. 06スタンドアロンCLIを提供

活用シーン

  1. 01トピックに合うsubredditの選定
  2. 02コミュニティの投稿形式や活発な時間帯の確認
  3. 03公開前の草稿評価
  4. 04複数コミュニティでの草稿適合度の比較

MCP 対応

subredditの比較、投稿傾向と承認の分析、成長プランの作成、草稿評価を行うMCPツールを提供します。基本分析は認証情報なしで公開アーカイブを使い、認証情報があればライブデータなどの追加ツールも利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"latent-9-reddit-growth": {
"command": "uvx",
"args": [
"reddit-growth-mcp"
]
}
}
}
起動コマンドuvx reddit-growth-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypireddit-growth-mcp0.2.1

ツール

13

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
topicsarrayはいトピック/キーワード。例:['ai','ascii art','repo']
include_nsfwbooleanいいえNSFW subreddit を含めます
limit_per_topicintegerいいえトピックごとの検索結果数
min_subscribersintegerいいえ最小登録者数
min_daily_visitorsintegerいいえ推定日次訪問者数のしきい値

詳細

Reddit Growth MCP

投稿先を見つけ、各サブレディットで反響を呼ぶ投稿のコツを学び、公開前に下書きを評価できます。Reddit API キーは不要です。

PyPI CI ライセンス:MIT Glama 品質スコア

reddit-growth の使用例 — 投稿先を計画し、下書きを評価し、サブレディットを比較

それぞれ 1 つのコマンドで、投稿先を計画する plan、公開前に投稿を評価する draft、削除リスクでサブレディットを順位付けする compare を実行できます。

▶ 高画質の 30 秒 MP4 を視聴

Reddit Growth MCP は、サブレディットのリストを投稿計画に変換します。公開されている過去のアーカイブから、各コミュニティの形式、フレア、投稿のタイミング、キーワードの傾向を読み取り、どこに、何を、いつ投稿するかを提案します。主要なワークフローはすべて、アカウントや API キーなしで利用できます。MCP サーバー(Claude、Cursor、その他の MCP クライアント向け)としても、単体のコマンドラインツールとしても動作します。

r/ClaudeAI の上位 1%の投稿者 が開発 — ここでのヒューリスティックには、実際に賛成票を集める投稿や削除される投稿の傾向が反映されており、推測ではありません。

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、…)を選び、検索できるプリセットリストからサブレディットを選ぶと、1 つのウィンドウ内ですべてのコマンドを実行できます。gum がインストールされている場合は、ファジー検索付きの矢印キー操作の TUI を利用できます。ない場合は、番号付きメニューに切り替わります。組み込みガイドを表示するには h を入力してください。

どんな質問に答えられるか

  • 自分のトピックに合うサブレディットはどこで、どのくらいのリーチがありますか?
  • ここに投稿しても削除されずに済みますか?それとも、このコミュニティでは多くの投稿が削除されますか?
  • ここで実際に成果を上げているのは何ですか?形式、タイトルのスタイル、投稿タイミング、フレアはどうすればよいですか?
  • 具体的な下書きがある場合、どのくらいの成果が見込めますか?どう改善できますか?

実際の動作を見る

compare は、成長率、バイラルの上限、議論の活発さ、削除リスクに基づいて候補のサブレディットをランク付けします。見てもらえる場所に投稿し、投稿の大半が削除されるコミュニティを避けられます(以下の r/ClaudeAI に注目してください。96%が削除されており、厳しいコミュニティです)。

比較モード

patterns は、あるコミュニティで実際に成果を上げている投稿のパターン(メディアの種類、時間帯、曜日、フレア、キーワード)を分析します。中央値でランク付けするため、たまたま運の良かった1件の投稿によってカテゴリが首位になることはありません。

パターンモード

数値はサンプルに基づくリアルタイムの推定値で、時間とともに変動します。最新の数値を確認するには、コマンドを実行してください。

ツール

ツール目的認証情報が必要
analyze_post_patternsサブレディットで成果を上げている投稿の傾向(投稿時期、メディア、タイトルのスタイル、フレア、キーワード)を、設定可能な指標に基づいて分析いいえ
analyze_acceptance削除率と削除されやすい投稿を分析します。認証情報がある場合は公式ルールも確認しますいいえ
compare_subreddits成長率(通常のリーチ+バイラルの可能性)でサブレディットをランク付けし、トラフィック(1日あたりの投稿数)、議論の活発さ、削除リスク、安全性ラベルも表示します。rank_by を切り替えると、バイラル性/機会/インサイトでランク付けしますいいえ
analyze_insight議論の深さ(コメントの内容)と、ヒューリスティックによる感情分析(支持的/賛否両論/批判的)を確認します。コメント数だけでは判断しませんいいえ
growth_plan1回の呼び出しで、安全性が高く有望なターゲット、クロスポストの候補、バイラルを狙うためのパターン、最適な投稿時間を提示しますいいえ
evaluate_draft下書きのパフォーマンス(0~100)と承認リスクを予測し、その要因と改善策を提示しますいいえ
evaluate_draft_across1つの下書きを複数のサブレディットで評価し、生のリーチと比較した規模を考慮した適合度(パーセンタイル)でランク付けしますいいえ
analyze_subredditサブレディットの活動状況(1日あたりの投稿数)を推定します。認証情報がなくてもアーカイブを利用できますいいえ
find_target_subreddits_tool推定トラフィックに基づいて、トピックに適したサブレディットを見つけてランク付けしますはい
fetch_posts、fetch_multiple、search_subreddit、fetch_comments生データへのアクセスはい

分析ツールはサブレディットを問わず利用でき、アーカイブ内のどのサブレディットでも動作します。ランチャーには、AI、開発、スタートアップ関連のコミュニティ向けに40種類以上のプリセットが用意されています(ChatGPT、DeepSeek、LocalLLaMA、StableDiffusion、SaaS、indiehackers、…)。

データソース

削除の検出には、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 は、1つの草稿を複数の subreddit で採点し、サイズを考慮した適合度(各 subreddit 固有のスコア分布における草稿のパーセンタイル)と、予想リーチの生の値を並べて順位付けします。そのため、投稿が上位10%に入る小規模な subreddit が、大規模な 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パーセンタイルのリーチ)と上限。
  • 1日あたりの投稿数(認証情報なしで利用できるトラフィックの目安)。
  • 通常の議論の規模(コメント数の中央値)。
  • 削除率と安全性ラベル(安全/中程度/厳格)。これにより、ほとんどの投稿が削除されるコミュニティを避けられます。

一般的な流れは、安全で、トラフィックが多く、上限も高い subreddit を compare で絞り込み、次に patterns でバイラルのパターンを確認し、投稿前に evaluate_draft で草稿をそのパターンに照らして採点することです。

リーチとインサイトは異なる目標です。compare はコメント数(量)を数えます。一方、analyze_insight はコメントの深さ、つまりコメントの長さの中央値と、内容のあるコメントの割合を測定します。短い一行の返信が多い subreddit(量は多いが、インサイトは少ない)もあれば、長く技術的なコメントが少数ある subreddit(量は少ないが、インサイトは多い)もあります。認知度を高めるにはリーチ重視の順位付けを使い、思慮深い議論が行われ、評判を築ける場所を見つけるには analyze_insight を使ってください。

精度と方法論

このツールは、単純な Reddit 分析でよくある失敗を避けるように構築されています。

  • 頑健な中心傾向。カテゴリ(メディア、フレア、時間)は中央値で順位付けし、参考値として平均値も表示します。そのため、1 件のバズ投稿だけでカテゴリが最上位になることはありません。
  • 最小サンプル数による判定。カテゴリまたは時間帯が「最適」として報告されるには、十分な数の投稿が必要です。サンプル数の少ないグループは信頼できるシグナルとは見なしません。また、ドラフトのスコアリングでは、「あり」と「なし」のグループが小さすぎる場合、タイトルのシグナルを無視します。そのため、運の良かった 1 件の投稿が予測を左右したり、誤った提案の根拠になったりすることはありません。
  • 信頼度の表示。各パターンレポートにはサンプル数に基づく信頼度が記載され、各受け入れレポートには信頼性レベルが記載されます。
  • 確定済みスコア。アーカイブ済みのスコアは約 36 時間後に安定するため、分析では直近 2 日間を除外します。
  • AutoMod の考慮。取得時に AutoMod によってのみフィルタリングされた投稿は、後から承認されることが多いため、削除が確定したものではなく、不確かなものとして扱います。AutoMod の影響が大きいサブレディットではその旨が示され、正確なリアルタイム確認には認証情報が必要です。
  • 削除を考慮した判定。ドラフトの受け入れ判定には、サブレディットの基本削除率が反映されます。そのため、受け取った投稿の大半を削除するサブレディットでは、ガイドラインに準拠した投稿でも「受け入れられる可能性が高い」ではなく、リスクありとして示されます。
  • クリックベイト対策。クリックベイトのタイトル(煽り文句、過剰な大文字、絵文字や句読点の乱用)を検出し、各レポートではコミュニティがクリックベイトを実際に評価するのか、低く評価するのかを示します。そのため、クリックベイトを促すガイダンスは行いません。evaluate_draft は、サブレディットが好まない場合に限り、クリックベイト的なドラフトを減点します。

制限事項

  • トラフィックの数値は推定値です。Reddit は公開 API を通じて、実際の 1 日あたりの訪問者数を公開していません。
  • 得られる結果はサンプルから導かれた相関関係であり、Reddit のランキングアルゴリズムを示すものでも、成果を保証するものでもありません。
  • AutoModerator の設定は非公開です。カルマやアカウント作成からの経過時間に関する制限は、ルールの文面から推定され、読み取るには認証情報が必要です。

開発

uv sync --extra dev
uv run pytest -q                       # tests
uv run ruff check src tests            # lint
uv run ruff format src tests           # format

CI では、プッシュとプルリクエストのたびに、リント、フォーマットチェック、テストを実行します。

分析ロジックは 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。