X (Twitter) MCP サーバー
AIツールを介してTwitter (X)とやり取りするためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーでは、AIツールの自然言語コマンドを通じて、ツイートの取得、投稿、Twitter検索、フォロワーの管理など、様々な操作が可能です。
特徴
ユーザー プロファイル、フォロワー、フォロー中のリストを取得します。
ツイートを投稿、削除、お気に入りに追加します。
Twitterでツイートやトレンドを検索します。
ブックマークとタイムラインを管理します。
Twitter API 用の組み込みレート制限処理。
適切な認証 (API キーとトークン) を備えた Twitter API v2 を使用し、ユーザー名/パスワードのハッキングを回避して、アカウント停止のリスクを最小限に抑えます。
ユーザー管理、ツイート管理、タイムライン、検索機能のための Twitter API v2 エンドポイントの完全な実装を提供します。
前提条件
Python 3.10 以上: システムに Python がインストールされていることを確認します。
Twitter 開発者アカウント: Twitter 開発者ポータルからの API 資格情報 (API キー、API シークレット、アクセス トークン、アクセス トークン シークレット、およびベアラー トークン) が必要です。
オプション: Claude Desktop : Anthropic Web サイトから Claude Desktop アプリをダウンロードしてインストールします。
オプション: Node.js (MCP 統合用): Claude Desktop で MCP サーバーを実行するために必要です。
Python 依存関係用の
uv
やpip
のようなパッケージ マネージャー。
インストール
オプション 1: Smithery 経由でインストールする (推奨)
Smithery経由で Claude Desktop 用の X (Twitter) MCP サーバーを自動的にインストールするには:
オプション2: PyPIからインストールする
x-twitter-mcp
をインストールする最も簡単な方法は PyPI を使用することです。
オプション3: ソースからインストールする
ソース リポジトリからインストールする場合:
リポジトリのクローンを作成します:
git clone https://github.com/rafaljanicki/x-twitter-mcp-server.git cd x-twitter-mcp-server仮想環境をセットアップする(オプションですが推奨されます):
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate依存関係をインストール:
uv
を使用(プロジェクトはuv.lock
を使用するため推奨):uv syncあるいは、
pip
を使用します。pip install .環境変数を構成する:
プロジェクト ルートに
.env
ファイルを作成します (.env.example
が提供されている場合はそれをコピーできます)。Twitter API 資格情報を追加します。
TWITTER_API_KEY=your_api_key TWITTER_API_SECRET=your_api_secret TWITTER_ACCESS_TOKEN=your_access_token TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret TWITTER_BEARER_TOKEN=your_bearer_token
サーバーの実行
サーバーは 2 つの方法で実行できます。
オプション1: CLIスクリプトの使用
このプロジェクトは、CLI スクリプトx-twitter-mcp-server
を定義します。
PyPI からインストールした場合:
uv
を使用してソースからインストールした場合:
オプション2: FastMCPを直接使用する(ソースのみ)
ソースからインストールし、FastMCP の開発モードを使用してサーバーを実行する場合:
サーバーが起動し、MCP接続を待機します。次のような出力が表示されます。
Claude Desktopでの使用
Claude DesktopでこのMCPサーバーを使用するには、Claudeをサーバーに接続するための設定が必要です。以下の手順に従ってください。
ステップ1: Node.jsをインストールする
Claude DesktopはMCPサーバーの実行にNode.jsを使用しています。Node.jsがインストールされていない場合は、以下の手順に従ってください。
nodejs.orgから Node.js をダウンロードしてインストールします。
インストールを確認します:
node --version
ステップ2: Claudeデスクトップ構成を見つける
Claude Desktop は、 claude_desktop_config.json
ファイルを使用して MCP サーバーを構成します。
Windows :
%APPDATA%\Claude\claude_desktop_config.json
macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
ファイルが存在しない場合は作成します。
ステップ3: MCPサーバーを構成する
claude_desktop_config.json
を編集して、 x-twitter-mcp
サーバーを追加します。/path/to/x-twitter-mcp-server /path/to/x-twitter-mcp-server
、プロジェクトディレクトリへの実際のパス(ソースからインストールした場合)または Python 実行ファイルへのパス(PyPI からインストールした場合)に置き換えます。
PyPI からインストールした場合:
uv
を使用してソースからインストールした場合:
"command": "x-twitter-mcp-server"
: PyPI からインストールされた場合は CLI スクリプトを直接使用します。"env"
: PyPIからインストールした場合、.env
ファイルがないため、設定ファイルで環境変数を直接指定する必要があるかもしれません。ソースからインストールした場合は、.env
ファイルが使用されます。"env": {"PYTHONUNBUFFERED": "1"}
: Claude でのログ記録を改善するために、出力がバッファリングされないようにします。
ステップ4: Claude Desktopを再起動する
Claude Desktop を完全に終了します。
新しい構成をロードするには、Claude Desktop を再度開きます。
ステップ5: 接続を確認する
Claude Desktop を開きます。
入力エリア(右下隅)にハンマーまたはコネクタのアイコンが表示されています。これは、MCPツールが利用可能であることを示します。
アイコンをクリックすると、
post_tweet
、search_twitter
、get_user_profile
など、x-twitter-mcp
で利用可能なツールが表示されます。
ステップ6:クロードとテストする
Claude Desktopで自然言語を使ってTwitterとやり取りできるようになりました。プロンプトの例を以下に示します。
ユーザープロファイルを取得します:
Get the Twitter profile for user ID 123456.Claude は
get_user_profile
ツールを呼び出して、ユーザーの詳細を返します。ツイートを投稿する:
Post a tweet saying "Hello from Claude Desktop! #MCP"Claude は
post_tweet
ツールを使用してツイートを投稿し、アクションを確認します。Twitterを検索:
Search Twitter for recent tweets about AI.Claude は
search_twitter
ツールを呼び出して関連するツイートを返します。トレンドを入手:
What are the current trending topics on Twitter?Claude は
get_trends
ツールを使用してトレンドのトピックを取得します。
プロンプトが表示されたら、チャット セッションで MCP ツールを使用する権限を Claude に付与します。
利用可能なツール
以下はx-twitter-mcp
サーバーが提供するすべてのツールのリストと、自然言語プロンプトを使用した Claude Desktop での実行例です。
ユーザー管理ツール
get_user_profile
説明: ユーザーの詳細なプロフィール情報を取得します。
クロードデスクトップの例:
Get the Twitter profile for user ID 123456789.Claude は、ID、名前、ユーザー名、プロフィール画像の URL、説明など、ユーザーのプロフィール詳細を返します。
get_user_by_screen_name
説明: スクリーン名でユーザーを取得します。
クロードデスクトップの例:
Get the Twitter user with screen name "example_user".Claude はユーザーのプロフィール詳細を返します。
get_user_by_id
説明: ID でユーザーを取得します。
クロードデスクトップの例:
Fetch the Twitter user with ID 987654321.Claude はユーザーのプロフィール詳細を返します。
get_user_followers
説明: 指定されたユーザーのフォロワーのリストを取得します。
クロードデスクトップの例:
Get the followers of user ID 123456789, limit to 50.Claude は最大 50 人のフォロワーのリストを返します。
get_user_following
説明: 指定されたユーザーがフォローしているユーザーを取得します。
クロードデスクトップの例:
Who is user ID 123456789 following? Limit to 50 users.Claude は最大 50 人のユーザーのリストを返します。
get_user_followers_you_know
説明: 共通フォロワーのリストを取得します。
クロードデスクトップの例:
Get common followers for user ID 123456789, limit to 50.Claude は、最大 50 人の共通フォロワーのリストを返します (フォロワーをフィルタリングすることでシミュレートされます)。
get_user_subscriptions
説明: 指定されたユーザーがサブスクライブしているユーザーのリストを取得します。
クロードデスクトップの例:
Get the subscriptions for user ID 123456789, limit to 50.Claude は、最大 50 人のユーザーのリストを返します (サブスクリプションのプロキシとして以下を使用)。
ツイート管理ツール
post_tweet
説明: オプションのメディア、返信、タグを付けてツイートを投稿します。
クロードデスクトップの例:
Post a tweet saying "Hello from Claude Desktop! #MCP"クロードがツイートを投稿し、ツイートの詳細を返します。
delete_tweet
説明: ID でツイートを削除します。
クロードデスクトップの例:
Delete the tweet with ID 123456789012345678.クロードはツイートを削除し、その行動を確認します。
get_tweet_details
説明: 特定のツイートの詳細情報を取得します。
クロードデスクトップの例:
Get details for tweet ID 123456789012345678.Claude は、ID、テキスト、作成日、作成者 ID などのツイートの詳細を返します。
create_poll_tweet
説明: アンケート付きのツイートを作成します。
クロードデスクトップの例:
Create a poll tweet with the question "What's your favorite color?" and options "Red", "Blue", "Green" for 60 minutes.クロードはアンケートツイートを作成し、ツイートの詳細を返します。
vote_on_poll
説明: アンケートに投票します。
クロードデスクトップの例:
Vote "Blue" on the poll in tweet ID 123456789012345678.Claude は模擬応答を返します (Twitter API v2 は投票をサポートしていないため)。
favorite_tweet
説明: ツイートをお気に入りに追加します。
クロードデスクトッ���の例:
Like the tweet with ID 123456789012345678.クロードはツイートをお気に入りに登録し、アクションを確認します。
unfavorite_tweet
説明: ツイートをお気に入り解除します。
クロードデスクトップの例:
Unlike the tweet with ID 123456789012345678.クロードはツイートのお気に入りを解除し、そのアクションを確認します。
bookmark_tweet
説明: ツイートをブックマークに追加します。
クロードデスクトップの例:
Bookmark the tweet with ID 123456789012345678.クロードはツイートをブックマークし、アクションを確認します。
delete_bookmark
説明: ブックマークからツイートを削除します。
クロードデスクトップの例:
Remove the bookmark for tweet ID 123456789012345678.クロードはブックマークを削除し、アクションを確認します。
delete_all_bookmarks
説明: すべてのブックマークを削除します。
クロードデスクトップの例:
Delete all my Twitter bookmarks.クロードはすべてのブックマ���クを削除し、その操作を確認します。
タイムラインと検索ツール
get_timeline
説明: ホームタイムライン (For You) からツイートを取得します。
クロードデスクトップの例:
Show my Twitter For You timeline, limit to 20 tweets.Claude はあなたの「おすすめ」タイムラインから最大 20 件のツイートを返します。
get_latest_timeline
説明: ホームタイムライン(フォロー中)からツイートを取得します。
クロードデスクトップの例:
Show my Twitter Following timeline, limit to 20 tweets.Claude は、あなたのフォロー中のタイムラインから最大 20 件のツイートを返します。
search_twitter
説明: クエリを使用して Twitter を検索します。
クロードデスクトップの例:
Search Twitter for recent tweets about AI, limit to 10.クロードは AI に関する最近のツイートを最大 10 件返します。
get_trends
説明: Twitter のトレンドトピックを取得します。
クロードデスクトップの例:
What are the current trending topics on Twitter? Limit to 10.Claude は最大 10 件のトレンド トピックを返します。
get_highlights_tweets
説明: ユーザーのタイムラインからハイライトされたツイートを取得します。
クロードデスクトップの例:
Get highlighted tweets from user ID 123456789, limit to 20.Claude は、ユーザーのタイムラインから最大 20 件のツイートを返します (ハイライトとしてシミュレートされます)。
get_user_mentions
説明: 特定のユーザーをメンションしたツイートを取得します。
クロードデスクトップの例:
Get tweets mentioning user ID 123456789, limit to 20.クロードは、ユーザーについて言及しているツイートを最大 20 件返します。
トラブルシューティング
サーバーが起動しません:
.env
ファイルに必要なすべての Twitter API 資格情報が含まれていることを確認します (ソースからインストールされている場合)。PyPI からインストールした場合は、
claude_desktop_config.json
またはシェルで環境変数が設定されていることを確認してください。x-twitter-mcp-server
を実行しているときに、ターミナル出力でエラーを確認します。uv
または Python 実行ファイルが正しくインストールされ、アクセス可能であることを確認します。
クロードがサーバーを検出しません:
claude_desktop_config.json
内のパスが正しいことを確認します。command
とargs
正しい実行可能ファイルとスクリプトを指していることを確認します。設定ファイルを更新した後、Claude Desktop を再起動します。
Claude の開発者モード ログ (ヘルプ → 開発者モードを有効にする → MCP ログ ファイルを開く) でエラーを確認します。
レート制限エラー:
サーバーにはレート制限の処理が含まれていますが、Twitter API の制限に達した場合は、リセット ウィンドウ (ツイート アクションの場合は 15 分など) を待つ必要がある場合があります。
構文の警告:
Tweepy から
SyntaxWarning
メッセージが表示される場合、これは Python 3.13 の Tweepy における docstring の問題が原因です。サーバーには、この問題に対処するための警告抑制機能が組み込まれています。
貢献
貢献を歓迎します! GitHub リポジトリで問題を開くか、プル リクエストを送信してください。
ライセンス
このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSE
ファイルをご覧ください。
著者
ラファル・ヤニッキ- rafal@kult.io
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
X (Twitter) MCP サーバー
Related MCP Servers
- AsecurityAlicenseAqualityWeatherXM Pro MCP ServerLast updated -86MIT License
- MIT License