mcpField
R
reddit-mcp-server

reddit-mcp-server

ローカル
github.com/jordanburkeソーシャルメディア309今日更新

reddit-mcp-server について

reddit-mcp-serverは、Redditの投稿やユーザー、サブレディットの情報取得とコンテンツ管理を行うMCPサーバーです。読み取り・書き込みツールに加え、既定のセーフモードと任意のボット開示を備えています。

主な機能

  1. 01サブレディット、投稿、コメントの閲覧
  2. 02投稿検索とユーザー情報の確認
  3. 03コンテンツの作成、返信、編集、削除
  4. 04セーフモードで書き込み頻度を制限し重複を検出
  5. 05ボット開示フッターの任意追加

活用シーン

  1. 01サブレディット内の投稿やコメントの検索
  2. 02ユーザーの投稿内容の確認
  3. 03ユーザー認証情報を使った投稿や返信
  4. 04自動投稿での重複コンテンツの抑制

MCP 対応

互換クライアントにRedditの閲覧、検索、ユーザー情報、書き込みツールを提供します。一部の読み取りはOAuthなしでRSSとArctic Shiftを利用できますが、書き込みにはOAuthとユーザー認証情報が必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"jordanburke-reddit": {
"command": "npx",
"args": [
"-y",
"reddit-mcp-server"
],
"env": {
"REDDIT_CLIENT_ID": "<REDDIT_CLIENT_ID>",
"REDDIT_CLIENT_SECRET": "<REDDIT_CLIENT_SECRET>",
"REDDIT_USERNAME": "<REDDIT_USERNAME>",
"REDDIT_PASSWORD": "<REDDIT_PASSWORD>",
"REDDIT_AUTH_MODE": "<REDDIT_AUTH_MODE>",
"REDDIT_SAFE_MODE": "<REDDIT_SAFE_MODE>",
"REDDIT_BOT_DISCLOSURE": "<REDDIT_BOT_DISCLOSURE>",
"REDDIT_BOT_FOOTER": "<REDDIT_BOT_FOOTER>"
}
}
}
}
起動コマンドnpx -y reddit-mcp-server
設定が必要な環境変数
REDDIT_CLIENT_IDReddit app client ID (optional - live Reddit data; without it, reads come from RSS feeds and the Arctic Shift archive)
REDDIT_CLIENT_SECRETシークレットReddit app client secret
REDDIT_USERNAMEReddit username (required for write operations)
REDDIT_PASSWORDシークレットReddit password (required for write operations)
REDDIT_AUTH_MODEシークレットAuthentication mode: auto, authenticated, or anonymous
REDDIT_SAFE_MODEWrite safeguards: off, standard (default), or strict
REDDIT_BOT_DISCLOSUREBot disclosure footer: auto or off (default)
REDDIT_BOT_FOOTERCustom bot footer text (used with REDDIT_BOT_DISCLOSURE=auto)

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

パッケージ
npmreddit-mcp-server1.7.0

ツール

25

掲載時のツール一覧 · 今日に更新

このツールにパラメーターはありません。

詳細

Reddit MCP サーバー

Reddit と連携する Model Context Protocol(MCP)サーバーです。投稿、コメント、ユーザー情報を取得し、コンテンツを作成できます。

npm version npm downloads GitHub stars License: MIT

reddit-mcp-server MCP server

主な機能

機能reddit-mcp-serverその他の Reddit MCP
投稿の作成:white_check_mark::x:
投稿/コメントへの返信:white_check_mark::x:
投稿/コメントの編集:white_check_mark::x:
投稿/コメントの削除:white_check_mark::x:
スパム対策(セーフモード):white_check_mark::x:
ボットであることを示すフッター:white_check_mark::x:
ポリシー遵守機能を内蔵:white_check_mark::x:
サブレディットの閲覧:white_check_mark::white_check_mark:
Reddit の検索:white_check_mark::white_check_mark:
ユーザー分析:white_check_mark::white_check_mark:
投稿コメント:white_check_mark::white_check_mark:
OAuth 認証(60-100 rpm):white_check_mark::white_check_mark:
キー不要モード(セットアップ不要):white_check_mark::x:

クイックスタート

オプション 1:Claude Desktop Extension(最も簡単)

拡張機能ファイルをダウンロードして開くと、Claude Desktop が自動的にインストールします。

reddit-mcp-server.mcpb をダウンロード

オプション 2:NPX(インストール不要)

Reddit OAuth 認証情報を使って、MCP 設定(Claude Desktop、Cursor など)に追加します。

{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["reddit-mcp-server"],
      "env": {
        "REDDIT_CLIENT_ID": "your_client_id",
        "REDDIT_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}
オプション 3:Claude Code
REDDIT_CLIENT_ID=your_client_id REDDIT_CLIENT_SECRET=your_client_secret \
  claude mcp add --transport stdio reddit -- npx reddit-mcp-server

機能

読み取り専用ツール
ツール説明
get_reddit_postReddit の特定の投稿をエンゲージメント分析とともに取得します
get_top_postsサブレディットまたはホームフィードから人気の投稿を取得します
browse_subreddit並べ替え方法(人気順、新着順、トップ、上昇中、議論を呼んでいる順)でサブレディット/ホームフィードを閲覧します
get_user_infoReddit ユーザーの詳細情報を取得します
get_user_posts特定のユーザーが投稿した内容を取得します
get_user_comments特定のユーザーが投稿したコメントを取得します
get_subreddit_infoサブレディットの詳細と統計情報を取得します
get_trending_subreddits現在トレンドになっているサブレディットを取得します
get_post_commentsスレッド構造付きで、特定の投稿のコメントを取得します
search_redditReddit 全体から投稿を検索します
書き込みツール(ユーザーの認証情報が必要)
ツール説明
create_postサブレディットに新しい投稿を作成します
reply_to_post既存の投稿またはコメントに返信を投稿します
edit_post自分の Reddit 投稿(本文のみ)を編集します
edit_comment自分の Reddit コメントを編集します
save_content投稿またはコメントをアカウントに保存します
unsave_content保存済みアイテムから投稿またはコメントを削除します
delete_post自分の投稿を完全に削除します
delete_comment自分のコメントを完全に削除します

設定

環境変数
変数必須デフォルト説明
REDDIT_CLIENT_IDはい-Reddit アプリのクライアント ID(2026 年半ば以降は OAuth が必要)
REDDIT_CLIENT_SECRETはい-Reddit アプリのクライアントシークレット
REDDIT_USERNAMEいいえ-Reddit のユーザー名(書き込み操作用)
REDDIT_PASSWORDいいえ-Reddit のパスワード(書き込み操作用)
REDDIT_USER_AGENTいいえ自動生成カスタム User-Agent 文字列
REDDIT_AUTH_MODEいいえauto認証モード:auto、authenticated(anonymous は非推奨)
REDDIT_SAFE_MODEいいえstandard書き込み時の保護機能:off、standard、strict
REDDIT_BOT_DISCLOSUREいいえoffボットであることを示すフッター:auto、off
REDDIT_BOT_FOOTERいいえ組み込みカスタムのボットフッターテキスト(開示設定が auto の場合)
REDDIT_CACHEいいえon読み取りリクエストのメモリ内キャッシュ:on、off
REDDIT_CACHE_MAX_MBいいえ50キャッシュサイズの上限(MB)。これを超えると LRU 方式で削除されます
REDDIT_MAX_RETRIESいいえ3Retry-After のバックオフを伴う HTTP 429 の再試行回数(無効にするには 0)

Reddit は 2025 年 11 月に、アプリをセルフサービスで作成する機能を終了しました。認証情報の取得方法については、認証をご覧ください。

MCP 設定の完全な例
{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["reddit-mcp-server"],
      "env": {
        "REDDIT_CLIENT_ID": "your_client_id",
        "REDDIT_CLIENT_SECRET": "your_client_secret",
        "REDDIT_USERNAME": "your_username",
        "REDDIT_PASSWORD": "your_password",
        "REDDIT_SAFE_MODE": "standard"
      }
    }
  }
}

セーフモード(スパム対策)

組み込みの保護機能で、Reddit アカウントをスパム検出やアカウント停止から保護します。Reddit の Responsible Builder Policy に従い、デフォルトで有効(standard モード)です。

セーフモードを使用する理由

Reddit のスパム検出では、次のような行為がアカウントにフラグを付けられる場合があります。

  • 短時間での投稿やコメント
  • 重複したコンテンツ、または類似したコンテンツ
  • 複数のサブレディットへの同一コンテンツの投稿
  • 標準以外の User-Agent 文字列

セーフモードは、こうした問題を自動的に防ぐのに役立ちます。

モードのオプション
モード書き込みの遅延重複検出用途
offなしなし明示的に無効化する場合のみ
standard2 秒直近 10 件+サブレディット間デフォルト、推奨
strict5 秒直近 20 件+サブレディット間慎重な自動投稿向け
セーフモードを無効にする

セーフモードはデフォルトで有効です。明示的に無効にするには、次のようにします。

export REDDIT_SAFE_MODE=off
npx reddit-mcp-server
セーフモードの機能
  1. レート制限:書き込み操作の間に最低限の待機時間を設けます
  2. 重複検出:同一のコンテンツが2回投稿されるのをブロックします
  3. サブレディット間の検出:同じコンテンツを複数のサブレディットに投稿するのを防ぎます(Redditのポリシーに準拠)
  4. スマートなユーザーエージェント:ユーザー名が指定されている場合、Redditに準拠した形式のユーザーエージェントを自動生成します

ボットの開示

Redditの責任ある開発者ポリシーでは、ボットが自動化されていることを開示するよう求めています。投稿するすべてのコンテンツにボット用フッターを自動的に付けるには、次の設定を有効にします。

export REDDIT_BOT_DISCLOSURE=auto
npx reddit-mcp-server

有効にすると、すべての投稿、返信、編集にフッターが追加されます。

---
🤖 I am a bot | Built with reddit-mcp-server

REDDIT_BOT_FOOTER でフッターをカスタマイズできます。

export REDDIT_BOT_DISCLOSURE=auto
export REDDIT_BOT_FOOTER=$'\n\n---\n^(🤖 Custom bot footer text)'

認証

⚠️ Reddit API の変更(2026年)

匿名モードは利用できなくなりました。 2026年半ば以降、Redditは認証されていないすべてのAPIリクエストをHTTP 403でブロックしています。現在、APIへのアクセスにはOAuth認証情報が必須です。

Redditは公開APIとRSSフィードを終了します。 Redditは2026-09-30に、2026-10-31をもって新たな公開APIアクセス申請の受付を終了し、2026-11-13にRSSフィードを終了、2027-01-12に未登録アプリの削除を開始し、2027年3月に公開APIへのアクセスを終了すると発表しました。認証情報がない場合、このサーバーはすでにArctic Shiftアーカイブから読み込みます(キーなしモードを参照)。

さらに、Redditは2025年11月に、OAuthアプリのセルフサービスでの作成を終了しました。新しい開発者はRedditの開発者サポートからアクセスを申請する必要があります。既存のOAuth認証情報(2025年11月より前に取得したもの)は引き続き使用できます。

認証情報の取得

すでにRedditアプリをお持ちの場合(2025年11月より前に /prefs/apps で作成):既存のクライアントIDとシークレットを使用してください。引き続き60~100 req/minで利用できます。

新しい認証情報が必要な場合:用途を説明して、Redditの開発者サポートから申請してください。承認が必要で、時間がかかる場合があります。

モードの比較
モードレート制限必要な設定利用可能なツール最適な用途
auto(デフォルト)60~100 req/minOAuth認証情報すべてのツールほとんどのユーザー
authenticated60~100 req/minOAuth認証情報すべてのツール明示的なモード
auto(認証情報なし)共有、無料なしほとんどの読み取りツール(キーなしモード)手軽なテスト
anonymous共有、無料なし認証情報なしの auto と同じ旧式の別名
キーレスモード

OAuth 認証情報がない場合、読み取りは次の 2 つの無料ソースから行います。

  • Reddit の RSS フィードは、ランキング形式の一覧(hot、top、rising、controversial、ホームフィード)に使用します。Reddit は 2026-11-13 に RSS を終了します。特定のサブレディットのフィードが失敗した場合、サーバーはアーカイブ内の新しい投稿にフォールバックし、ランキングを利用できないことを通知します。
  • Arctic Shift アーカイブは、1 人のボランティアが運営する Reddit の無料サードパーティーコピーです。Reddit の API ではなく、稼働時間の保証もありません。
ツールキーレス時のソース制限
browse_subreddit(new)Arctic Shift1 つのサブレディットのみ。マルチレディットには対応していません
browse_subreddit(その他)、get_top_postsRSS、その後 Arctic Shiftアーカイブへのフォールバックは新しい順で、ランキング順ではありません
get_reddit_postArctic Shift
get_post_commentsArctic Shift最近のコメントが含まれないことがあります。並べ替えには対応していません
get_more_commentsArctic Shift
get_user_infoArctic Shiftアカウント作成からの期間は最初のアクティビティから推定されます。ステータスフラグは不明です
get_user_posts、get_user_commentsArctic Shift新しい順のみ
get_subreddit_info、get_subreddit_rulesArctic Shift
search_redditArctic Shift投稿には subreddit が必要です。type=sr は名前のプレフィックスに一致します。type=user には対応していません

アーカイブに関する注意事項: スコアとコメント数の反映には遅れがあり、最近の投稿では 0 または 1 であることがよくあります。大規模なサブレディットでのキーワード検索は遅く、アーカイブによるスロットリングも行われます。サーバーは 1 回再試行します。すべてのアーカイブ結果の末尾には、ソースを明記した注記が付きます。

引き続き OAuth が必要です: get_trending_subreddits、get_post_flairs、get_me、get_my_overview、get_my_saved、およびすべての書き込みツール。

読み取り専用アクセス(OAuth)
{
  "env": {
    "REDDIT_CLIENT_ID": "your_client_id",
    "REDDIT_CLIENT_SECRET": "your_client_secret"
  }
}
書き込み操作(OAuth + ユーザー認証情報)

投稿の作成、返信、編集、コンテンツの削除を行うには、Reddit のユーザー名とパスワードを追加してください。

{
  "env": {
    "REDDIT_CLIENT_ID": "your_client_id",
    "REDDIT_CLIENT_SECRET": "your_client_secret",
    "REDDIT_USERNAME": "your_username",
    "REDDIT_PASSWORD": "your_password",
    "REDDIT_SAFE_MODE": "standard"
  }
}

開発

コマンド
pnpm install        # Install dependencies
pnpm build          # Build TypeScript
pnpm dev            # Build and run MCP inspector
pnpm test           # Run tests
pnpm lint           # Lint code
pnpm format         # Format code
CLI オプション
npx reddit-mcp-server --version         # Show version
npx reddit-mcp-server --help            # Show help
npx reddit-mcp-server --generate-token  # Generate OAuth token for HTTP mode

HTTP サーバーモード

Docker でのデプロイやウェブベースのクライアントでは、HTTP トランスポートを使用してください。

TRANSPORT_TYPE=httpStream PORT=3000 node dist/index.js
OAuth による保護
export OAUTH_ENABLED=true
export OAUTH_TOKEN=$(npx reddit-mcp-server --generate-token | tail -1)
TRANSPORT_TYPE=httpStream node dist/index.js

認証済みリクエストを送信します。

curl -H "Authorization: Bearer $OAUTH_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"method":"tools/list","params":{}}' \
     http://localhost:3000/mcp

Docker

クイックスタート
# Pull and run
docker pull ghcr.io/jordanburke/reddit-mcp-server:latest

docker run -d \
  --name reddit-mcp \
  -p 3000:3000 \
  -e REDDIT_CLIENT_ID=your_client_id \
  -e REDDIT_CLIENT_SECRET=your_client_secret \
  -e REDDIT_SAFE_MODE=standard \
  ghcr.io/jordanburke/reddit-mcp-server:latest
Docker Compose
services:
  reddit-mcp:
    image: ghcr.io/jordanburke/reddit-mcp-server:latest
    ports:
      - "3000:3000"
    environment:
      - REDDIT_CLIENT_ID=${REDDIT_CLIENT_ID}
      - REDDIT_CLIENT_SECRET=${REDDIT_CLIENT_SECRET}
      - REDDIT_USERNAME=${REDDIT_USERNAME}
      - REDDIT_PASSWORD=${REDDIT_PASSWORD}
      - REDDIT_SAFE_MODE=standard
      - OAUTH_ENABLED=${OAUTH_ENABLED:-false}
      - OAUTH_TOKEN=${OAUTH_TOKEN}
    restart: unless-stopped
ローカルでビルド
docker build -t reddit-mcp-server .
docker run -d --name reddit-mcp -p 3000:3000 --env-file .env reddit-mcp-server

Reddit Responsible Builder Policy

このサーバーは、Reddit の Responsible Builder Policy を考慮して設計されています。

  • セーフモードがデフォルトで有効 — レート制限と重複検出によってスパムを防止します
  • サブレディットをまたいだ重複検出 — サブレディット間で同一のコンテンツをブロックします
  • ボットであることの明示に対応 — 透明性を高める自動フッターを任意で追加できます
  • 投票/カルマの操作なし — アップボート/ダウンボートのツールは意図的に除外しています
  • プライベートメッセージなし — DM ツールは意図的に除外しています
  • ポリシーを考慮した AI 向け指示 — MCP サーバーの指示により、AI アシスタントにデータ利用の制限を通知します

クレジット

コメント

MCP は初めてですか?

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

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