X (Twitter) Search MCP Server
MCP 対応クライアントから X (Twitter) の投稿をリアルタイム検索できる MCP サーバーです。2 つのデータ源 backend を選べます:
- xAI backend — Responses API + x_search サーバーサイドツール。Grok が自律的に X を検索・分析(セマンティック検索)。
- xurl backend — 公式
xurlCLI 経由の認証済み実 X API v2。生のポストデータを直接取得。
backend は環境変数 X_SEARCH_BACKEND で切り替えます(既定 auto)。
機能
backend の選択(X_SEARCH_BACKEND)
- xAI backend には
XAI_API_KEYが必要です。 - xurl backend には
xurlCLI が PATH 上にあり OAuth2 認証済み(xurl auth)であることが必要です。 autoで xurl が利用できない環境では自動的に xAI にフォールバックするため、どちらか一方だけの構成でも動作します。x_get_trendingは xurl に安定したトレンド API が無いため常に xAI backend を使用します。
対応クライアント
stdio トランスポートに対応した MCP クライアントであれば利用できます。代表的なものを以下に挙げます:
その他の MCP 対応クライアントは MCP Clients 一覧 を参照してください。
セットアップ
前提条件
- Python 3.10 以上
- xAI API キー( https://console.x.ai/ から取得)— xAI backend を使う場合
xurlCLI( https://github.com/xdevplatform/xurl )を導入しxurl authで認証 — xurl backend を使う場合
いずれか一方だけでも動作します。両方を用意して
X_SEARCH_BACKEND=auto(既定)にすると、xurl 優先・xAI フォールバックになります。
1. リポジトリのクローンと仮想環境の作成
git clone https://github.com/toocheap/x-search-mcp.git
cd x-search-mcp
# 仮想環境を作成
python3 -m venv .venv
# 仮想環境を有効化
# macOS / Linux:
source .venv/bin/activate
# Windows:
# .venv\Scripts\activate
# 依存パッケージをインストール
pip install -r requirements.txt
2. 仮想環境の Python パスを確認
MCP クライアントの設定にはフルパスが必要です。以下のコマンドで確認してください:
# macOS / Linux(venv を有効化した状態で)
which python3
# 例: /Users/yourname/src/x-search-mcp/.venv/bin/python3
# Windows
# where python
# 例: C:\Users\yourname\src\x-search-mcp\.venv\Scripts\python.exe
3. MCP クライアントの設定
ほとんどの MCP クライアントは同じ JSON 形式の設定に対応しています。 以下の内容をお使いのクライアントの MCP 設定に追加してください:
{
"mcpServers": {
"x_search": {
"command": "/absolute/path/to/x-search-mcp/.venv/bin/python3",
"args": ["/absolute/path/to/x-search-mcp/x_search_mcp.py"],
"env": {
"XAI_API_KEY": "xai-xxxxxxxxxxxxxxxxxxxxxxxx",
"X_SEARCH_BACKEND": "auto"
}
}
}
}
重要:
commandには 手順2で確認した仮想環境の Python フルパスを指定してください。システムのpython3ではなく.venv内のものを使います。argsにはx_search_mcp.pyの絶対パスを指定してください。XAI_API_KEYには https://console.x.ai/ で取得した API キーを設定してください(xAI backend 用)。X_SEARCH_BACKENDはauto(既定)/xurl/xaiから選びます。省略時はauto。xurl backend は MCP サーバーを起動するユーザーのxurl認証情報(~/.xurl)を使うため、envに資格情報を書く必要はありません。
4. クライアントを再起動
設定を保存したらクライアントを再起動してください。MCP サーバーが認識され、X 検索ツールが使えるようになります。
使用例
MCP クライアントで以下のように話しかけるだけです:
- 「AIに関する最新のツイートを検索して」
- 「@elonmusk の最近の投稿を見せて」
- 「日本でのトレンドを教えて」
- 「#cybersecurity のツイートを日本語で検索」
アーキテクチャ
┌─ (xai) xAI Responses API (/v1/responses) ─ x_search tool ─┐
MCP Client <-> MCP Server ┤ ├─> X (Twitter) data
(stdio) └─ (xurl) xurl CLI ─ X API v2 (/2/tweets/search/recent 等) ──┘
- xAI backend: xAI の Responses API と x_search サーバーサイドツールを使用。Grok がサーバーサイドで自律的に X を検索・分析し、結果を返すエージェンティックな仕組みです。旧 Live Search API (
search_parameters) は 2026年1月に廃止されたため、新しい Agent Tools API を使用しています。 - xurl backend: 公式
xurlCLI 経由で認証済みの X API v2 エンドポイント(/2/tweets/search/recent,/2/users/:id/tweets等)を直接呼び出し、生のポストを取得します。アダプタはxurl_client.pyに実装されています。
モデル
x_search サーバーサイドツールは grok-4 系モデルのみで利用可能です。
モデルを変更する場合は x_search_mcp.py 内の XAI_MODEL 定数を編集してください。
注意:
grok-3系モデルでは x_search ツールは利用できません(400 エラーになります)。
トラブルシューティング
x_auth_status ツールを呼ぶと、現在有効な backend と xurl の認証状態を確認できます。
Claude Desktop の場合、ログは以下で確認できます:
# macOS
cat ~/Library/Logs/Claude/mcp-server-x_search.log
料金
xAI API の利用料金が発生します。詳細は xAI Pricing を参照してください。
ライセンス
MIT