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: ソースからインストールする
ソース リポジトリからインストールする場合:
- リポジトリのクローンを作成します:Copy
- 仮想環境をセットアップする(オプションですが推奨されます):Copy
- 依存関係をインストール:
uv
を使用(プロジェクトはuv.lock
を使用するため推奨):あるいは、Copypip
を使用します。Copy - 環境変数を構成する:
- プロジェクト ルートに
.env
ファイルを作成します (.env.example
が提供されている場合はそれをコピーできます)。 - Twitter API 資格情報を追加します。Copy
- プロジェクト ルートに
サーバーの実行
サーバーは 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 をダウンロードしてインストールします。
- インストールを確認します:Copy
ステップ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 はCopy
get_user_profile
ツールを呼び出して、ユーザーの詳細を返します。 - ツイートを投稿する:Claude はCopy
post_tweet
ツールを使用してツイートを投稿し、アクションを確認します。 - Twitterを検索:Claude はCopy
search_twitter
ツールを呼び出して関連するツイートを返します。 - トレンドを入手:Claude はCopy
get_trends
ツールを使用してトレンドのトピックを取得します。
プロンプトが表示されたら、チャット セッションで MCP ツールを使用する権限を Claude に付与します。
利用可能なツール
以下はx-twitter-mcp
サーバーが提供するすべてのツールのリストと、自然言語プロンプトを使用した Claude Desktop での実行例です。
ユーザー管理ツール
get_user_profile
- 説明: ユーザーの詳細なプロフィール情報を取得します。
- クロードデスクトップの例:Claude は、ID、名前、ユーザー名、プロフィール画像の URL、説明など、ユーザーのプロフィール詳細を返します。Copy
get_user_by_screen_name
- 説明: スクリーン名でユーザーを取得します。
- クロードデスクトップの例:Claude はユーザーのプロフィール詳細を返します。Copy
get_user_by_id
- 説明: ID でユーザーを取得します。
- クロードデスクトップの例:Claude はユーザーのプロフィール詳細を返します。Copy
get_user_followers
- 説明: 指定されたユーザーのフォロワーのリストを取得します。
- クロードデスクトップの例:Claude は最大 50 人のフォロワーのリストを返します。Copy
get_user_following
- 説明: 指定されたユーザーがフォローしているユーザーを取得します。
- クロードデスクトップの例:Claude は最大 50 人のユーザーのリストを返します。Copy
get_user_followers_you_know
- 説明: 共通フォロワーのリストを取得します。
- クロードデスクトップの例:Claude は、最大 50 人の共通フォロワーのリストを返します (フォロワーをフィルタリングすることでシミュレートされます)。Copy
get_user_subscriptions
- 説明: 指定されたユーザーがサブスクライブしているユーザーのリストを取得します。
- クロードデスクトップの例:Claude は、最大 50 人のユーザーのリストを返します (サブスクリプションのプロキシとして以下を使用)。Copy
ツイート管理ツール
post_tweet
- 説明: オプションのメディア、返信、タグを付けてツイートを投稿します。
- クロードデスクトップの例:クロードがツイートを投稿し、ツイートの詳細を返します。Copy
delete_tweet
- 説明: ID でツイートを削除します。
- クロードデスクトップの例:クロードはツイートを削除し、その行動を確認します。Copy
get_tweet_details
- 説明: 特定のツイートの詳細情報を取得します。
- クロードデスクトップの例:Claude は、ID、テキスト、作成日、作成者 ID などのツイートの詳細を返します。Copy
create_poll_tweet
- 説明: アンケート付きのツイートを作成します。
- クロードデスクトップの例:クロードはアンケートツイートを作成し、ツイートの詳細を返します。Copy
vote_on_poll
- 説明: アンケートに投票します。
- クロードデスクトップの例:Claude は模擬応答を返します (Twitter API v2 は投票をサポートしていないため)。Copy
favorite_tweet
- 説明: ツイートをお気に入りに追加します。
- クロードデスクトップの例:クロードはツイートをお気に入りに登録し、アクションを確認します。Copy
unfavorite_tweet
- 説明: ツイートをお気に入り解除します。
- クロードデスクトップの例:クロードはツイートのお気に入りを解除し、そのアクションを確認します。Copy
bookmark_tweet
- 説明: ツイートをブックマークに追加します。
- クロードデスクトップの例:クロードはツイートをブックマークし、アクションを確認します。Copy
delete_bookmark
- 説明: ブックマークからツイートを削除します。
- クロードデスクトップの例:クロードはブックマークを削除し、アクションを確認します。Copy
delete_all_bookmarks
- 説明: すべてのブックマークを削除します。
- クロードデスクトップの例:クロードはすべてのブックマークを削除し、その操作を確認します。Copy
タイムラインと検索ツール
get_timeline
- 説明: ホームタイムライン (For You) からツイートを取得します。
- クロードデスクトップの例:Claude はあなたの「おすすめ」タイムラインから最大 20 件のツイートを返します。Copy
get_latest_timeline
- 説明: ホームタイムライン(フォロー中)からツイートを取得します。
- クロードデスクトップの例:Claude は、あなたのフォロー中のタイムラインから最大 20 件のツイートを返します。Copy
search_twitter
- 説明: クエリを使用して Twitter を検索します。
- クロードデスクトップの例:クロードは AI に関する最近のツイートを最大 10 件返します。Copy
get_trends
- 説明: Twitter のトレンドトピックを取得します。
- クロードデスクトップの例:Claude は最大 10 件のトレンド トピックを返します。Copy
get_highlights_tweets
- 説明: ユーザーのタイムラインからハイライトされたツイートを取得します。
- クロードデスクトップの例:Claude は、ユーザーのタイムラインから最大 20 件のツイートを返します (ハイライトとしてシミュレートされます)。Copy
get_user_mentions
- 説明: 特定のユーザーをメンションしたツイートを取得します。
- クロードデスクトップの例:クロードは、ユーザーについて言及しているツイートを最大 20 件返します。Copy
トラブルシューティング
- サーバーが起動しません:
.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
You must be authenticated.
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
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server for managing social media posts, currently supporting X (formerly Twitter).Last updated -37JavaScriptMIT License
- AsecurityAlicenseAqualityAn MCP server that allows Claude to create, manage and publish X/Twitter posts directly through the chat interface.Last updated -535PythonMIT License
- AsecurityAlicenseAqualityAn MCP server that enables Claude to interact with Twitter, allowing for posting tweets and searching Twitter content.Last updated -290151TypeScriptMIT License
- -securityAlicense-qualityA headless MCP server that provides Twitter API access without requiring local credential setup, enabling core Twitter operations like searching tweets, getting user tweets, posting tweets, and replying to tweets.Last updated -PythonMIT License