Reddit Content API

by tymcftw

Integrations

  • Uses environment variables for configuration management, specifically for storing Reddit API credentials in a .env file.

  • References GitHub for repository management, including starring, forking, and contributing to the project through issues and pull requests.

  • Provides tools for interacting with Reddit, including reading trending posts from subreddits, analyzing discussions with comments, creating posts, adding comments or replies, and voting on posts and comments.

Reddit コンテンツ API - セットアップと使用ガイド

このプロジェクトは、Claude と Cursor を通じて Reddit と対話するための MCP (Model Context Protocol) ツールを提供します。

特徴

  • サブレディットのトレンド投稿を読む
  • コメントによるRedditの議論の分析
  • Redditに投稿を作成する
  • 投稿にコメントを追加したり、既存のコメントに返信したりする
  • 投稿とコメントへの投票

要件

  • Python 3.10以上
  • Redditアカウント
  • 登録済みのRedditアプリケーション(client_idとclient_secretを取得するため)
  • 仮想環境(venvまたは類似のもの)
  • Claude Desktop および/またはカーソル(オプションですが推奨)

最初からインストール

インポートと構成の問題を回避するには、次の手順に注意深く従ってください。

# 1. Clone the repository git clone https://github.com/your-username/mcp-reddit.git cd mcp-reddit # 2. Create and activate virtual environment python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # 3. Install dependencies (WITHOUT installing the package in editable mode) pip install -r requirements.txt # 4. Configure environment variables (see below) # Create and edit the .env file

⚠️重要: モジュールのインポートの問題が発生する可能性があるため、編集可能モード ( pip install -e . ) でパッケージをインストールしないでください。

環境設定

  1. 次の変数を含む.envファイルをプロジェクト ルートに作成します。
REDDIT_CLIENT_ID=your_client_id REDDIT_CLIENT_SECRET=your_client_secret REDDIT_REFRESH_TOKEN=your_refresh_token
  1. リフレッシュ トークンを取得するには、次のコマンドを実行します。
python -m mcp_reddit.auth_helper

指示に従ってアプリケーションを承認してください。トークンは自動的に.envファイルに保存されます。

プロジェクト構造

mcp-reddit/ │ ├── src/ │ └── mcp_reddit/ │ ├── __init__.py │ ├── main.py # Entry point for the MCP server │ ├── reddit_fetcher.py # Implementation of Reddit tools │ └── auth_helper.py # Helper for generating authentication tokens │ ├── .env # Environment variables (create manually) ├── requirements.txt ├── setup.py └── README.md

サーバーを直接実行する

手動で実行するには(開発とテストに便利です):

cd /path/to/mcp-reddit .venv/bin/python src/mcp_reddit/main.py

次の内容を示すログが表示されます。

  • サーバーの初期化
  • Reddit認証検証
  • ツール10個の登録(オリジナル5個+プレフィックス付き5個)
  • 「MCP サーバーを実行しています...」

クロードデスクトップ構成

  1. 構成ファイルを見つけます。
    • macOSの場合: /Users/your-username/Library/Application Support/Claude/claude_desktop_config.json
    • Windows の場合: %APPDATA%\Claude\claude_desktop_config.json
  2. reddit-content-api の設定を追加します。
"reddit-content-api": { "command": "/full/path/to/mcp-reddit/.venv/bin/python", "args": [ "-m", "mcp_reddit.main", "--stdio" ], "cwd": "/full/path/to/mcp-reddit", "env": { "PYTHONPATH": "/full/path/to/mcp-reddit/src:/full/path/to/mcp-reddit", "DEBUG": "true" } }

⚠️極めて重要: PYTHONPATHは、 srcディレクトリとプロジェクト ルートの両方を: (Unix/macOS の場合) または; (Windows の場合) で区切って、この順序で含める必要があります。

カーソルの設定

  1. 構成ファイルを見つけます。
    • macOSの場合: /Users/your-username/.cursor/mcp.json
    • Windowsの場合: %USERPROFILE%\.cursor\mcp.json
  2. 必要に応じてパスを調整し、Claude と同じ構成を追加します。

一般的な問題のトラブルシューティング

問題: 予想される 10 個のツールではなく 2 個のツールしか表示されない

症状: サーバーを実行すると、予想される 10 個のツールではなく 2 個のツールのみが表示されます。

考えられる原因と解決策:

  1. インポートの問題: Python はsrc/内のローカル コードではなく、 site-packagesからインストールされたバージョンをインポートしています。解決
    • パッケージを編集可能モードでインストールしないようにしてください ( pip install -e .
    • 設定でPYTHONPATHの先頭にsrc明示的に追加します
    • すでにインストールされている場合は、 pip uninstall reddit-content-apiを使用して削除してください。
  2. Python キャッシュ: 古い.pycファイルは問題を引き起こす可能性があります。解決
    • プロジェクトからすべての__pycache__ディレクトリを削除します
  3. バージョンの競合: 同じライブラリの異なるバージョン。解決
    • pip install -r requirements.txtで依存関係を再インストールします。

問題:「投稿を作成できません: Reddit 認証が正しく設定されていません」

原因: リフレッシュ トークンが無効であるか、期限が切れています。

解決策: python -m mcp_reddit.auth_helperを実行してトークンを再生成し、 .envに保存されていることを確認します。

問題: Claude/Cursor にツールが表示されない

原因: 構成ファイル内の構成が正しくありません。

解決

  • 設定ファイル内のパス、特にPYTHONPATH確認してください。
  • 設定を変更した後、Claude/Cursorを完全に再起動します。

Claude/Cursorのツールの使用

設定が完了すると、次のツールが使用できるようになります。

  1. mcp_reddit_content_api_fetch_reddit_hot_threads - トレンドの投稿を取得
  2. mcp_reddit_content_api_fetch_reddit_post_content - 投稿とそのコメントを分析する
  3. mcp_reddit_content_api_create_reddit_post - 新しい投稿を作成する
  4. mcp_reddit_content_api_add_reddit_comment - コメントを追加する
  5. mcp_reddit_content_api_vote_on_reddit_content - コンテンツに投票する

トレンド投稿を取得する:

Subreddit: python Number of posts: 5

投稿を作成中:

Subreddit: test Title: Test from MCP Content type: text Content: This is a test from the Reddit Content API using MCP.

貢献

問題が見つかった場合や改善点がある場合は、問題を作成するか、プル リクエストを送信してください。

ライセンス

マサチューセッツ工科大学

このプロジェクトを支援する

このプロジェクトが仕事や研究に役立つと思われる場合は、以下を検討してください。

  • ⭐ リポジトリにスターを付けてサポートを示しましょう
  • 🔄 新機能や改善点の最新情報についてはリポジトリをフォローしてください
  • 🐛 バグや機能リクエストに関する問題を開く
  • 🛠️ 改善点があればプルリクエストで貢献してください

あなたのサポートは、このプロジェクトを誰にとってもより良いものにするのに役立ちます!

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Reddit とのやり取りを可能にする MCP サーバー。ユーザーは、Claude と Cursor を通じて、トレンドの投稿を読んだり、ディスカッションを分析したり、投稿を作成したり、コメントを追加したり、コンテンツに投票したりできます。

  1. 特徴
    1. 要件
      1. 最初からインストール
        1. 環境設定
          1. プロジェクト構造
            1. サーバーを直接実行する
              1. クロードデスクトップ構成
                1. カーソルの設定
                  1. 一般的な問題のトラブルシューティング
                    1. 問題: 予想される 10 個のツールではなく 2 個のツールしか表示されない
                    2. 問題:「投稿を作成できません: Reddit 認証が正しく設定されていません」
                    3. 問題: Claude/Cursor にツールが表示されない
                  2. Claude/Cursorのツールの使用
                  3. 貢献
                    1. ライセンス
                      1. このプロジェクトを支援する

                        Related MCP Servers

                        • A
                          security
                          A
                          license
                          A
                          quality
                          An MCP server that enables saving and sharing Claude Desktop conversations, allowing users to store chats privately or make them public through a web interface.
                          Last updated -
                          2
                          6
                          TypeScript
                          MIT License
                          • Apple
                        • A
                          security
                          A
                          license
                          A
                          quality
                          An MCP server that enables Claude to interact with Twitter, allowing for posting tweets and searching Twitter content.
                          Last updated -
                          2
                          65
                          202
                          TypeScript
                          MIT License
                          • Apple
                        • A
                          security
                          A
                          license
                          A
                          quality
                          An MCP server that enables posting messages to Discord webhooks, allowing customization of content, username, and avatar URL.
                          Last updated -
                          1
                          0
                          JavaScript
                          MIT License
                        • -
                          security
                          A
                          license
                          -
                          quality
                          A MCP server that provides browser automation tools, allowing users to navigate websites, take screenshots, click elements, fill forms, and execute JavaScript through Playwright.
                          Last updated -
                          Python
                          Apache 2.0
                          • Apple

                        View all related MCP servers

                        ID: argh97ecbf