Twitter/X MCP
Twitter/X MCP
Twitter/X MCP は、MCPクライアントが公開されたXの投稿、返信、プロフィールを読み取ったり、Xの検索を行ったりできるようにします。デフォルトでRettiwtを使用するため、Xのデベロッパープランは不要です。アクセスがある場合は、公式X APIに切り替えることもできます。
要件
Node.js 22.21.0以降のNode 22リリースライン内である必要があります。現在のRettiwtリリースはNode 23以降をサポートしていません。
RETTIWT_API_KEYが必要です。APIモードを選択した場合は、公式X APIの認証情報が機能します。
Related MCP server: MCP Twitter/X Server
クイックスタート
パッケージが公開されれば、MCPクライアントはクローンなしで実行できます。
npx -y @granitebps/twitter-mcpTWITTER_MODEを省略すると、サーバーはRettiwtを選択します。クライアント設定でRETTIWT_API_KEYを渡してください。
サーバーはstdioを使用します。MCPトラフィック用にstdoutを確保してください。
クローンしたリポジトリから実行
サーバーを開発する場合やクローンを直接使用する場合:
git clone https://github.com/granitebps/twitter-mcp.git
cd twitter-mcp
npm ci
npm run buildMCPクライアントをビルド済みのエントリポイントに指定します:
node /absolute/path/to/twitter-mcp/dist/cli.jsソースを変更するたびにnpm run buildを実行してください。クライアントのstdioコマンドとしてsrcやnpm run devを使用しないでください。stdoutへのビルドログはMCPメッセージを破壊する可能性があります。
クライアント設定
各例はnpmパッケージで始まり、その後にローカルビルドの例を示します。/absolute/path/to/twitter-mcpをクローンのパスに、your_key_hereをRettiwtキーに置き換えてください。キーを含む設定ファイルをコミットしないでください。
Claude
npmパッケージをClaude Codeに追加します:
claude mcp add twitter --env RETTIWT_API_KEY=your_key_here -- npx -y @granitebps/twitter-mcpローカルビルドの場合:
claude mcp add twitter --env RETTIWT_API_KEY=your_key_here -- node /absolute/path/to/twitter-mcp/dist/cli.jsClaude Codeはデフォルトでローカルスコープを使用します。サーバーを複数のプロジェクト間で使用できるようにするには、twitterの前に--scope userを追加してください。
Claude Desktopは、claude_desktop_config.jsonから同じサーバーを読み取ります。ファイルを編集した後、アプリを再起動してください。
{
"mcpServers": {
"twitter": {
"command": "npx",
"args": ["-y", "@granitebps/twitter-mcp"],
"env": {
"RETTIWT_API_KEY": "your_key_here"
}
}
}
}ローカルビルドの場合は、commandとargsを次の内容に置き換えます:
{
"command": "node",
"args": ["/absolute/path/to/twitter-mcp/dist/cli.js"]
}Codex
npmパッケージを~/.codex/config.toml、または信頼できるプロジェクト内の.codex/config.tomlに追加します:
[mcp_servers.twitter]
command = "npx"
args = ["-y", "@granitebps/twitter-mcp"]
[mcp_servers.twitter.env]
RETTIWT_API_KEY = "your_key_here"ローカルビルドの場合:
[mcp_servers.twitter]
command = "node"
args = ["/absolute/path/to/twitter-mcp/dist/cli.js"]
[mcp_servers.twitter.env]
RETTIWT_API_KEY = "your_key_here"Codex端を編集した後、Codexを再起動してください。CLI、IDE拡張機能、デスクトップアプリは、同じコンピューター上でこの設定を共有します。
OpenCode
npmパッケージをopencode.jsonまたはopencode.jsoncに追加します:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"twitter": {
"type": "local",
"command": ["npx", "-y", "@granitebps/twitter-mcp"],
"enabled": true,
"environment": {
"RETTIWT_API_KEY": "your_key_here"
}
}
}
}ローカルビルドの場合は、command配列を次の内容に置き換えます:
{
"command": ["node", "/absolute/path/to/twitter-mcp/dist/cli.js"]
}Cursor
npmパッケージをプロジェクト内の.cursor/mcp.json、またはグローバルで使用する場合は~/.cursor/mcp.jsonに追加します:
{
"mcpServers": {
"twitter": {
"command": "npx",
"args": ["-y", "@granitebps/twitter-mcp"],
"env": {
"RETTIWT_API_KEY": "your_key_here"
}
}
}
}ローカルビルドの場合は、commandとargsを次の内容に置き換えます:
{
"command": "node",
"args": ["/absolute/path/to/twitter-mcp/dist/cli.js"]
}プロバイダー
モード | 選択方法 | 認証情報 | 備考 |
Rettiwt | デフォルト、または |
| X APIの課金が発生しません。非公式の内部エンドポイントを使用するため、壊れたりアカウントがリスクにさらされる可能性があります。 |
公式API |
| ベアラートークンまたは完全なOAuthクレデンシャル | サポートされているX APIを使用します。アクセス階層と価格はXが管理します。 |
Rettiwtの設定
このサーバーでは、Rettiwtは認証済みユーザーモードが必要です。ゲストモードはサポートされていません。
Rettiwtの認証手順に従ってAPIキーを作成します。
MCPクライアントの環境で
RETTIWT_API_KEYとして保存します。TWITTER_MODEなしでサーバーを起動するか、明示的にTWITTER_MODE=rettiwtを設定します。
RettiwtキーはXのセッションクッキーを含み、アカウントと同じアクセス権を持ちます。パスワードのように注意してください。コミットせず、issueに貼り付けず、記録せず、コマンドライン引数として渡さないでください。自分が所有している、またはアクセス許可のあるアカウントにのみキーを使用してください。
Rettiwtは非公式です。Xの自動化ルールは、非APIでのウェブサイト自動化を禁止しており、違反するとアカウントが一時停止になる可能性があると警告しています。このモードを使う前にX Rulesをお読みください。コンプライアンスとアカウントのリスクはご自身の判断で承知の上でお願いします。
公式X APIの設定
ベアラートークンを使用する場合:
TWITTER_MODE=api
TWITTER_BEARER_TOKEN=your_bearer_tokenまたは、完全なOAuthセットを指定する場合:
TWITTER_MODE=api
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET=your_api_secret
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_SECRET=your_access_secretX Developer Portalで認証情報を作成します。XがAPIアクセスと価格を管理しているため、このモードを選択する前に現在の契約条件を確認してください。
設定
変数 | 必須 | 意味 |
| いいえ | デフォルトは |
| Rettiwtモードで必須 | 認証済みRettiwtセッションキー。 |
| APIモードのオプション | 公式APIのベアラートークン。 |
| OAuthのオプション | OAuthアプリケーションキー。 |
| OAuthのオプション | OAuthアプリケーションシークレット。 |
| OAuthのオプション | OAuthアクセストークン。 |
| OAuthのオプション | OAuthアクセスシークレット。 |
| いいえ | 1,000〜120,000 msのリクエスト期限。デフォルト: 30,000。 |
サーバーは、不完全なOAuth設定を起動時に拒否します。認証情報はプロセス環境変数から読み取り、get_server_infoを通して返すことはありません。
ツール
ツール | 入力 | 結果 |
|
| 単一の投稿。数値ID、または |
|
| 返信と利用可能なページメタデータ。 |
|
| 単一の公開プロフィール。先頭の |
|
| 一致する投稿と利用可能なページメタデータ。検索オペレーターはプロバイダーに依存します。 |
| なし | バージョン、アクティブなプロバイダー、ツール、制限、機能。 |
max_resultsはデフォルト10で、1〜100を受け付けます。呼び出しに成功すると、構造化されたMCPコンテンツに加えて、古いクライアント向けにJSONテキストでも返します。コレクションツールはアイテムをJSONテキストとして返し、カーソルと警告を構造化コンテンツに入れます。
エラー
ツールの失敗は、安定したコードで報告されます:
INVALID_INPUTAUTH_REQUIREDAUTH_FAILEDNOT_FOUNDRATE_LIMITEDUPSTREAM_UNAVAILABLETIMEOUTUNSUPPORTED_OPERATIONINTERNAL_ERROR
エラーにはプロバイダー名が含まれ、再試行できるかどうかがクライアントに示されます。エラーに認証情報や上流の生のレスポンスボディは含まれません。
アーキテクチャ
stdio CLI
-> validated environment configuration
-> MCP server and tool handlers
-> TwitterProvider contract
-> Rettiwt adapter
-> official X API adapterドメインのスキーマはどちらのプロバイダーにも依存しません。各プロバイダーアダプターが、上流のデータをマッピングし、制限と期限を適用し、エラーを解釈します。src/index.tsをインポートしてもサーバー本体は起動しません。
開発
npm ci
npm run checknpm run checkは、フォーマット、## lint、型、カバレッジ、プロダクションビルド、npmパッケージの内容、クリーンなtarballインストールをチェックします。デフォルトのテストスイートはフェイクを使用しており、Xの認証情報は不要です。
役立つコマンドを絞り込みます:
npm test
npm run typecheck
npm run lint
npm run build
npm run check:package
npm run check:install
npx @modelcontextprotocol/inspector node dist/cli.jsライブRetti
ライブスモークテストは、コンパイルされたstdioサーバーを起動し、get_tweet、get_tweet_replies、get_user_profile、search_tweets を呼び出します。ユーザー名と検索クエリは、選択した投稿から取得します。
RETTIWT_API_KEY=your_key_here \
TWITTER_LIVE_TWEET_ID=1234567890123456789 \
npm run test:live作者プロフィールがまだ利用可能な公開投稿を選択してください。いずれかの変数が不足している場合、コマンドはライブサーバーを起動; ネットワークリクエストを行う前に停止します。このテストはnpm run checkや通常のCIの一部としては実行されません。
リリース検証
自動化スイートは、設定、プロバイダーアダプター、MCP呼び出ー、コンパイル済みstdioエントリポイント、npm tarballからのインストールを網羅しています。ライブRettiwtスモークテストはオプションであり、通常のCIでは実行されません。バージョン1.0.0はライブ上流での検証なしで作成されました。
メンテナーはリリースガイドに従って、手動のnpm、MCPレジストリ、GitHubリリースをおこなえます。ライブテストでは、リポジトリのシークレットから認証情報を読み取り、信頼できないプルリクエストでは実行しないでください。
トラブルシューティング
Rettiwtキーが見つからない
起動時にRETTIWT_API_KEY is required in rettiwt modeと表示された場合は、MCPクライアント設定にキーを設定します。デスクトップクライアントは、シェルの.envファイルを自動的に継承しません。
Retti
Invalid authentication dataまたはAUTH_FAILEDが表示された場合は、新しいRettiwtキーを生成し、Xのセッションがまだ有効であることを確認してください。エラーキーをissueに投稿しないでください。
レート制限
RATE_LIMITEDの場合は、再試行する前に待機し、リクエストレートを下げてください。プロバイダーが提供している場合はretryAfterSecondsを確認してください。
公式API 401または403
認証情報セット、アプリ権限、エンドポイントアクセス、現在の X API プランを確認してください。
Node エンジンの警告
Node.js 22.21.0 以上ということを確認し、Node 22 で実行してください。現在の Rettiwt 依存関係で Node 23 以降を使用しないでください。
ライセンス
This server cannot be deployed
Maintenance
Related MCP Connectors
Read public X (Twitter) posts, threads and X Articles as clean Markdown. Read-only, no auth.
X (formerly Twitter): X (formerly Twitter) public and private data API for search, posts (Tweets).
X/Twitter user/post search, suggestions, details, comments/replies, user posts and transcripts.
Live X/Twitter data: profiles, tweets, search, followers, lists and trends. 29 read-only tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with X (formerly Twitter), allowing for posting tweets, searching content, managing accounts, and organizing lists.19 npm3MIT
- AlicenseAqualityDmaintenanceProvides integration with Twitter/X, enabling reading posts from users and creating new posts.4MIT
- FlicenseNot gradedqualityDmaintenanceEnables real-time search of X (Twitter) posts, user timelines, and trends using either xAI's Responses API or the official X API v2.4-
- AlicenseNot gradedqualityBmaintenanceEnables searching X/Twitter posts and profiles via Twitee or the official X API.MIT