reddit-mcp-server について
reddit-mcp-serverは、Redditの投稿やユーザー、サブレディットの情報取得とコンテンツ管理を行うMCPサーバーです。読み取り・書き込みツールに加え、既定のセーフモードと任意のボット開示を備えています。
主な機能
- 01サブレディット、投稿、コメントの閲覧
- 02投稿検索とユーザー情報の確認
- 03コンテンツの作成、返信、編集、削除
- 04セーフモードで書き込み頻度を制限し重複を検出
- 05ボット開示フッターの任意追加
活用シーン
- 01サブレディット内の投稿やコメントの検索
- 02ユーザーの投稿内容の確認
- 03ユーザー認証情報を使った投稿や返信
- 04自動投稿での重複コンテンツの抑制
MCP 対応
互換クライアントにRedditの閲覧、検索、ユーザー情報、書き込みツールを提供します。一部の読み取りはOAuthなしでRSSとArctic Shiftを利用できますが、書き込みにはOAuthとユーザー認証情報が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y reddit-mcp-serverREDDIT_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 secretREDDIT_USERNAMEReddit username (required for write operations)REDDIT_PASSWORDシークレットReddit password (required for write operations)REDDIT_AUTH_MODEシークレットAuthentication mode: auto, authenticated, or anonymousREDDIT_SAFE_MODEWrite safeguards: off, standard (default), or strictREDDIT_BOT_DISCLOSUREBot disclosure footer: auto or off (default)REDDIT_BOT_FOOTERCustom bot footer text (used with REDDIT_BOT_DISCLOSURE=auto)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
25掲載時のツール一覧 · 今日に更新
このツールにパラメーターはありません。
詳細
Reddit MCP サーバー
Reddit と連携する Model Context Protocol(MCP)サーバーです。投稿、コメント、ユーザー情報を取得し、コンテンツを作成できます。
主な機能
| 機能 | 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_post | Reddit の特定の投稿をエンゲージメント分析とともに取得します |
get_top_posts | サブレディットまたはホームフィードから人気の投稿を取得します |
browse_subreddit | 並べ替え方法(人気順、新着順、トップ、上昇中、議論を呼んでいる順)でサブレディット/ホームフィードを閲覧します |
get_user_info | Reddit ユーザーの詳細情報を取得します |
get_user_posts | 特定のユーザーが投稿した内容を取得します |
get_user_comments | 特定のユーザーが投稿したコメントを取得します |
get_subreddit_info | サブレディットの詳細と統計情報を取得します |
get_trending_subreddits | 現在トレンドになっているサブレディットを取得します |
get_post_comments | スレッド構造付きで、特定の投稿のコメントを取得します |
search_reddit | Reddit 全体から投稿を検索します |
書き込みツール(ユーザーの認証情報が必要)
| ツール | 説明 |
|---|---|
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 | いいえ | 3 | Retry-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 | なし | なし | 明示的に無効化する場合のみ |
standard | 2 秒 | 直近 10 件+サブレディット間 | デフォルト、推奨 |
strict | 5 秒 | 直近 20 件+サブレディット間 | 慎重な自動投稿向け |
セーフモードを無効にする
セーフモードはデフォルトで有効です。明示的に無効にするには、次のようにします。
export REDDIT_SAFE_MODE=off
npx reddit-mcp-server
セーフモードの機能
- レート制限:書き込み操作の間に最低限の待機時間を設けます
- 重複検出:同一のコンテンツが2回投稿されるのをブロックします
- サブレディット間の検出:同じコンテンツを複数のサブレディットに投稿するのを防ぎます(Redditのポリシーに準拠)
- スマートなユーザーエージェント:ユーザー名が指定されている場合、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/min | OAuth認証情報 | すべてのツール | ほとんどのユーザー |
authenticated | 60~100 req/min | OAuth認証情報 | すべてのツール | 明示的なモード |
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 Shift | 1 つのサブレディットのみ。マルチレディットには対応していません |
browse_subreddit(その他)、get_top_posts | RSS、その後 Arctic Shift | アーカイブへのフォールバックは新しい順で、ランキング順ではありません |
get_reddit_post | Arctic Shift | |
get_post_comments | Arctic Shift | 最近のコメントが含まれないことがあります。並べ替えには対応していません |
get_more_comments | Arctic Shift | |
get_user_info | Arctic Shift | アカウント作成からの期間は最初のアクティビティから推定されます。ステータスフラグは不明です |
get_user_posts、get_user_comments | Arctic Shift | 新しい順のみ |
get_subreddit_info、get_subreddit_rules | Arctic Shift | |
search_reddit | Arctic 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 アシスタントにデータ利用の制限を通知します
クレジット
- Alexandros Lekkas による reddit-mcp-server のフォーク
- Arindam200 による Python Reddit MCP Server に着想を得ています
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。