使用说明
项目简介
Reddit MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,它充当 LLM 客户端(如 Claude)和 Reddit 数据之间的桥梁。通过此服务器,LLM 可以利用预设的工具来检索和分析 Reddit 平台上的信息,从而扩展 LLM 在信息获取和内容理解方面的能力。
主要功能点
- 搜索 Subreddit 帖子: 允许 LLM 根据关键词在指定的 Subreddit 中搜索相关的帖子。
- 获取帖子详细信息: LLM 可以获取指定 Reddit 帖子的详细内容,包括标题、作者、正文以及评论。
- 浏览 Subreddit 热门帖子: 支持 LLM 获取特定 Subreddit 的热门帖子列表,了解社区热点话题。
安装步骤
由于本项目推荐使用 Docker 部署,以下是 Docker 安装步骤:
-
安装 Docker:
- 访问 Docker 官网 下载并安装 Docker Desktop。
- 根据你的操作系统(macOS 或 Windows)选择合适的版本下载并按照安装向导完成安装。
- 安装完成后,启动 Docker Desktop 并确保 Docker 服务正常运行。
- 打开终端或命令提示符,运行 'docker --version' 检查 Docker 是否成功安装。
-
获取 Reddit API 凭证:
- 访问 Reddit 应用创建页面。
- 点击 "create another app..." 按钮。
- 选择 "script" 类型应用。
- 填写应用名称等必要信息。
- 点击 "create app" 创建应用。
- 创建成功后,你将获得 'client_id' 和 'client_secret'。
- 还需要设置 'user_agent',可以自定义一个字符串,例如 'my-reddit-app (by /u/your_reddit_username)'。
服务器配置
要将 Reddit MCP Server 集成到 MCP 客户端(例如 Claude),你需要在客户端的配置文件中添加服务器配置信息。以 'claude_desktop_config.json' 为例,你需要配置 'mcpServers' 字段:
{ "mcpServers": { "reddit": { // 服务器名称,可以自定义,用于在客户端中标识和引用 "command": "docker", // 启动服务器的命令,这里使用 docker "args": [ // 启动命令的参数列表 "run", // docker run 命令 "-i", // 保持 STDIN 打开,即使未连接 "--rm", // 容器退出时自动删除容器 "-e", "REDDIT_CLIENT_ID=你的client_id", // 设置 Reddit API client_id 环境变量,请替换为你的 client_id "-e", "REDDIT_CLIENT_SECRET=你的client_secret", // 设置 Reddit API client_secret 环境变量,请替换为你的 client_secret "-e", "REDDIT_USER_AGENT=你的user_agent", // 设置 Reddit API user_agent 环境变量,请替换为你的 user_agent,建议自定义 "ghcr.io/nangeplus/mcp-reddit:latest" // Docker 镜像名称,从 GitHub Container Registry 拉取最新版本 ] } } }
注意:
- 请将 '你的client_id'、'你的client_secret' 和 '你的user_agent' 替换为你实际的 Reddit API 凭证。
- 确保你的 MCP 客户端配置文件(如 'claude_desktop_config.json')与客户端应用在同一目录下。
- 首次使用时,客户端可能会自动下载 Docker 镜像,请确保网络连接。
基本使用方法
配置完成后,在 LLM 客户端中,你可以通过工具调用来使用 Reddit MCP Server 提供的功能。以下是一些使用示例,展示了如何通过 JSON 格式调用工具:
1. 搜索 Python Subreddit 的热门帖子:
{ "tool": "search_subreddit", "arguments": { "subreddit": "Python", "query": "best practices", "limit": 5 } }
这个工具调用会在 "Python" Subreddit 中搜索包含 "best practices" 关键词的帖子,并返回最多 5 个结果。
2. 获取指定 Reddit 帖子详情:
首先,你需要知道帖子的 ID。假设你想获取 ID 为 '18gjao' 的帖子详情,可以使用以下工具调用:
{ "tool": "get_post_details", "arguments": { "post_id": "18gjao", "comment_limit": 5 } }
这个工具调用会返回帖子 '18gjao' 的详细信息,以及最多 5 条评论。
3. 获取 AskReddit Subreddit 的热门帖子:
{ "tool": "get_subreddit_hot", "arguments": { "subreddit": "AskReddit", "limit": 3 } }
这个工具调用会返回 "AskReddit" Subreddit 中最热门的 3 个帖子。
在与 LLM 对话时,你可以指示 LLM 使用这些工具来获取 Reddit 信息。LLM 会根据你的指示生成相应的工具调用 JSON,并发送给 Reddit MCP Server,服务器会执行工具并返回结果给 LLM,最终 LLM 会将结果呈现给你。
信息
分类
通信与社交