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: ソースからインストールする
ソース リポジトリからインストールする場合:
- リポジトリのクローンを作成します:
- 仮想環境をセットアップする(オプションですが推奨されます):
- 依存関係をインストール:
uv
を使用(プロジェクトはuv.lock
を使用するため推奨):あるいは、pip
を使用します。 - 環境変数を構成する:
- プロジェクト ルートに
.env
ファイルを作成します (.env.example
が提供されている場合はそれをコピーできます)。 - Twitter API 資格情報を追加します。
- プロジェクト ルートに
サーバーの実行
サーバーは 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 をダウンロードしてインストールします。
- インストールを確認します:
ステップ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とやり取りできるようになりました。プロンプトの例を以下に示します。
- ユーザープロファイルを取得します:Claude は
get_user_profile
ツールを呼び出して、ユーザーの詳細を返します。 - ツイートを投稿する:Claude は
post_tweet
ツールを使用してツイートを投稿し、アクションを確認します。 - Twitterを検索:Claude は
search_twitter
ツールを呼び出して関連するツイートを返します。 - トレンドを入手:Claude は
get_trends
ツールを使用してトレンドのトピックを取得します。
プロンプトが表示されたら、チャット セッションで MCP ツールを使用する権限を Claude に付与します。
利用可能なツール
以下はx-twitter-mcp
サーバーが提供するすべてのツールのリストと、自然言語プロンプトを使用した Claude Desktop での実行例です。
ユーザー管理ツール
get_user_profile
- 説明: ユーザーの詳細なプロフィール情報を取得します。
- クロードデスクトップの例:Claude は、ID、名前、ユーザー名、プロフィール画像の URL、説明など、ユーザーのプロフィール詳細を返します。
get_user_by_screen_name
- 説明: スクリーン名でユーザーを取得します。
- クロードデスクトップの例:Claude はユーザーのプロフィール詳細を返します。
get_user_by_id
- 説明: ID でユーザーを取得します。
- クロードデスクトップの例:Claude はユーザーのプロフィール詳細を返します。
get_user_followers
- 説明: 指定されたユーザーのフォロワーのリストを取得します。
- クロードデスクトップの例:Claude は最大 50 人のフォロワーのリストを返します。
get_user_following
- 説明: 指定されたユーザーがフォローしているユーザーを取得します。
- クロードデスクトップの例:Claude は最大 50 人のユーザーのリストを返します。
get_user_followers_you_know
- 説明: 共通フォロワーのリストを取得します。
- クロードデスクトップの例:Claude は、最大 50 人の共通フォロワーのリストを返します (フォロワーをフィルタリングすることでシミュレートされます)。
get_user_subscriptions
- 説明: 指定されたユーザーがサブスクライブしているユーザーのリストを取得します。
- クロードデスクトップの例:Claude は、最大 50 人のユーザーのリストを返します (サブスクリプションのプロキシとして以下を使用)。
ツイート管理ツール
post_tweet
- 説明: オプションのメディア、返信、タグを付けてツイートを投稿します。
- クロードデスクトップの例:クロードがツイートを投稿し、ツイートの詳細を返します。
delete_tweet
- 説明: ID でツイートを削除します。
- クロードデスクトップの例:クロードはツイートを削除し、その行動を確認します。
get_tweet_details
- 説明: 特定のツイートの詳細情報を取得します。
- クロードデスクトップの例:Claude は、ID、テキスト、作成日、作成者 ID などのツイートの詳細を返します。
create_poll_tweet
- 説明: アンケート付きのツイートを作成します。
- クロードデスクトップの例:クロードはアンケートツイートを作成し、ツイートの詳細を返します。
vote_on_poll
- 説明: アンケートに投票します。
- クロードデスクトップの例:Claude は模擬応答を返します (Twitter API v2 は投票をサポートしていないため)。
favorite_tweet
- 説明: ツイートをお気に入りに追加します。
- クロードデスクトップの例:クロードはツイートをお気に入りに登録し、アクションを確認します。
unfavorite_tweet
- 説明: ツイートをお気に入り解除します。
- クロードデスクトップの例:クロードはツイートのお気に入りを解除し、そのアクションを確認します。
bookmark_tweet
- 説明: ツイートをブックマークに追加します。
- クロードデスクトップの例:クロードはツイートをブックマークし、アクションを確認します。
delete_bookmark
- 説��: ブックマークからツイートを削除します。
- クロードデスクトップの例:クロードはブックマークを削除し、アクションを確認します。
delete_all_bookmarks
- 説明: すべてのブックマークを削除します。
- クロードデスクトップの例:クロードはすべてのブックマークを削除し、その操作を確認します。
タイムラインと検索ツール
get_timeline
- 説明: ホームタイムライン (For You) からツイートを取得します。
- クロードデスクトップの例:Claude はあなたの「おすすめ」タイムラインから最大 20 件のツイートを返します。
get_latest_timeline
- 説明: ホームタイムライン(フォロー中)からツイートを取得します。
- クロードデスクトップの例:Claude は、あなたのフォロー中のタイムラインから最大 20 件のツイートを返します。
search_twitter
- 説明: クエリを使用して Twitter を検索します。
- クロードデスクトップの例:クロードは AI に関する最近のツイートを最大 10 件返します。
get_trends
- 説明: Twitter のトレンドトピックを取得します。
- クロードデスクトップの例:Claude は最大 10 件のトレンド トピックを返します。
get_highlights_tweets
- 説明: ユーザーのタイムラインからハイライトされたツイートを取得します。
- クロードデスクトップの例:Claude は、ユーザーのタイムラインから最大 20 件のツイートを返します (ハイライトとしてシミュレートされます)。
get_user_mentions
- 説明: 特定のユーザーをメンションしたツイートを取得します。
- クロードデスクトップの例:クロードは、ユーザーについて言及しているツイートを最大 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 の問題が原因です。サーバーには、この問題に対処するための警告抑制機能が組み込まれています。
- Tweepy から
貢献
貢献を歓迎します! 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
- Python
- AsecurityAlicenseAqualityWeatherXM Pro MCP ServerLast updated -86JavaScriptMIT License
- PythonMIT License