エージェント-Twitter-クライアント-MCP
agent-twitter-clientパッケージを使用して Twitter と統合するモデル コンテキスト プロトコル (MCP) サーバー。これにより、AI モデルは直接 API アクセスせずに Twitter と対話できるようになります。
特徴
認証オプション:
Cookieベースの認証(推奨)
ユーザー名/パスワード認証
Twitter API v2 の認証情報
ツイート操作:
ユーザーからのツイートを取得する
IDで特定のツイートを取得する
ツイートを検索
テキストとメディアを含むツイートを送信する
アンケートを作成する
ツイートをいいね、リツイート、引用する
ユーザー操作:
ユーザープロファイルを取得する
ユーザーをフォローする
フォロワーとフォローリストを取得する
Grok統合:
Twitterのインターフェース経由でGrokとチャットする
会話IDで会話を続ける
ウェブ検索結果と引用を取得する
Grokを通じてTwitterのリアルタイムデータにアクセスする
注: Grok 機能にはagent-twitter-client v0.0.19以上が必要です
Related MCP server: Twitter MCP Server
ドキュメント
開発者ガイド- 開発者向けの包括的なガイド
テストガイド- MCP のテスト手順
エージェントガイド- Twitter MCP の使用方法に関する AI エージェント向けガイド
貢献ガイド- このプロジェクトに貢献するためのガイドライン
変更履歴- このプロジェクトの変更履歴
デモ README - デモ スクリプトの実行ガイド
Grok の例- Grok AI 統合の例のドキュメント
クイックスタート
インストール
基本的な使い方
Twitter の認証情報を使用して
.envファイルを作成します (認証方法を参照)MCP サーバーを実行します。
デモスクリプト
パッケージには、さまざまな機能を示すサンプル スクリプトを含むdemoディレクトリが含まれています。
詳細については、デモの README を参照してください。
ポート構成
デフォルトでは、MCP サーバーはポート 3000 で実行されます。これを変更する必要がある場合 (たとえば、既にポート 3000 でアプリケーションが実行されている場合)、いくつかのオプションがあります。
オプション1: 環境変数を使用する
PORT環境変数を設定します。
オプション2: Docker Composeを使用する
Docker Compose を使用する場合は、 .envファイルでホスト ポートとコンテナ ポートの両方を構成できます。
次に以下を実行します:
これにより、ホストのポート 3001 がコンテナーのポート 3000 にマップされ、他のアプリケーションが引き続きポート 3000 を使用しながらも、http://localhost:3001で MCP にアクセスできるようになります。
Claude Desktopでのセットアップ
次のコードを追加して、Claude Desktop がこの MCP を使用するように設定します。
Windows : %APPDATA%\Claude\claude_desktop_config.json macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
Claudeデスクトップを再起動します
認証方法
Cookie認証(推奨)
クッキーを取得するには:
ブラウザでTwitterにログインする
開発者ツールを開く(F12)
アプリケーションタブ > Cookie へ移動します
auth_token、ct0、twidCookieの値をコピーします。各Cookieに
Domain=.twitter.com部分を含めるようにしてください
ユーザー名/パスワード認証
Twitter API認証
利用可能なツール
get_user_tweets: 特定のユーザーからのツイートを取得するget_tweet_by_id: IDで特定のツイートを取得するsearch_tweets: ツイートを検索するsend_tweet: 新しいツイートを投稿するsend_tweet_with_poll: アンケート付きのツイートを投稿するlike_tweet: ツイートに「いいね!」retweet: ツイートをリツイートするquote_tweet: ツイートを引用するget_user_profile: ユーザーのプロフィールを取得するfollow_user: ユーザーをフォローするget_followers: ユーザーのフォロワーを取得するget_following: ユーザーがフォローしているユーザーを取得するgrok_chat: Twitter 経由で Grok とチャットするhealth_check: Twitter MCP サーバーの健全性をチェックする
テストインターフェース
MCP には、テスト用の対話型コマンドライン インターフェイスが含まれています。
これにより、さまざまな MCP 関数をテストできる REPL が起動します。
テストコマンドの例
使用例
クロードに次のことを依頼します。
「TwitterでAIに関するツイートを検索」
「『クロードからこんにちは!』というツイートを投稿してください。」
「@OpenAI の最新ツイートを入手」
「量子コンピューティングについてGrokとチャット」
高度な使用法
メディアとの連携
画像付きのツイートを投稿するには:
動画付きのツイートを投稿するには:
アンケートの作成
アンケートを作成するには:
Grokとのやり取り
Grok と会話するには:
Grok との会話を続けるには:
Grokのユニークな機能
Grok on Twitterは、スタンドアロンのGrok APIでさえもアクセスできないリアルタイムのTwitterデータにアクセスできます。つまり、Grokに以下の質問をすることができます。
Twitterの現在のトレンドトピック
特定のテーマに関する最近のツイートの分析
Twitterユーザーとそのコンテンツに関する情報
プラットフォーム上で議論されているリアルタイムのイベント
クエリの例:
「今Twitterで話題になっているトピックは何ですか?」
「TwitterにおけるAIに関する感情を分析する」
「最新の Apple イベントについて人々は何と言っているでしょうか?」
「今日話題になっている人気のミームコインに関する情報を表示」
Grok認証要件
Grokの機能には適切な認証が必要です。MCPは次の2つの方法をサポートしています。
Cookie認証(推奨):
クッキーはJSON配列形式である必要があります
例:
TWITTER_COOKIES=["auth_token=YOUR_AUTH_TOKEN; Domain=.twitter.com", "ct0=YOUR_CT0_VALUE; Domain=.twitter.com", "twid=u%3DYOUR_USER_ID; Domain=.twitter.com"]必須のCookieは
auth_token、ct0、twidです。
ユーザー名/パスワード認証:
TWITTER_USERNAMEとTWITTER_PASSWORD環境に設定する場合によってはCloudflareの保護を受ける可能性があります
Grok レート制限
Grok には使用状況に影響する可能性のあるレート制限があります。
非プレミアムアカウント: 2時間あたり25件のメッセージ
プレミアムアカウント:上限額の引き上げ
制限に達すると、MCP は応答でレート制限情報を返します。
Grok の使用に関する詳細については、 Grok の例のドキュメントを参照してください。
トラブルシューティング
認証の問題
クッキー認証の問題
Cookie 認証で問題が発生した場合:
Cookieの有効期限:TwitterのCookieは通常、一定期間後に有効期限が切れます。Twitterからログアウトして再度ログインし、Cookieを更新してみてください。
Cookie の形式: Cookie が正しいドメインを持つ文字列の JSON 配列として適切にフォーマットされていることを確認します。
必須 Cookie :
auth_token、ct0、twidの必須 Cookie が含まれていることを確認してください。
適切にフォーマットされた Cookie の例:
資格情報認証の問題
ユーザー名/パスワード認証に問題がある場合:
2 要素認証: アカウントで 2FA が有効になっている場合は、
TWITTER_2FA_SECRET入力する必要があります。アカウントのロックアウト:ログインに何度も失敗すると、アカウントがロックされる可能性があります。アカウント確認リクエストが届いているか、メールでご確認ください。
キャプチャ チャレンジ: Twitter は、クライアントが自動的に処理できないキャプチャ チャレンジを表示する場合があります。
API認証の問題
API 認証の問題の場合:
API キーの権限: 実行しようとしているアクションに必要な権限が API キーにあることを確認します。
レート制限: Twitter API にはレート制限があり、これを超過すると障害が発生する可能性があります。
API の変更: Twitter は時々 API を変更するため、互換性の問題が発生する可能性があります。
操作エラー
ツイート投稿の失敗
ツイートを投稿できない場合:
コンテンツの制限: Twitter ではコンテンツ ポリシーに違反するツイートをブロックする場合があります。
メディア形式の問題: メディアが適切にフォーマットされ、エンコードされていることを確認します。
レート制限: Twitter では投稿できる頻度が制限されています。
検索の問題
検索が機能しない場合は:
クエリ構文: 検索クエリが Twitter の検索構文に従っていることを確認します。
検索の制限: 一部の検索モードには制限があったり、特定の権限が必要な場合があります。
Grokの問題
Grok 機能が動作しない場合は:
バージョン要件:
Grok にはagent-twitter-client v0.0.19以上が必要です
現在のパッケージは基本機能にv0.0.18を使用しています
デモ スクリプトの場合は、
--use-local-agent-twitter-clientフラグを使用して、v0.0.19 を一時的にインストールします。
認証の問題:
クッキーの形式: クッキーが正しいJSON配列形式であることを確認する
クッキーの有効期限: Twitterのクッキーは一定期間後に期限切れになります
Cloudflare保護: ユーザー名/パスワード認証がCloudflareによってブロックされる可能性があります
プレミアム要件: Grok へのアクセスには Twitter プレミアム サブスクリプションが必要です
レート制限:
非プレミアムアカウント: 2時間あたり25件のメッセージ
エラー メッセージ:「レート制限: 制限に達しました...」
解決策: レート制限がリセットされるまで待つか、プレミアムアカウントにアップグレードしてください
環境ファイルの場所:
デモ スクリプトの場合、資格情報がルート
.envファイルではなく、demo/.envにあることを確認してください。--debug-envフラグを使用して、どの環境変数がロードされているかを確認します。
Grok の問題の詳細なトラブルシューティングについては、 Grok の例のドキュメントを参照してください。
サーバーの問題
健康チェック
health_checkツールを使用してサーバーの問題を診断します。
ヘルスチェックでは次の内容が報告されます:
認証ステータス
API接続
メモリ使用量
ログ記録
サーバーはコンソールとファイルの両方にログを記録します。
error.log: エラーレベルのメッセージが含まれますcombined.log: すべてのログメッセージが含まれます
詳細なエラー情報については、これらのログを確認してください。
発達
前提条件
Node.js 18歳以上
npm
設定
リポジトリをクローンする
依存関係をインストールする
設定を含む
.envファイルを作成します。
プロジェクトを構築する
サーバーを起動する
環境変数
認証変数に加えて、以下を設定できます。
LOG_LEVEL: ログレベルを設定する(エラー、警告、情報、デバッグ)NODE_ENV: 環境を設定する(開発、本番)
ドッカー
Docker を使用してサーバーを実行することもできます。
Dockerを直接使用する
Docker Composeの使用
Twitterの認証情報を含む
.envファイルを作成するdocker-compose で実行します:
Dockerの環境変数
環境変数を Docker コンテナに渡す方法はいくつかあります。
docker-compose.yml ファイル内(すでに設定済み)
.env ファイル経由(docker-compose に推奨)
docker run コマンドで直接実行します(上記のように)
ログの保存
docker-compose 構成には、ログ用のボリューム マウントが含まれています。
これにより、ログはプロジェクト フォルダー内のlogsディレクトリに保存されます。
セキュリティに関する考慮事項
資格情報の保存: 資格情報は、環境変数または安全なボールトを使用して安全に保存することをお勧めします。
レート制限: Twitter API の不正使用を防ぐためにレート制限を実装します。
コンテンツの検証: 悪意のある使用を防ぐために、投稿する前にすべてのコンテンツを検証します。
ライセンス
マサチューセッツ工科大学