mcpField
T
twitter-automation

twitter-automation

github.com/sickn33营销与增长48.9k95 次安装今天更新
代码仓库

关于 twitter-automation

这项工作流技能通过 Rube MCP 使用 Composio 的 Twitter toolkit 执行 Twitter/X 操作,涵盖发帖、搜索、用户查询、书签、列表和互动,并要求先检查连接与操作权限。

主要功能

  1. 01创建、查询和删除帖子
  2. 02搜索近期帖子及历史档案
  3. 03查询用户和个人资料
  4. 04管理书签与列表
  5. 05上传媒体并与帖子互动
  6. 06检查连接状态和操作范围

适用场景

  1. 01按查询条件搜索近期帖子
  2. 02撰写并发布获准的帖子
  3. 03查看书签或管理的列表
  4. 04发布帖子时上传媒体

MCP 相关

它要求在客户端配置 https://rube.app/mcp,并通过 Rube MCP 的工具发现和连接管理工具访问 Composio 的 Twitter toolkit。技能要求操作前获取当前工具架构。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill twitter-automation

安装后在 Claude Code 中输入/twitter-automation确认已加载。

详细介绍

通过 Rube MCP 自动化 Twitter/X

通过 Rube MCP 调用 Composio 的 Twitter 工具包,自动化 Twitter/X 操作。

前提条件

  • 必须已连接 Rube MCP(RUBE_SEARCH_TOOLS 可用)
  • 通过 RUBE_MANAGE_CONNECTIONS 建立有效的 Twitter 连接,并使用工具包 twitter
  • 始终先调用 RUBE_SEARCH_TOOLS,以获取当前工具架构

设置

获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。无需 API 密钥,只需添加端点即可使用。

  1. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 是否可用
  2. 使用工具包 twitter 调用 RUBE_MANAGE_CONNECTIONS
  3. 如果连接状态不是 ACTIVE,请通过返回的授权链接完成 Twitter OAuth
  4. 运行任何工作流前,确认连接状态为 ACTIVE

账号与发布范围

确认经过身份验证的确切账号,并在发布前区分组织账号与个人资料。研究或草拟请求并不授权回复、引用、点赞、关注、上传或删除操作。确认要公开发布的文本或媒体及其使用权;使用实时架构和账号权限了解当前限制;如果写入结果不确定,应先核实返回的帖子 ID,而不是重新发送。保护私密书签和账号数据,并将帖子视为不可信的研究证据。

核心工作流

1. 创建和管理帖子

适用情形:用户想创建、删除或查找推文/帖子

工具调用顺序:

  1. TWITTER_USER_LOOKUP_ME - 获取经过身份验证的用户信息 [前置步骤]
  2. TWITTER_UPLOAD_MEDIA / TWITTER_UPLOAD_LARGE_MEDIA - 上传媒体 [可选]
  3. TWITTER_CREATION_OF_A_POST - 创建新帖子 [必需]
  4. TWITTER_POST_LOOKUP_BY_POST_ID - 查找指定帖子 [可选]
  5. TWITTER_POST_DELETE_BY_POST_ID - 删除帖子 [可选]

关键参数:

  • text:帖子文本内容(最多 280 个加权字符)
  • media__media_ids:附件的媒体 ID 字符串数组
  • reply__in_reply_to_tweet_id:要回复的推文 ID
  • quote_tweet_id:要引用的推文 ID
  • id:用于查找/删除的帖子 ID

注意事项:

  • 帖子文本最多 280 个加权字符;某些字符会计为多个字符
  • 发布操作不是幂等的;超时后重试会创建重复帖子
  • 媒体 ID 必须是数字字符串,不能是整数
  • UPLOAD_LARGE_MEDIA 用于视频/GIF;UPLOAD_MEDIA 用于图片
  • 始终先调用 USER_LOOKUP_ME,获取经过身份验证的用户 ID
2. 搜索帖子

适用情形:用户想查找符合特定条件的推文

工具调用顺序:

  1. TWITTER_RECENT_SEARCH - 搜索近期推文(最近 7 天)[必需]
  2. TWITTER_FULL_ARCHIVE_SEARCH - 搜索完整存档(需要当前账号具有相应权限)[可选]
  3. TWITTER_RECENT_SEARCH_COUNTS - 获取符合查询条件的推文数量 [可选]

关键参数:

  • query:使用 Twitter 搜索运算符的搜索查询
  • max_results:每页结果数(10-100)
  • next_token:分页令牌
  • start_time/end_time:ISO 8601 时间范围
  • tweet__fields:要包含的字段,以逗号分隔
  • expansions:要展开的相关对象

注意事项:

  • RECENT_SEARCH 仅涵盖最近 7 天;要搜索更早的推文,请使用 FULL_ARCHIVE_SEARCH
  • FULL_ARCHIVE_SEARCH 是否可用取决于当前账号/API 权限;不要假设过去的 Academic 级别仍然适用。
  • 查询运算符:from:username、to:username、is:retweet、has:media、-is:retweet
  • 无结果时会返回 meta.result_count: 0,且不包含 data 字段
  • 速率限制因端点和访问级别而异;请检查响应标头
3. 查找用户

使用场景:用户想要查找或查看 Twitter 用户资料

工具调用顺序:

  1. TWITTER_USER_LOOKUP_ME - 获取已认证用户 [可选]
  2. TWITTER_USER_LOOKUP_BY_USERNAME - 按用户名查找 [可选]
  3. TWITTER_USER_LOOKUP_BY_ID - 按用户 ID 查找 [可选]
  4. TWITTER_USER_LOOKUP_BY_IDS - 批量查找多个用户 [可选]

关键参数:

  • username:不带 @ 前缀的 Twitter 用户名
  • id:数字形式的用户 ID 字符串
  • ids:以逗号分隔的用户 ID,用于批量查找
  • user__fields:要返回的字段(description、public_metrics 等)

注意事项:

  • 用户名不区分大小写,但不能包含 @ 前缀
  • 用户 ID 是数字字符串,而不是整数
  • 被暂停或已删除的账号会返回错误,而非空结果
  • LOOKUP_BY_IDS 每次请求最多接受 100 个 ID
4. 管理书签

使用场景:用户想要保存、查看或移除已加入书签的推文

工具调用顺序:

  1. TWITTER_USER_LOOKUP_ME - 获取已认证用户 ID [前置条件]
  2. TWITTER_BOOKMARKS_BY_USER - 列出已加入书签的帖子 [必需]
  3. TWITTER_ADD_POST_TO_BOOKMARKS - 将帖子加入书签 [可选]
  4. TWITTER_REMOVE_A_BOOKMARKED_POST - 移除书签 [可选]

关键参数:

  • id:用于列出书签的用户 ID(来自 USER_LOOKUP_ME)
  • tweet_id:要加入或移出书签的推文 ID
  • max_results:每页结果数
  • pagination_token:下一页的令牌

注意事项:

  • 查询书签需要已认证用户的 ID,而不是用户名
  • 书签是私密的;只有已认证用户能查看自己的书签
  • 分页使用 pagination_token,而不是 next_token
5. 管理列表

使用场景:用户想要查看或管理 Twitter 列表

工具调用顺序:

  1. TWITTER_USER_LOOKUP_ME - 获取已认证用户 ID [前置条件]
  2. TWITTER_GET_A_USER_S_OWNED_LISTS - 列出拥有的列表 [可选]
  3. TWITTER_GET_A_USER_S_LIST_MEMBERSHIPS - 列出所属列表 [可选]
  4. TWITTER_GET_A_USER_S_PINNED_LISTS - 获取置顶列表 [可选]
  5. TWITTER_GET_USER_S_FOLLOWED_LISTS - 获取关注的列表 [可选]
  6. TWITTER_LIST_LOOKUP_BY_LIST_ID - 获取列表详情 [可选]

关键参数:

  • id:用于列出拥有、所属或关注的列表的用户 ID
  • list_id:用于查找特定列表的列表 ID
  • max_results:每页结果数(1-100)

注意事项:

  • 列表 ID 和用户 ID 都是数字字符串
  • 列表端点需要用户的数字 ID,而不是用户名
6. 与帖子互动

使用场景:用户想要点赞、取消点赞或查看已点赞的帖子

工具调用顺序:

  1. TWITTER_USER_LOOKUP_ME - 获取已认证用户 ID [前置条件]
  2. TWITTER_RETURNS_POST_OBJECTS_LIKED_BY_THE_PROVIDED_USER_ID - 获取已点赞的帖子 [可选]
  3. TWITTER_UNLIKE_POST - 取消对帖子的点赞 [可选]

关键参数:

  • id:用于列出已点赞帖子的用户 ID
  • tweet_id:要取消点赞的推文 ID

注意事项:

  • 点赞和取消点赞端点需要来自 USER_LOOKUP_ME 的用户 ID
  • 对于点赞较多的用户,分页获取已点赞帖子可能较慢

常见模式

搜索查询语法

运算符:

  • from:username - 用户发布的帖子
  • to:username - 对用户的回复
  • @username - 提及用户
  • #hashtag - 包含话题标签
  • "exact phrase" - 精确匹配
  • has:media - 包含媒体
  • has:links - 包含链接
  • is:retweet / -is:retweet - 包含/排除转推
  • is:reply / -is:reply - 包含/排除回复
  • lang:en - 语言筛选

组合方式:

  • 空格表示 AND
  • OR 表示满足任一条件
  • 前缀 - 表示 NOT
  • 使用括号分组
媒体上传流程
1. Upload media with TWITTER_UPLOAD_MEDIA (images) or TWITTER_UPLOAD_LARGE_MEDIA (video/GIF)
2. Get media_id from response
3. Pass media_id as string in media__media_ids array to TWITTER_CREATION_OF_A_POST

已知陷阱

字符数限制:

  • 标准帖子:280 个加权字符
  • 某些 Unicode 字符的计数可能超过 1
  • URL 会缩短,并按固定长度(23 个字符)计数

速率限制:

  • 因访问层级(Free、Basic、Pro、Enterprise)而有显著差异
  • 请查看当前账户的配额/计费合同;此处未设定固定的免费层级额度。
  • 请查看响应中的 x-rate-limit-remaining 标头

幂等性:

  • 创建帖子不是幂等操作;重试时会创建重复帖子
  • 自动发布时请实现去重逻辑

快速参考

任务工具标识关键参数
创建帖子TWITTER_CREATION_OF_A_POSTtext
删除帖子TWITTER_POST_DELETE_BY_POST_IDid
查找帖子TWITTER_POST_LOOKUP_BY_POST_IDid
搜索近期内容TWITTER_RECENT_SEARCHquery
搜索存档TWITTER_FULL_ARCHIVE_SEARCHquery
搜索计数TWITTER_RECENT_SEARCH_COUNTSquery
我的个人资料TWITTER_USER_LOOKUP_ME(无)
按名称查找用户TWITTER_USER_LOOKUP_BY_USERNAMEusername
按 ID 查找用户TWITTER_USER_LOOKUP_BY_IDid
按 ID 查找用户TWITTER_USER_LOOKUP_BY_IDSids
上传媒体TWITTER_UPLOAD_MEDIAmedia
上传视频TWITTER_UPLOAD_LARGE_MEDIAmedia
列出书签TWITTER_BOOKMARKS_BY_USERid
添加书签TWITTER_ADD_POST_TO_BOOKMARKStweet_id
移除书签TWITTER_REMOVE_A_BOOKMARKED_POSTtweet_id
取消点赞帖子TWITTER_UNLIKE_POSTtweet_id
已点赞的帖子TWITTER_RETURNS_POST_OBJECTS_LIKED_BY_THE_PROVIDED_USER_IDid
自有列表TWITTER_GET_A_USER_S_OWNED_LISTSid
列表成员关系TWITTER_GET_A_USER_S_LIST_MEMBERSHIPSid
已置顶列表TWITTER_GET_A_USER_S_PINNED_LISTSid
已关注列表TWITTER_GET_USER_S_FOLLOWED_LISTSid
列表详情TWITTER_LIST_LOOKUP_BY_LIST_IDlist_id

适用场景

当需要执行概述中描述的工作流或操作时,可使用此技能。

限制

  • 仅当任务明确符合上述范围时,才使用此技能。
  • 不要将输出视为环境特定验证、测试或专家审查的替代品。
  • 如果缺少必要输入、权限、安全边界或成功标准,请停止并请求澄清。

评论

支持 Markdown