使用说明
项目简介
本项目 'mcp-reddit' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供访问 Reddit 平台内容的工具。通过此 MCP 服务器,LLM 可以获取 Reddit 的热门帖子、分析讨论内容、甚至进行发帖和评论等互动操作。
主要功能点
- 获取 Reddit 热门帖子: 可以根据指定 Subreddit 获取热门帖子列表。
- 分析 Reddit 帖子内容: 可以获取指定 Reddit 帖子的详细内容,包括标题、正文、评论等,并支持设置评论数量和评论树深度。
- 在 Reddit 发布帖子: 允许 LLM 在指定的 Subreddit 下发布新的文本或链接帖子。
- 添加 Reddit 评论: 支持 LLM 在 Reddit 帖子或评论下添加新的评论或回复。
- 投票: 允许 LLM 对 Reddit 帖子或评论进行点赞或踩踩操作。
安装步骤
-
克隆仓库
git clone https://github.com/jlcases/mcp-reddit.git cd mcp-reddit -
创建并激活虚拟环境
python -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows -
安装依赖
pip install -r requirements.txt注意: 不要使用 '-e' 参数进行安装 ('pip install -e .'),这可能会导致模块导入问题。
-
配置环境变量
- 在项目根目录下创建 '.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
- 在项目根目录下创建 '.env' 文件,并填入你的 Reddit API 凭据:
服务器配置
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_',例如:
-
'mcp_reddit_content_api_fetch_reddit_hot_threads' - 获取指定 Subreddit 的热门帖子。
- 例如,在 Claude 中输入:'Fetch hot threads from subreddit python'
-
'mcp_reddit_content_api_fetch_reddit_post_content' - 分析指定 Reddit 帖子的内容和评论。
- 例如,在 Claude 中输入:'Analyze reddit post with id <帖子ID>'
-
'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.
- 例如,在 Claude 中输入:
-
'mcp_reddit_content_api_add_reddit_comment' - 在指定 Reddit 帖子或评论下添加评论。
- 例如,在 Claude 中输入:'Comment on reddit post with id <帖子ID> comment: This is a test comment.'
-
'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