mcpField
T
twitter-automation

twitter-automation

github.com/davepoonマーケティング・グロース3.7k122 回インストール1 日前に更新
リポジトリ

twitter-automation について

twitter-automationは、Rube MCP経由でComposioのTwitterツールキットを使う自動化スキルです。投稿、検索、プロフィール確認、ブックマークやリストの操作に対応します。

主な機能

  1. 01投稿の作成、検索、削除
  2. 02最近の投稿の検索と件数確認
  3. 03ユーザープロフィールの検索
  4. 04ブックマークとリストの管理
  5. 05いいねした投稿の表示と取り消し

活用シーン

  1. 01メディアを添えて投稿を公開
  2. 02検索演算子を使った最近の投稿の検索
  3. 03ユーザー名またはIDによるプロフィール確認
  4. 04投稿のブックマークと削除

MCP 対応

Rube MCPを介してComposioのTwitterツールキットにアクセスします。ワークフローの前にツールの検索と有効なTwitter接続が必要です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davepoon/buildwithclaude --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

コメント