Twitter Client MCP について
`agent-twitter-client` ライブラリを介して Twitter 操作を提供する Model Context Protocol サーバーです。プロフィール、投稿、検索、フォロー関係を扱い、認証情報を保護する仕組みを備えています。
主な機能
- 01プロフィールと投稿の取得
- 02投稿、いいね、リポスト
- 03投稿とプロフィールの検索
- 04フォロワーとフォロー中の一覧
- 05ユーザーのフォロー
- 06認証情報の分離と出力除去
活用シーン
- 01投稿や Twitter プロフィールの検索
- 02投稿または投稿へのリアクション
- 03ユーザーのフォロワーとフォロー中の確認
MCP 対応
MCP クライアントに Twitter のプロフィール、投稿、検索、関係操作のツールを公開します。認証情報はサーバー側で読み込み、ログ出力や LLM からの参照を防ぎます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Twitter Client MCP
agent-twitter-client ライブラリを通じて Twitter の機能への安全なアクセスを提供する Model Context Protocol(MCP)サーバーです。
機能
Twitter Client MCP では、次の機能を利用できます。
-
プロフィール操作
- ユーザー名からプロフィール情報を取得
- 認証済みユーザーのプロフィールを取得
-
ツイート操作
- ID を指定してツイートを取得
- ユーザーのツイートを取得
- 新しいツイートを投稿
- ツイートに「いいね」を付ける
- ツイートをリツイート
-
検索操作
- ツイートを検索
- プロフィールを検索
-
関係操作
- ユーザーのフォロワーを取得
- ユーザーがフォローしているユーザーを取得
- ユーザーをフォロー
セキュリティ ⚠️
重要:TWITTER の認証情報の保護
この MCP サーバーを動作させるには Twitter の認証情報が必要です。これらの機密性の高い認証情報を保護するため、次の点にご注意ください。
- 認証情報を絶対に共有しないでください
- 認証情報を表示するコマンドを絶対に実行しないでください
- LLM にシェルコマンドを直接実行させないでください。実行には必ずご自身の承認が必要です。
多層の保護
このサーバーでは、認証情報を安全に保つため、複数のセキュリティ層を実装しています。
1. 認証情報の分離
- 認証情報は初期化中にのみ読み込まれます
- 読み込み後、認証情報は環境変数から直ちに削除されます
- 認証情報がログに記録されたり、LLM に送信されたりすることはありません
2. メモリの保護
- sodium-native を使用した安全なメモリ割り当て
- ディスクへのスワップを防ぐメモリロック
- 使用後にメモリバッファをゼロクリア
3. アクセスの防止
- 環境変数の安全な取り扱い
- 必須の環境変数を厳密に検証
- 秘密情報の漏えいを防ぐため、コンソール出力をサニタイズ
セットアップ
- リポジトリをクローンします
- 依存関係をインストールします:
npm install - プロジェクトをビルドします:
npm run build
必須の環境変数
Twitter Client MCP では、次の環境変数が必要です。
TWITTER_USERNAME=your_username
TWITTER_PASSWORD=your_password
[email protected]
高度な機能を利用する場合は、Twitter API v2 の認証情報を追加することもできます。
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET_KEY=your_api_secret
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_TOKEN_SECRET=your_access_secret
ツール
サーバーは次の MCP ツールを公開します。
| ツール名 | 説明 | パラメーター |
|---|---|---|
profileByUsername | ユーザー名から Twitter のプロフィールを取得 | username: String |
myProfile | 認証済みユーザーのプロフィールを取得 | check: Boolean |
getTweet | ID を指定して特定のツイートを取得 | tweetId: String |
getUserTweets | Twitter ユーザーのツイートを取得 | username: String, count?: Number |
sendTweet | 新しいツイートを投稿 | text: String, inReplyToId?: String |
likeTweet | ツイートに「いいね」を付ける | tweetId: String |
retweet | ツイートをリツイート | tweetId: String |
searchTweets | ツイートを検索 | query: String, count?: Number, searchMode?: String ('top', 'latest', 'photos', 'videos') |
searchProfiles | Twitter のプロフィールを検索 | query: String, count?: Number |
getFollowers | Twitter ユーザーをフォローしているユーザーの一覧を取得 | username: String, count?: Number |
getFollowing | Twitter ユーザーがフォローしているユーザーの一覧を取得 | username: String, count?: Number |
followUser | Twitter ユーザーをフォロー | username: String |
使用方法
ローカルで実行
# Start the server with environment variables
TWITTER_USERNAME=your_username TWITTER_PASSWORD=your_password [email protected] npm start
Cursor への追加
この MCP サーバーを Cursor に追加するには、次の手順に従います。
- Cursor で、Settings > MCP Servers に移動します
- 「Add Server」をクリックします
- 次の設定でサーバーを構成します。
- 名前:
Twitter Client MCP(または任意の名前) - タイプ:
command - コマンド:
node - 引数:
/path/to/twitter-client-mcp/dist/index.js(実際のパスに置き換えてください) - 環境変数:
TWITTER_USERNAME:Twitter のユーザー名TWITTER_PASSWORD:Twitter のパスワードTWITTER_EMAIL:Twitter のメールアドレス- 設定するその他の変数
- 名前:
- 「Save」をクリックします
NPX を使用する(推奨)
npx を使って、GitHub から MCP サーバーを直接実行することもできます。
TWITTER_USERNAME=your_username TWITTER_PASSWORD=your_password [email protected] npx -y github:mzkrasner/twitter-client-mcp
Cursor 設定での環境変数の使用
セキュリティと使いやすさを高めるため、ホームディレクトリにある .cursor/mcp.json ファイルを使って Cursor を設定します。
{
"mcpServers": {
"twitter-client-mcp": {
"command": "npx",
"args": [
"-y",
"github:mzkrasner/twitter-client-mcp"
],
"env": {
"TWITTER_USERNAME": "your_username",
"TWITTER_PASSWORD": "your_password",
"TWITTER_EMAIL": "[email protected]"
}
}
}
}
開発
開発に関する重要な注意事項
MCP サーバーを開発する際は、デバッグやログ出力にはすべて console.log() ではなく console.error() を使用してください。MCP プロトコルは標準出力を介してクライアントと通信するため、console.log() の出力はこの通信を妨げます。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。