返回 MCP 目录
public公开dns本地运行

reddit-buddy-mcp

Reddit MCP Buddy 是一个专为AI助手设计的Reddit浏览工具,无需API密钥即可快速浏览Reddit帖子、搜索内容和分析用户活动,支持多种认证方式提高请求限制。

article

README

🚀 Reddit MCP Buddy

Reddit MCP Buddy是一款专为Claude Desktop和其他AI助手打造的Reddit浏览器。它基于模型上下文协议(MCP),能让AI助手浏览Reddit、搜索帖子并分析用户活动。无需API密钥,使用便捷、响应快速且数据真实可靠。

MCP Compatible License: MIT npm version Node.js Version

🚀 快速开始

针对Claude Desktop

在你的claude_desktop_config.json文件中添加以下内容:

{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["reddit-mcp-buddy"]
    }
  }
}

大功告成!现在Reddit MCP Buddy已可在Claude中使用。

✨ 主要特性

  • 🚀 零配置 - 即开即用,无需注册Reddit API。
  • ⚡ 多达10倍的请求量 - 可选的身份验证可提高请求速率限制。
  • 🎯 纯净数据 - 不提供虚假的“情感分析”或编造的指标。
  • 🧠 专为大语言模型优化 - 专门为Claude等AI助手设计。
  • 📦 TypeScript编写 - 完全类型化,可靠且易于维护。

📦 安装指南

交互式身份验证设置(仅用于本地测试)

对于本地开发和测试,你可以交互式地设置身份验证:

npx reddit-buddy --auth

这将提示你输入Reddit应用凭证并将其保存到本地。注意:此方法不适用于Claude Desktop - 请在Claude配置中使用环境变量。

HTTP模式测试

要在终端中直接测试服务器:

# 在端口3000上以HTTP模式运行
npx reddit-mcp-buddy --http

# 或使用自定义端口
REDDIT_BUDDY_PORT=8080 npx reddit-mcp-buddy --http

注意:服务器默认以stdio模式运行(适用于Claude Desktop)。使用--http标志可通过Postman MCP或直接API调用进行测试。

全局安装

npm install -g reddit-mcp-buddy
reddit-buddy --http  # 用于测试

从源代码安装

git clone https://github.com/karanb192/reddit-mcp-buddy.git
cd reddit-mcp-buddy
npm install
npm run build
npm link

使用Docker

docker run -it karanb192/reddit-mcp-buddy

💻 使用示例

你的AI现在可以回答以下问题:

"今天关于GPT - 4的热门帖子有哪些?"

→ search_reddit with query="GPT-4", time="day", sort="top"

"给我展示科技领域的热门趋势"

→ browse_subreddit with subreddit="technology", sort="hot"

"人们对这篇文章有什么看法?"

→ search_reddit with the article URL to find discussions

"分析用户DeepFuckingValue"

→ user_analysis with username="DeepFuckingValue"

"获取这篇Reddit帖子的评论"

→ get_post_details with url="https://reddit.com/r/..."

"整个Reddit上的热门内容有哪些?"

→ browse_subreddit with subreddit="all", sort="hot"

📚 详细文档

它能做什么?

你可以让你的AI助手执行以下操作:

  • 📊 "Reddit上正在流行什么?" - 浏览r/all中的热门帖子。
  • 🔍 "搜索关于AI的讨论" - 在所有子版块中进行搜索。
  • 💬 "获取这篇Reddit帖子的评论" - 获取带有完整评论线程的帖子。
  • 👤 "分析用户spez" - 获取用户历史、积分和活动信息。
  • 📚 "解释Reddit积分" - 了解Reddit术语。

可用工具

browse_subreddit

可按排序选项浏览任何子版块的帖子。

- 子版块:
  - "all" - 整个Reddit首页
  - "popular" - Reddit上的热门内容
  - 任何特定的子版块(例如,"technology"、"programming"、"science")
- 排序方式:热门、最新、置顶、上升、有争议
- 时间范围:小时、天、周、月、年、全部(适用于置顶/有争议的排序)
- 包含子版块信息:可选标志,用于获取子版块元数据

search_reddit

可在Reddit或特定子版块中进行搜索。

- 查询:你的搜索词
- 过滤条件:子版块、作者、时间、标签
- 排序方式:相关性、热门、置顶、最新、评论数

get_post_details

获取带有所有评论的帖子。

- 输入:
  - Reddit URL(包括子版块的完整URL),或
  - 仅帖子ID(将自动检测子版块,需2次API调用),或
  - 帖子ID + 子版块(最有效,需1次API调用)
- 选项:评论排序、深度、链接提取

user_analysis

分析Reddit用户的个人资料。

- 用户名:任何Reddit用户
- 返回:积分、帖子、评论、活跃子版块

reddit_explain

获取Reddit术语的解释。

- 术语:积分、蛋糕日、AMA、ELI5等

身份验证(可选)

如果你需要更多的请求量,可以在Claude Desktop配置中添加Reddit凭证:

设置步骤

  1. 访问https://www.reddit.com/prefs/apps
  2. 创建一个应用(类型:脚本 - 重要!)
  3. 找到你的凭证:
    • 客户端ID:显示在“个人使用脚本”下方
    • 客户端密钥:应用页面上的密钥字符串
  4. 更新你的Claude Desktop配置:
{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["reddit-mcp-buddy"],
      "env": {
        "REDDIT_CLIENT_ID": "your_client_id",
        "REDDIT_CLIENT_SECRET": "your_client_secret",
        "REDDIT_USERNAME": "your_username",
        "REDDIT_PASSWORD": "your_password"
      }
    }
  }
}

速率限制

  • 无身份验证:每分钟10个请求(默认)
  • 仅客户端ID + 密钥:每分钟60个请求
  • 包含用户名 + 密码:每分钟100个请求

注意:要达到最大速率限制(每分钟100个请求),你需要包括用户名和密码在内的所有四个凭证。

与其他工具的比较

| 特性 | Reddit MCP Buddy | 其他MCP工具 | |---------|-------------|----------------| | 零配置 | ✅ 即开即用 | ❌ 需要API密钥 | | 编程语言 | TypeScript/Node.js | 大多为Python | | 工具数量 | 5个(专注) | 8 - 10个(冗余) | | 虚假指标 | ✅ 仅真实数据 | ❌ “情感评分” | | 搜索功能 | ✅ 全面搜索 | 有限或无 | | 缓存功能 | ✅ 智能缓存 | 通常无 | | 大语言模型优化 | ✅ 参数清晰 | 选项混乱 |

速率限制

| 模式 | 每分钟请求数 | 缓存TTL | 需要的设置 | |------|----------------|-----------|----------------| | 匿名模式 | 10 | 15分钟 | 无 | | 仅应用模式 | 60 | 5分钟 | 客户端ID + 密钥 | | 认证模式 | 100 | 5分钟 | 所有凭证 |

为什么选择Reddit MCP Buddy?

其他工具的不足之处:

  • 虚假指标 - “情感评分”只是简单的关键词计数。
  • 复杂的设置 - 仅启动就需要API密钥。
  • 臃肿的响应 - 返回Reddit原始API的100多个字段。
  • 大语言模型集成不佳 - 参数混乱且描述不清晰。

我们的优势:

  • 仅真实数据 - 如果不是来自Reddit API,我们不会编造。
  • 简洁的响应 - 只返回重要的字段。
  • 清晰的参数 - 大语言模型能准确理解要发送的内容。
  • 快速且有缓存 - 尽可能即时响应。

故障排除

常见问题

“命令未找到”错误

# 确保npm已安装
node --version
npm --version

# 尝试使用完整的npx路径
$(npm bin -g)/reddit-mcp-buddy

速率限制错误

  • 无身份验证:每分钟限制10个请求。
  • 仅应用凭证:每分钟60个请求。
  • 完整身份验证:每分钟100个请求。
  • 解决方案:添加Reddit凭证(见身份验证)。

“未找到子版块”

  • 检查拼写(不区分大小写)。
  • 某些子版块可能是私有的或被隔离的。
  • 尝试使用“all”或“popular”代替。

连接问题

  • Reddit可能已宕机(检查https://www.redditstatus.com)。
  • 防火墙可能阻止了请求。
  • 尝试重启MCP服务器。

环境变量

身份验证变量

| 变量 | 描述 | 是否必需 | 速率限制 | |----------|-------------|----------|------------| | REDDIT_CLIENT_ID | Reddit应用客户端ID | 否 | 每分钟60个请求(与密钥一起使用) | | REDDIT_CLIENT_SECRET | Reddit应用密钥 | 否 | 每分钟60个请求(与ID一起使用) | | REDDIT_USERNAME | Reddit账户用户名 | 否 | 每分钟100个请求(与所有四个一起使用) | | REDDIT_PASSWORD | Reddit账户密码 | 否 | 每分钟100个请求(与所有四个一起使用) | | REDDIT_USER_AGENT | 用户代理字符串 | 否 | - |

服务器配置

| 变量 | 描述 | 默认值 | |----------|-------------|---------| | REDDIT_BUDDY_HTTP | 以HTTP服务器而不是stdio模式运行 | false | | REDDIT_BUDDY_PORT | HTTP服务器端口(当HTTP=true时) | 3000 | | REDDIT_BUDDY_NO_CACHE | 禁用缓存(始终获取最新数据) | false |

🔧 技术细节

智能缓存系统

Reddit MCP Buddy包含智能缓存系统,以提高性能并减少API调用:

  • 内存安全:硬限制为50MB - 不会影响你的系统性能。
  • 自适应TTL:热门帖子(5分钟)、新帖子(2分钟)、置顶帖子(30分钟)。
  • LRU淘汰机制:在接近限制时自动移除最少使用的数据。
  • 命中跟踪:根据实际使用模式优化缓存。 这意味着更快的响应速度,并能在使用最少系统资源的情况下,严格遵守Reddit的速率限制。

开发

# 安装依赖
npm install

# 开发模式运行
npm run dev

# 构建
npm run build

# 测试
npm test

# 代码检查
npm run lint

# 类型检查
npm run typecheck

要求

  • Node.js >= 18.0.0
  • npm或yarn
  • TypeScript 5.5+

贡献

欢迎提交PR!请参阅CONTRIBUTING.md获取指南。 我们保持简单:

  • 无虚假分析。
  • 代码简洁、类型化。
  • 文档清晰。
  • 响应快速。

支持

📄 许可证

本项目采用MIT许可证,你可以随意使用!


为MCP社区用心打造。无风险投资,无跟踪,只是一个优秀的MCP服务器。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端