エージェント-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 統合の例のドキュメント
クイックスタート
インストール
# Install globally
npm install -g agent-twitter-client-mcp
# Or install locally
npm install agent-twitter-client-mcp基本的な使い方
Twitter の認証情報を使用して
.envファイルを作成します (認証方法を参照)MCP サーバーを実行します。
# If installed globally
agent-twitter-client-mcp
# If installed locally
npx agent-twitter-client-mcpデモスクリプト
パッケージには、さまざまな機能を示すサンプル スクリプトを含むdemoディレクトリが含まれています。
# Clone the repository to access the demo scripts
git clone https://github.com/ryanmac/agent-twitter-client-mcp.git
cd agent-twitter-client-mcp/demo
# Run the interactive demo menu
./run-demo.sh
# Run a specific demo script
./run-demo.sh --script tweet-search.js
# Run Grok AI examples (requires agent-twitter-client v0.0.19)
./run-demo.sh --script simple-grok.js --use-local-agent-twitter-client
./run-demo.sh --script grok-chat.js --use-local-agent-twitter-client詳細については、デモの README を参照してください。
ポート構成
デフォルトでは、MCP サーバーはポート 3000 で実行されます。これを変更する必要がある場合 (たとえば、既にポート 3000 でアプリケーションが実行されている場合)、いくつかのオプションがあります。
オプション1: 環境変数を使用する
PORT環境変数を設定します。
PORT=3001 npx agent-twitter-client-mcpオプション2: Docker Composeを使用する
Docker Compose を使用する場合は、 .envファイルでホスト ポートとコンテナ ポートの両方を構成できます。
# .env file
MCP_HOST_PORT=3001 # The port on your host machine
MCP_CONTAINER_PORT=3000 # The port inside the container次に以下を実行します:
docker-compose up -dこれにより、ホストのポート 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
{
"mcpServers": {
"agent-twitter-client-mcp": {
"command": "npx",
"args": ["-y", "agent-twitter-client-mcp"],
"env": {
"AUTH_METHOD": "cookies",
"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\"]"
}
}
}
}Claudeデスクトップを再起動します
認証方法
Cookie認証(推奨)
{
"AUTH_METHOD": "cookies",
"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\"]"
}クッキーを取得するには:
ブラウザでTwitterにログインする
開発者ツールを開く(F12)
アプリケーションタブ > Cookie へ移動します
auth_token、ct0、twidCookieの値をコピーします。各Cookieに
Domain=.twitter.com部分を含めるようにしてください
ユーザー名/パスワード認証
{
"AUTH_METHOD": "credentials",
"TWITTER_USERNAME": "your_username",
"TWITTER_PASSWORD": "your_password",
"TWITTER_EMAIL": "your_email@example.com", // Optional
"TWITTER_2FA_SECRET": "your_2fa_secret" // Optional, required if 2FA is enabled
}Twitter API認証
{
"AUTH_METHOD": "api",
"TWITTER_API_KEY": "your_api_key",
"TWITTER_API_SECRET_KEY": "your_api_secret_key",
"TWITTER_ACCESS_TOKEN": "your_access_token",
"TWITTER_ACCESS_TOKEN_SECRET": "your_access_token_secret"
}利用可能なツール
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 には、テスト用の対話型コマンドライン インターフェイスが含まれています。
npx agent-twitter-client-mcp-test
# or if installed locally
npm run test:interfaceこれにより、さまざまな MCP 関数をテストできる REPL が起動します。
agent-twitter-client-mcp> help
Available commands:
health Run a health check
profile <username> Get a user profile
tweets <username> [count] Get tweets from a user
tweet <id> Get a specific tweet by ID
search <query> [count] Search for tweets
post <text> Post a new tweet
like <id> Like a tweet
retweet <id> Retweet a tweet
quote <id> <text> Quote a tweet
follow <username> Follow a user
followers <userId> [count] Get a user's followers
following <userId> [count] Get users a user is following
grok <message> Chat with Grok
help Show available commands
exit Exit the test interfaceテストコマンドの例
# Run a health check
agent-twitter-client-mcp> health
# Search for tweets
agent-twitter-client-mcp> search mcp 2
# Get a user's profile
agent-twitter-client-mcp> profile elonmusk
# Get tweets from a user
agent-twitter-client-mcp> tweets openai 5
# Chat with Grok
agent-twitter-client-mcp> grok Explain quantum computing in simple terms使用例
クロードに次のことを依頼します。
「TwitterでAIに関するツイートを検索」
「『クロードからこんにちは!』というツイートを投稿してください。」
「@OpenAI の最新ツイートを入手」
「量子コンピューティングについてGrokとチャット」
高度な使用法
メディアとの連携
画像付きのツイートを投稿するには:
I want to post a tweet with an image. The tweet should say "Beautiful sunset today!" and include this image.動画付きのツイートを投稿するには:
I want to post a tweet with a video. The tweet should say "Check out this amazing video!" and include the video file.アンケートの作成
アンケートを作成するには:
Create a Twitter poll asking "What's your favorite programming language?" with options: Python, JavaScript, Rust, and Go. The poll should run for 24 hours.Grokとのやり取り
Grok と会話するには:
Use Grok to explain quantum computing to me. Ask it to include some real-world applications.Grok との会話を続けるには:
Continue the Grok conversation and ask it to elaborate on quantum entanglement.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 の例:
"TWITTER_COOKIES": "[\"auth_token=1234567890abcdef; Domain=.twitter.com\", \"ct0=abcdef1234567890; Domain=.twitter.com\", \"twid=u%3D1234567890; Domain=.twitter.com\"]"資格情報認証の問題
ユーザー名/パスワード認証に問題がある場合:
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ツールを使用してサーバーの問題を診断します。
Run a health check on the agent-twitter-client-mcp server to diagnose any issues.ヘルスチェックでは次の内容が報告されます:
認証ステータス
API接続
メモリ使用量
ログ記録
サーバーはコンソールとファイルの両方にログを記録します。
error.log: エラーレベルのメッセージが含まれますcombined.log: すべてのログメッセージが含まれます
詳細なエラー情報については、これらのログを確認してください。
発達
前提条件
Node.js 18歳以上
npm
設定
リポジトリをクローンする
git clone https://github.com/ryanmac/agent-twitter-client-mcp.git
cd agent-twitter-client-mcp依存関係をインストールする
npm install設定を含む
.envファイルを作成します。
AUTH_METHOD=cookies
TWITTER_COOKIES=["cookie1=value1", "cookie2=value2"]プロジェクトを構築する
npm run buildサーバーを起動する
npm start環境変数
認証変数に加えて、以下を設定できます。
LOG_LEVEL: ログレベルを設定する(エラー、警告、情報、デバッグ)NODE_ENV: 環境を設定する(開発、本番)
ドッカー
Docker を使用してサーバーを実行することもできます。
Dockerを直接使用する
# Build the Docker image
docker build -t agent-twitter-client-mcp .
# Run the container with environment variables
docker run -p 3000:3000 \
-e AUTH_METHOD=cookies \
-e TWITTER_COOKIES='["auth_token=YOUR_AUTH_TOKEN; Domain=.twitter.com", "ct0=YOUR_CT0_VALUE; Domain=.twitter.com"]' \
agent-twitter-client-mcpDocker Composeの使用
Twitterの認証情報を含む
.envファイルを作成するdocker-compose で実行します:
# Start the service
docker-compose up -d
# View logs
docker-compose logs -f
# Stop the service
docker-compose downDockerの環境変数
環境変数を Docker コンテナに渡す方法はいくつかあります。
docker-compose.yml ファイル内(すでに設定済み)
.env ファイル経由(docker-compose に推奨)
docker run コマンドで直接実行します(上記のように)
ログの保存
docker-compose 構成には、ログ用のボリューム マウントが含まれています。
volumes:
- ./logs:/app/logsこれにより、ログはプロジェクト フォルダー内のlogsディレクトリに保存されます。
セキュリティに関する考慮事項
資格情報の保存: 資格情報は、環境変数または安全なボールトを使用して安全に保存することをお勧めします。
レート制限: Twitter API の不正使用を防ぐためにレート制限を実装します。
コンテンツの検証: 悪意のある使用を防ぐために、投稿する前にすべてのコンテンツを検証します。
ライセンス
マサチューセッツ工科大学