mcpField
T
twitter-automation

twitter-automation

github.com/composiohq营销与增长78.3k83 次安装14 周前更新
代码仓库

关于 twitter-automation

通过 Rube MCP 和 Composio 的 Twitter 工具包自动执行 Twitter/X 操作,适用于社交媒体发布与信息检索。可创建和管理帖子、搜索内容、查找用户,并管理书签与列表。

主要功能

  1. 01创建、查询和删除帖子
  2. 02搜索近期帖子及完整档案
  3. 03按用户名或 ID 查找用户
  4. 04添加和移除书签
  5. 05查看及管理列表

适用场景

  1. 01发布带媒体的帖子
  2. 02按关键词检索近期内容
  3. 03查看用户资料和帖子
  4. 04整理书签及关注的列表

MCP 相关

在 MCP 客户端中连接 Rube MCP,并通过 Composio 的 Twitter 工具包及已授权的 Twitter 连接执行操作。

安装

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

$npx skills add https://github.com/composiohq/awesome-claude-skills --skill twitter-automation

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

详细介绍

通过 Rube MCP 自动化 Twitter/X

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

工具包文档:composio.dev/toolkits/twitter

前提条件

  • 必须已连接 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

核心工作流

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 个加权字符;某些字符计数可能超过 1
  • 发帖操作不可幂等;超时后重试会创建重复帖子
  • 媒体 ID 必须是数字字符串,不能是整数
  • 视频/GIF 使用 UPLOAD_LARGE_MEDIA;图片使用 UPLOAD_MEDIA
  • 务必先调用 USER_LOOKUP_ME,获取已认证用户的 ID
2. 搜索帖子

适用场景:用户希望查找符合特定条件的推文

工具调用顺序:

  1. TWITTER_RECENT_SEARCH - 搜索近期推文(过去 7 天)[必需]
  2. TWITTER_FULL_ARCHIVE_SEARCH - 搜索完整归档(需 Academic 访问权限)[可选]
  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 需要 Academic Research 或 Enterprise 访问权限
  • 查询运算符: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)而有很大差异
  • Free 层级:限制非常严格(例如,每月 1,500 条帖子)
  • 检查响应中的 x-rate-limit-remaining 标头

幂等性:

  • 创建帖子不具备幂等性;重试时会创建重复帖子
  • 自动发布时应实现去重逻辑

Quick Reference

TaskTool SlugKey Params
Create postTWITTER_CREATION_OF_A_POSTtext
Delete postTWITTER_POST_DELETE_BY_POST_IDid
Look up postTWITTER_POST_LOOKUP_BY_POST_IDid
Recent searchTWITTER_RECENT_SEARCHquery
Archive searchTWITTER_FULL_ARCHIVE_SEARCHquery
Search countsTWITTER_RECENT_SEARCH_COUNTSquery
My profileTWITTER_USER_LOOKUP_ME(none)
User by nameTWITTER_USER_LOOKUP_BY_USERNAMEusername
User by IDTWITTER_USER_LOOKUP_BY_IDid
Users by IDsTWITTER_USER_LOOKUP_BY_IDSids
Upload mediaTWITTER_UPLOAD_MEDIAmedia
Upload videoTWITTER_UPLOAD_LARGE_MEDIAmedia
List bookmarksTWITTER_BOOKMARKS_BY_USERid
Add bookmarkTWITTER_ADD_POST_TO_BOOKMARKStweet_id
Remove bookmarkTWITTER_REMOVE_A_BOOKMARKED_POSTtweet_id
Unlike postTWITTER_UNLIKE_POSTtweet_id
Liked postsTWITTER_RETURNS_POST_OBJECTS_LIKED_BY_THE_PROVIDED_USER_IDid
Owned listsTWITTER_GET_A_USER_S_OWNED_LISTSid
List membershipsTWITTER_GET_A_USER_S_LIST_MEMBERSHIPSid
Pinned listsTWITTER_GET_A_USER_S_PINNED_LISTSid
Followed listsTWITTER_GET_USER_S_FOLLOWED_LISTSid
List detailsTWITTER_LIST_LOOKUP_BY_LIST_IDlist_id

Powered by Composio

评论

支持 Markdown