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 文字までです。一部の文字は 1 文字を超えてカウントされます
  • 投稿はべき等ではありません。タイムアウト時に再試行すると、投稿が重複して作成されます
  • メディア ID は数値文字列である必要があり、整数は使用できません
  • UPLOAD_LARGE_MEDIA は動画/GIF 用、UPLOAD_MEDIA は画像用です
  • 認証済みユーザーの ID を取得するため、必ず最初に USER_LOOKUP_ME を呼び出してください
2. 投稿の検索

使用する場合:ユーザーが特定の条件に一致するツイートを見つけたいとき

ツールの順序:

  1. TWITTER_RECENT_SEARCH - 最近のツイート(過去 7 日間)を検索します[必須]
  2. TWITTER_FULL_ARCHIVE_SEARCH - 全アーカイブを検索します(現在のアカウントの利用資格が必要)[任意]
  3. TWITTER_RECENT_SEARCH_COUNTS - クエリに一致するツイート数を取得します[任意]

主なパラメーター:

  • query:Twitter の検索演算子を使用した検索クエリ
  • max_results:1 ページあたりの結果数(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では、1回のリクエストにつき最大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: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)によって大きく異なります
  • 現在のアカウントの上限/課金契約を確認してください。ここでは無料プランの固定の利用枠は定められていません。
  • レスポンスの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(none)
名前でユーザーを検索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

使用する場面

このスキルは、概要で説明されているワークフローまたはアクションを実行する場合に適用できます。

制限事項

  • このスキルは、タスクが上記の説明範囲に明確に該当する場合にのみ使用してください。
  • 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認を求めてください。

コメント