名称: reddit-automation 描述: “通过Rube MCP (Composio) 自动化Reddit任务:搜索子reddit、创建帖子、管理评论和浏览热门内容。始终先搜索工具以获取当前模式。” 要求: mcp: [rube] 类别: 社交-media
通过Rube MCP实现Reddit自动化
通过Composio的Reddit工具包和Rube MCP自动化Reddit操作。
工具包文档: composio.dev/toolkits/reddit
先决条件
- Rube MCP必须已连接(RUBE_SEARCH_TOOLS可用)
- 通过
RUBE_MANAGE_CONNECTIONS和工具包reddit建立的活跃Reddit连接 - 始终先调用
RUBE_SEARCH_TOOLS以获取当前工具模式
设置
获取Rube MCP: 在客户端配置中添加https://rube.app/mcp作为MCP服务器。无需API密钥 — 只需添加端点即可工作。
- 确认Rube MCP可用,验证
RUBE_SEARCH_TOOLS响应 - 调用
RUBE_MANAGE_CONNECTIONS,工具包为reddit - 如果连接不是活跃的,按照返回的认证链接完成Reddit OAuth
- 运行任何工作流程前确认连接状态显示为活跃
核心工作流程
1. 搜索Reddit
使用时机: 用户想要跨子reddit查找帖子
工具序列:
REDDIT_SEARCH_ACROSS_SUBREDDITS- 搜索匹配查询的帖子 [必需]
关键参数:
query: 搜索词subreddit: 限制搜索到特定子reddit(可选)sort: 按’相关性’, ‘热门’, ‘最热’, ‘最新’, '评论数’排序结果time_filter: 时间范围(‘小时’, ‘天’, ‘周’, ‘月’, ‘年’, ‘全部’)limit: 返回的结果数量
常见问题:
- 由于索引延迟,搜索结果可能不包括非常近期的帖子
time_filter参数仅适用于某些排序选项- 结果是分页的;使用after/before令牌获取额外页面
- 根据账户设置,NSFW内容可能被过滤
2. 创建帖子
使用时机: 用户想要向子reddit提交新帖子
工具序列:
REDDIT_LIST_SUBREDDIT_POST_FLAIRS- 获取可用帖子标签 [可选]REDDIT_CREATE_REDDIT_POST- 提交帖子 [必需]
关键参数:
subreddit: 目标子reddit名称(不带’r/'前缀)title: 帖子标题text: 帖子正文文本(用于文本帖子)url: 链接URL(用于链接帖子)flair_id: 来自子reddit标签列表的标签ID
常见问题:
- 一些子reddit需要标签;先使用LIST_SUBREDDIT_POST_FLAIRS
- 子reddit发帖规则差异很大;可能有karma/年龄限制
- Text和URL是互斥的;帖子要么是文本要么是链接
- 适用速率限制;避免快速连续发帖
- 子reddit名称不应包括’r/'前缀
3. 管理评论
使用时机: 用户想要在帖子上评论或管理现有评论
工具序列:
REDDIT_RETRIEVE_POST_COMMENTS- 获取帖子上的评论 [可选]REDDIT_POST_REDDIT_COMMENT- 向帖子添加评论或回复评论 [必需]REDDIT_EDIT_REDDIT_COMMENT_OR_POST- 编辑现有评论 [可选]REDDIT_DELETE_REDDIT_COMMENT- 删除评论 [可选]
关键参数:
post_id: 帖子的ID(用于检索或评论)parent_id: 父对象的完整名称(例如,'t3_abc123’用于帖子,'t1_xyz789’用于评论)body: 评论文本内容thing_id: 要编辑或删除的项的完整名称
常见问题:
- Reddit使用’完整名称’格式:'t1_'前缀用于评论,'t3_'用于帖子
- 编辑替换整个评论文本;包括所有期望内容
- 删除的评论显示为’[已删除]'但树状结构保留
- 在某些子reddit,评论深度限制可能适用
4. 浏览子reddit内容
使用时机: 用户想要查看子reddit的顶级或趋势内容
工具序列:
REDDIT_GET_R_TOP- 从子reddit获取顶级帖子 [必需]REDDIT_GET- 从子reddit端点获取帖子 [替代]REDDIT_RETRIEVE_REDDIT_POST- 获取特定帖子的完整详情 [可选]
关键参数:
subreddit: 子reddit名称time_filter: 顶级帖子的时间范围(‘小时’, ‘天’, ‘周’, ‘月’, ‘年’, ‘全部’)limit: 要检索的帖子数量post_id: 特定帖子的ID
常见问题:
- 顶级帖子带有time_filter='全部’返回所有时间顶级内容
- 帖子详情包括正文文本但评论需要单独调用
- 根据子reddit规则,一些帖子可能被移除或隐藏
- 除非在账户级别过滤,NSFW帖子会被包括
5. 管理帖子
使用时机: 用户想要编辑或删除自己的帖子
工具序列:
REDDIT_EDIT_REDDIT_COMMENT_OR_POST- 编辑帖子的文本内容 [可选]REDDIT_DELETE_REDDIT_POST- 删除帖子 [可选]REDDIT_GET_USER_FLAIR- 获取用户在子reddit的标签 [可选]
关键参数:
thing_id: 帖子的完整名称(例如,‘t3_abc123’)body: 新文本内容(用于编辑)subreddit: 子reddit名称(用于标签)
常见问题:
- 只有文本帖子可以编辑正文;链接帖子无法修改
- 帖子标题提交后无法编辑
- 删除是永久性的;删除的帖子显示为’[已删除]’
- 用户标签是按子reddit的,可能受限
常见模式
Reddit完整名称格式
前缀:
t1_ = 评论(例如,'t1_abc123')
t2_ = 账户(例如,'t2_xyz789')
t3_ = 帖子/链接(例如,'t3_def456')
t4_ = 消息
t5_ = 子reddit
用法:
1. 检索帖子以获取其完整名称(t3_XXXXX)
2. 在评论时使用完整名称作为parent_id
3. 在编辑/删除时使用完整名称作为thing_id
分页
- Reddit使用基于游标的分页,带有’after’和’before’令牌
- 设置
limit用于每页项目数(最多100) - 检查响应的
after令牌 - 在后续请求中传递
after值以获取下一页
标签解析
1. 调用REDDIT_LIST_SUBREDDIT_POST_FLAIRS并传递子reddit名称
2. 通过文本或类别找到匹配标签
3. 提取flair_id
4. 创建帖子时包括flair_id
已知问题
速率限制:
- Reddit强制执行每账户和每OAuth应用的速率限制
- 对于新账户,发帖大约每10分钟限制为1帖
- 评论有类似但限制较少
- 429错误应触发指数回退
内容规则:
- 每个子reddit有自己的发帖规则和要求
- 一些子reddit是受限或私有的
- 在某些子reddit,karma要求可能阻止发帖
- 自动版主规则可能移除匹配某些模式的帖子
ID格式:
- 始终使用完整名称格式(带前缀)作为parent_id和thing_id
- 没有前缀的原始ID会导致’无效ID’错误
- 来自搜索结果的帖子ID可能需要添加’t3_'前缀
文本格式化:
- Reddit使用Markdown进行帖子和评论格式化
- 支持代码块、表格和标题
- 链接使用
[文本](URL)格式 - 用
u/用户名提到用户,用r/子reddit提到子reddit
快速参考
| 任务 | 工具slug | 关键参数 |
|---|---|---|
| 搜索Reddit | REDDIT_SEARCH_ACROSS_SUBREDDITS | query, subreddit, sort, time_filter |
| 创建帖子 | REDDIT_CREATE_REDDIT_POST | subreddit, title, text/url |
| 获取帖子评论 | REDDIT_RETRIEVE_POST_COMMENTS | post_id |
| 添加评论 | REDDIT_POST_REDDIT_COMMENT | parent_id, body |
| 编辑评论/帖子 | REDDIT_EDIT_REDDIT_COMMENT_OR_POST | thing_id, body |
| 删除评论 | REDDIT_DELETE_REDDIT_COMMENT | thing_id |
| 删除帖子 | REDDIT_DELETE_REDDIT_POST | thing_id |
| 获取顶级帖子 | REDDIT_GET_R_TOP | subreddit, time_filter, limit |
| 浏览子reddit | REDDIT_GET | subreddit |
| 获取帖子详情 | REDDIT_RETRIEVE_REDDIT_POST | post_id |
| 获取特定评论 | REDDIT_RETRIEVE_SPECIFIC_COMMENT | comment_id |
| 列出帖子标签 | REDDIT_LIST_SUBREDDIT_POST_FLAIRS | subreddit |
| 获取用户标签 | REDDIT_GET_USER_FLAIR | subreddit |
由 Composio 提供支持