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 に接続し、認証済みの Twitter 接続を通じて Composio の 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 が利用可能)
  • ツールキット twitter を指定した RUBE_MANAGE_CONNECTIONS による有効な 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文字までです。一部の文字は2文字以上としてカウントされます
  • 投稿は冪等ではありません。タイムアウト後に再試行すると、重複した投稿が作成されます
  • メディア ID は整数ではなく、数値文字列である必要があります
  • 動画/GIF には UPLOAD_LARGE_MEDIA、画像には UPLOAD_MEDIA を使用します
  • 認証済みユーザーの ID を取得するため、必ず最初に USER_LOOKUP_ME を呼び出してください
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
  • 結果がない場合は、data フィールドなしで meta.result_count: 0 が返されます
  • レート制限はエンドポイントとアクセスレベルによって異なります。レスポンスヘッダーを確認してください
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 で1回のリクエストに指定できる ID は最大100件です
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:1 ページあたりの結果数
  • pagination_token:次のページ用のトークン

注意点:

  • ブックマークにはユーザー名ではなく、認証済みユーザーの ID が必要です
  • ブックマークは非公開で、認証済みユーザー本人のみが自分のブックマークを確認できます
  • ページネーションには next_token ではなく pagination_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 ページあたりの結果数(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

コメント