インストール + MCP クライアントへの登録¶
3 ステップ。ステップ 3 でクライアントを選びます。
1. バイナリをインストール¶
なぜ uv tool install:twikit-mcp を独立環境(依存衝突なし)で PATH 上に配置、以降の起動は瞬時、アップグレードは uv tool upgrade twikit-mcp の一行で完結。
uv がない場合:1 行でインストール(macOS / Linux は curl 一発)。pipx / pip でも OK — 詳細は README "Choose your install" を参照。
2. X の cookies を配置¶
ブラウザで x.com にログイン → DevTools(F12)→ Application → Cookies → https://x.com。ct0 と auth_token をコピー。
mkdir -p ~/.config/twitter-mcp
cat > ~/.config/twitter-mcp/cookies.json <<'EOF'
{"ct0": "...", "auth_token": "..."}
EOF
chmod 600 ~/.config/twitter-mcp/cookies.json
3. クライアントへの登録¶
JSON の形(mcpServers ブロック)はどのクライアントでも同じ、設定ファイルの場所だけが違います。/home/YOU は自分のホームに置き換えてください。
Claude Code¶
CLI 一発、JSON を編集不要:
claude mcp add twitter -s user \
-e "TWITTER_COOKIES=$HOME/.config/twitter-mcp/cookies.json" \
-- twikit-mcp
Claude Desktop¶
| OS | 設定ファイル |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
ファイルがなければ作成、以下を追加:
{
"mcpServers": {
"twitter": {
"command": "twikit-mcp",
"env": {
"TWITTER_COOKIES": "/home/YOU/.config/twitter-mcp/cookies.json"
}
}
}
}
Claude Desktop を再起動。
Cursor¶
~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト単位)を編集:
{
"mcpServers": {
"twitter": {
"command": "twikit-mcp",
"env": {
"TWITTER_COOKIES": "/home/YOU/.config/twitter-mcp/cookies.json"
}
}
}
}
Cursor は自動リロードするので再起動不要。
Windsurf¶
~/.codeium/windsurf/mcp_config.json を編集:
{
"mcpServers": {
"twitter": {
"command": "twikit-mcp",
"env": {
"TWITTER_COOKIES": "/home/YOU/.config/twitter-mcp/cookies.json"
}
}
}
}
Windsurf を再起動。
Cline(VS Code 拡張)¶
Cline パネル → ⚙️ → MCP Servers → Edit MCP Settings を開く。保存すると自動リロード。
{
"mcpServers": {
"twitter": {
"command": "twikit-mcp",
"env": {
"TWITTER_COOKIES": "/home/YOU/.config/twitter-mcp/cookies.json"
}
}
}
}
opencode¶
~/.config/opencode/config.json を編集:
{
"mcpServers": {
"twitter": {
"command": "twikit-mcp",
"env": {
"TWITTER_COOKIES": "/home/YOU/.config/twitter-mcp/cookies.json"
}
}
}
}
Pi¶
Pi には MCP が組み込まれていません — まずコミュニティ製の MCP 拡張を入れます。pi-mcp-adapter がこの server には最適です:設定の形は上記と同じ mcpServers、接続は遅延、そして directTools の許可リストで twikit-mcp の 62 ツールがコーディングセッションのコンテキストを圧迫するのを防げます。
次に ~/.config/mcp/mcp.json(グローバル)または .mcp.json(プロジェクト単位)を編集:
{
"mcpServers": {
"twitter": {
"command": "/home/YOU/.local/bin/twikit-mcp",
"env": {
"TWITTER_COOKIES": "/home/YOU/.config/twitter-mcp/cookies.json"
},
"lifecycle": "lazy",
"directTools": [
"get_tweet",
"get_tweet_replies",
"search_tweets",
"get_user_info",
"get_user_tweets",
"get_timeline",
"get_trends"
]
}
}
}
directTools の 7 つはネイティブツールとして登録され、残り 55 は 1 つのプロキシツールの背後で必要時に発見されます。command は絶対パスで書いてください — Pi のサブプロセス環境の PATH に ~/.local/bin が入っているとは限りません。
Pi の MCP 拡張はいずれもコミュニティ製で公式ではなく、あなたのフルシステム権限で動きます。cookie のパスを預ける前にソースを確認してください。
DeepSeek Harness(dsh)¶
DeepSeek Harness は公式の MCP クライアント(@deepseek-ai/dsh-mcp-client)を同梱しているため、コミュニティ拡張は不要です。設定は mcpServers マップではなく、cordis.yml のプラグインエントリとして書きます:
- id: mcp-twitter
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: twitter
transport: stdio
command: twikit-mcp
env:
TWITTER_COOKIES: /home/YOU/.config/twitter-mcp/cookies.json
serverName がツール名の名前空間になり、モデルからは mcp__twitter__get_tweet や mcp__twitter__search_tweets として見えます。
Pi と違い、dsh にはツールの許可リストがありません — 62 ツールすべてが登録され、一部だけを公開する公式な方法はないため、コンテキストの余裕を見込んでおいてください。
知っておくと便利なオプション:failOnStartupError: true は cookie パスの誤りを黙って握りつぶさず起動時に失敗させます。toolCallTimeoutMs(既定 60000)は重い読み取りに大きな count を渡す場合に引き上げる価値があります。reconnect グループ(enabled、initialDelayMs、maxDelayMs、maxAttempts)は再接続の挙動を制御します —— dsh は倍々のバックオフで再試行し、maxAttempts 回連続で失敗するとその server のツールを登録解除、接続が安定すると回数をリセットします。
複数インスタンスを動かす場合、serverName は必ず別々にしてください:稼働中のインスタンス間で重複すると、後から読み込まれたプラグインが load 時に失敗します。
dsh は developer preview であり設定の形が変わる可能性があります。上記のキーが合わなくなっていたらプラグインの README を確認してください。
その他の MCP クライアント¶
twikit-mcp は標準的な stdio MCP サーバーです。クライアントの設定ファイルがどんな形でも、JSON の形は同じ:
{
"mcpServers": {
"twitter": {
"command": "twikit-mcp",
"env": {
"TWITTER_COOKIES": "/home/YOU/.config/twitter-mcp/cookies.json"
}
}
}
}
クライアントによっては mcpServers ではなく mcp.servers を使ったり、別のトップレベル key の中にネストすることもあります — クライアントのドキュメントを確認してください。command と env フィールドはどこでも共通です。
動作確認¶
クライアントで質問してみる:
AI 関連のツイートを検索して
エージェントが search_tweets を呼び結果を返せば OK。権限エラーが出たら cookies.json のパスが間違っているはず — 上の JSON の TWITTER_COOKIES を再確認。
アップグレード¶
完了 — 次回クライアント起動時に新しいバイナリが使われます。