使用说明

项目简介

本项目 'mcp-reddit' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供访问 Reddit 平台内容的工具。通过此 MCP 服务器,LLM 可以获取 Reddit 的热门帖子、分析讨论内容、甚至进行发帖和评论等互动操作。

主要功能点

  • 获取 Reddit 热门帖子: 可以根据指定 Subreddit 获取热门帖子列表。
  • 分析 Reddit 帖子内容: 可以获取指定 Reddit 帖子的详细内容,包括标题、正文、评论等,并支持设置评论数量和评论树深度。
  • 在 Reddit 发布帖子: 允许 LLM 在指定的 Subreddit 下发布新的文本或链接帖子。
  • 添加 Reddit 评论: 支持 LLM 在 Reddit 帖子或评论下添加新的评论或回复。
  • 投票: 允许 LLM 对 Reddit 帖子或评论进行点赞或踩踩操作。

安装步骤

  1. 克隆仓库

    git clone https://github.com/jlcases/mcp-reddit.git
    cd mcp-reddit
  2. 创建并激活虚拟环境

    python -m venv .venv
    source .venv/bin/activate   # Linux/macOS
    .venv\Scripts\activate  # Windows
  3. 安装依赖

    pip install -r requirements.txt

    注意: 不要使用 '-e' 参数进行安装 ('pip install -e .'),这可能会导致模块导入问题。

  4. 配置环境变量

    • 在项目根目录下创建 '.env' 文件,并填入你的 Reddit API 凭据:
      REDDIT_CLIENT_ID=your_client_id
      REDDIT_CLIENT_SECRET=your_client_secret
      REDDIT_REFRESH_TOKEN=your_refresh_token
    • 获取 'REDDIT_REFRESH_TOKEN': 运行以下命令并按照提示操作,授权你的 Reddit 应用,refresh token 会自动保存到 '.env' 文件中。
      python -m mcp_reddit.auth_helper

服务器配置

MCP 客户端(例如 Claude 或 Cursor)需要配置连接到此 MCP 服务器的命令。以下是针对 Claude Desktop 和 Cursor 的配置示例,你需要根据你的实际项目路径进行调整。

Claude Desktop 配置 (claude_desktop_config.json)

"reddit-content-api": {  // 服务器名称,在 Claude 中用于标识
  "command": "/full/path/to/mcp-reddit/.venv/bin/python", // Python 解释器路径,根据你的虚拟环境调整
  "args": [
    "-m",
    "mcp_reddit.main",  // 运行 mcp_reddit.main 模块
    "--stdio"         // 使用 Stdio 传输协议
  ],
  "cwd": "/full/path/to/mcp-reddit", // 工作目录设置为项目根目录
  "env": {
    "PYTHONPATH": "/full/path/to/mcp-reddit/src:/full/path/to/mcp-reddit", // 重要的 PYTHONPATH 配置,确保 Python 能找到项目模块
    "DEBUG": "true"      // 开启 DEBUG 模式 (可选)
  }
}

Cursor 配置 (mcp.json) Cursor 的配置方法与 Claude 类似,只需修改配置文件路径和服务器名称即可。配置内容与 Claude Desktop 相同。

"reddit-content-api": {  // 服务器名称,在 Cursor 中用于标识
  "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"
  }
}

注意:

  • 请将 '/full/path/to/mcp-reddit' 替换为你的 'mcp-reddit' 项目的实际绝对路径。
  • 'PYTHONPATH' 环境变量 必须 包含 'src' 目录和项目根目录,并按照 'src:项目根目录' 的顺序排列(Linux/macOS 使用冒号 ':' 分隔,Windows 使用分号 ';' 分隔)。这对于解决模块导入问题至关重要。
  • 配置完成后,需要重启 Claude 或 Cursor 使配置生效。

基本使用方法

在 Claude 或 Cursor 中配置并启动 'reddit-content-api' 服务器后,你就可以使用以下工具与 Reddit 互动了。工具名称通常带有前缀 'mcp_reddit_content_api_',例如:

  1. 'mcp_reddit_content_api_fetch_reddit_hot_threads' - 获取指定 Subreddit 的热门帖子。

    • 例如,在 Claude 中输入:'Fetch hot threads from subreddit python'
  2. 'mcp_reddit_content_api_fetch_reddit_post_content' - 分析指定 Reddit 帖子的内容和评论。

    • 例如,在 Claude 中输入:'Analyze reddit post with id <帖子ID>'
  3. 'mcp_reddit_content_api_create_reddit_post' - 在指定 Subreddit 下创建新帖子。

    • 例如,在 Claude 中输入:
      Subreddit: test
      Title: Test from MCP
      Content type: text
      Content: This is a test from the Reddit Content API using MCP.
  4. 'mcp_reddit_content_api_add_reddit_comment' - 在指定 Reddit 帖子或评论下添加评论。

    • 例如,在 Claude 中输入:'Comment on reddit post with id <帖子ID> comment: This is a test comment.'
  5. 'mcp_reddit_content_api_vote_on_reddit_content' - 对指定 Reddit 帖子或评论进行投票。

    • 例如,在 Claude 中输入:'Upvote reddit post with id <帖子ID>'

请参考仓库 'README.md' 文件中的 "Using the Tools in Claude/Cursor" 和 "Examples" 部分获取更详细的使用说明和示例。

信息

分类

网页与API