Integrations
Supports containerized deployment through Docker and Docker Compose, with configuration options for environment variables and volume mounting for logs.
References GitHub for accessing demo scripts, contributing to the project, and accessing specific versions of dependencies.
Runs as a Node.js application, with compatibility requirements specified through version badges and environment configuration.
エージェント-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以上が必要です
ドキュメント
- 開発者ガイド- 開発者向けの包括的なガイド
- テストガイド- 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
、twid
Cookieの値をコピーします。- 各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=YOUR_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 の不正使用を防ぐためにレート制限を実装します。
- コンテンツの検証: 悪意のある使用を防ぐために、投稿する前にすべてのコンテンツを検証します。
ライセンス
マサチューセッツ工科大学
This server cannot be installed
AI エージェントが直接 API アクセスせずに Twitter と対話できるようにし、ツイート操作、ユーザー インタラクション、Grok AI 統合をサポートするモデル コンテキスト プロトコル サーバー。