Skip to main content
Glama

X Signal — ChatGPTとCodex向けのX (Twitter)リサーチ

CI MIT License

X Signalを使うと、ChatGPTやCodexが、あなたがすでに使っているアカウントを通じてXをリサーチできます。通常の質問をするだけで、TopとLatestの検索、スレッドの追跡、フィードの比較、アカウントの発見、回答の根拠となった投稿へのリンクが可能です。

X Signalのサービス、ブラウザ、保存されたリサーチは、Docker上でお使いのコンピューター内で実行されます。Xセッションは永続的なブラウザプロファイルに保存されます。X Signalは読み取り専用で、投稿、いいね、フォロー、メッセージ送信は行いません。ローカル利用にはOpenAIやXのAPIキーは不要です。ChatGPT webでは、後述するOpenAIのオプションのSecure MCP Tunnelトランスポートを使用します。

X Signalを使って、今週開発者がローカル音声エージェントについて何を言っているかをリサーチしましょう。TopとLatestを確認し、役に立つスレッドを追跡し、重要な投稿へのリンクを張ってください。

インストール · ChatGPTまたはCodexに接続 · 動作例 · 仕組み

リサーチできるもの

  • Top、Latest、Mediaの検索を複数まとめて実行でき、日付、言語、アカウント、エンゲージメント、コンテンツのフィルターに対応します。

  • 正確なFollowing、For You、ブックマーク、ユーザー、リスト、コミュニティのタイムラインを読み取ります。

  • 投稿を開いて、著者のスレッドを再構成し、リプライと引用投稿を分離できます。

  • 人や組織を検索し、そのタイムラインを読むことができます。

  • 長い検索を実行し続け、保存された結果を確認し、有用な部分をさらに掘り下げられます。

  • トピックやフィードを長期的に監視し、結果をMarkdown、CSV、JSON、NDJSONとしてエクスポートできます。

モデルは検索範囲をどの程度広げるかを選択し、回答に役立つ場合は直接参照を使用します。

Related MCP server: TwitterAPI.io MCP Server

インストール

必要なもの:

  • Docker Engine 25.0以降とDocker Compose 2.20.2以降。WindowsとmacOSでは通常Docker Desktopを利用します。WindowsではLinuxコンテナを使用してください。

  • Xアカウント。

  • Chromeは、専用のChromeプロファイルから自動セッション同期を行いたい場合のみ必要です。

  • Node.js 24.19以降は、ChatGPTトンネルのセットアップ、テスト、MCP Inspector、バックアップ/リストア、stdioでのみ必要です。

リポジトリをクローンして、そのフォルダを開きます:

git clone https://github.com/anotb/x-signal.git
cd x-signal

最新のソースをZIPとしてダウンロードすることもできます。

コーディングエージェントにセットアップさせる

Codexや他のコーディングエージェントがターミナルを使える場合は、次の指示を与えてください:

このリポジトリからX Signalを私のコンピューターにセットアップしてください。まずOSを検出し、前提条件を確認してください。すべてのサービスはデフォルトのループバックポートに保ってください。Docker Composeスタックを起動し、healthyになるまで待って、/healthzと/readyzを確認してください。私のローカルのCodexクライアントをhttp://127.0.0.1:7345/mcpに接続してください。Cookie、セッショントークン、APIキー、パスワードをチャットに貼り付けさせないでください。Xのサインインは、専用のChromeプロファイルのセッションコンパニオンか、ローカルのnoVNCブラウザのどちらかで案内してください。Xのチャレンジを回避しないでください。ChatGPT webのサポートを私が求めた場合は、リポジトリのchatgpt Secure MCP Tunnelプロファイルを使用し、トンネルIDと制限付きランタイムキーを非表示のローカルセットアッププロンプトに直接入力させてください。ポート7345を公開したり、シェル出力に資格情報を出力したりしないでください。私の操作が必要な手順があれば教えてください。

リポジトリにはコーディングエージェント向けの手順も含まれています。

Windows

Copy-Item .env.example .env
docker compose up -d --build --wait
Invoke-RestMethod http://127.0.0.1:7345/readyz

macOSまたはLinux

cp .env.example .env
docker compose up -d --build --wait
curl -fsS http://127.0.0.1:7345/readyz

両方のサービスがdocker compose psでhealthyと表示されるはずです。

Xにサインイン

推奨:専用のChromeプロファイルを使用する

これにより、リサーチ用アカウントを、日常で使うXアカウントから分離できます。

  1. Chromeプロファイルを作成し、X Signalで使用したいXアカウントにサインインします。

  2. chrome://extensionsを開き、デベロッパーモードを有効にして、パッケージ化されていない拡張機能を読み込むを選択します。

  3. このリポジトリからextensions/x-signal-session-companionを選択します。

  4. 拡張機能を開き、プロファイルにわかりやすい名前を付け、自動同期をオンのままにして、このプロファイルを使用を一度クリックします。

セッションは、そのChromeプロファイルの起動時、プロファイルが開いている間は5分ごと、XのCookieが変更されたときに更新されます。Dockerは、更新の合間や再起動をまたいで、独自のサインイン済みコピーを保持します。他のChromeプロファイルが選択中のアカウントを静かに置き換えることはできません。

アカウントの切り替えと1回限りの転送については、セッションコンパニオンガイドを参照してください。

またはDocker内でサインインする

ローカルブラウザを開いて、Xに一度サインインします。生成されたVNCパスワードをクリップボードにコピーします:

# Windows
docker compose exec -T browser sh -lc 'cat /data/.vnc/password.txt' | Set-Clipboard
# macOS
docker compose exec -T browser sh -lc 'cat /data/.vnc/password.txt' | pbcopy

Linuxでは、同じコマンドをデスクトップのクリップボードツールにパイプします:Waylandではwl-copy、X11ではxclip -selection clipboard。

ブラウザプロファイルはxsignal_browserDockerボリュームに保持されます。

ChatGPTまたはCodexに接続

Codex

CodexデスクトップアプリまたはIDE拡張機能で、設定 → MCPサーバーを開き、Streamable HTTPサーバーを追加して、次を使用します:

http://127.0.0.1:7345/mcp

または、~/.codex/config.tomlにこれを追加します:

[mcp_servers.x-signal]
url = "http://127.0.0.1:7345/mcp"
tool_timeout_sec = 900

保存後、クライアントを再起動します。長めのホストタイムアウトは、深いフィード読み取り用です。広範な検索は永続的なジョブを使用するため、最初からやり直すことなくポーリングできます。CodexのMCPドキュメントには、共有デスクトップ、CLI、IDEの設定が記載されています。

このリポジトリは、4つのオプションスキルを持つローカルCodexプラグインでもあります。プラグインには同じMCP接続が同梱されているため、サーバーを2回追加する代わりにプラグインをインストールしてください。クライアントのセットアップを参照してください。

ChatGPT web

ChatGPTはlocalhostに直接アクセスできません。X Signalは、オプションの管理対象ComposeサービスとしてOpenAIのSecure MCP Tunnelを含んでいます。これによりMCPサーバーをプライベートに保ち、接続に安定したIDを付与し、Dockerやマシンの再起動後に再接続します。

  1. プラットフォームのトンネル設定でトンネルを作成し、それを使用するChatGPTワークスペースを関連付けます。

  2. 専用のランタイムAPIキーを作成します。Restrictedの下で、Tunnels → Read, Useのみを許可します。

  3. ローカルセットアップコマンドを実行し、プロンプトが表示されたらトンネルIDとキーを入力します。キーの入力は非表示です。両方の値は、無視されるローカルファイルにのみ保存されます。

npm run tunnel:secure:configure
docker compose --profile chatgpt up -d --build --wait
  1. ChatGPTで設定 → セキュリティとログインを開き、開発者モードをオンにします。

  2. プラグインを開き、プラスボタンを選択して、X Signalという名前のアプリを作成します。

  3. トンネルを選択し、トンネルを選択して、検出されたツールを確認し、アプリを作成します。

  4. 新しいチャットのツールメニューからX Signalを追加します。

ランタイムキーはプライベートトンネルトランスポートの認証のみに使用されます。X Signalはこれを使ってOpenAIモデルを呼び出しません。また、ローカルのCodex利用には依然としてOpenAIキーは不要です。Dockerが動作している間、トンネルは利用可能です。docker compose --profile chatgpt psとそのローカル準備完了ページで状態を確認できます。

開発者モードとトンネルアクセスは、アカウントとワークスペースのポリシーに依存します。OpenAIのSecure MCP Tunnelガイドと詳細なクライアントのセットアップを参照してください。

動作例

これは、実際のX Signalの検索から得られたChatGPTの回答です。リクエストは意図的にシンプルにしました。ChatGPTは広範なTop + Latestスキャンを選択し、約100件の最近の投稿をまとめ、参考になった根拠にリンクしました。

X Signalを使って、Xで今オープンソースAIエージェントについて何が起こっているかを確認してください。

このキャプチャは公開検索結果のみを示しており、アカウント、セッション、非公開フィードのデータを除外するよう確認済みです。2つ目の別のリサーチタスクについては、ライブ例を参照してください。

試すプロンプト

  • 「この企業について今日Xで何が起きていますか?複数の角度から確認し、確認済み、論争中、単に繰り返されているだけのものを教えてください。」

  • 「開発者がこの2つの製品についてこの7日間でどのように議論しているかを比較してください。公式発表と実機レポートを分けてください。」

  • 「このトピックに関する重要なアカウントを見つけ、彼らが対立している主張をリサーチしてください。」

  • 「今朝の私のFollowingフィードをそのまま読み、役に立つリプライを残し、時間をかける価値のある5つの項目の背後にあるスレッドを開いてください。」

  • 「この投稿を読み、著者のスレッドを再構成し、支持するリプライと引用投稿の反論を分けてください。」

  • 「このトピックの毎日のモニターを作成し、最新の変更をMarkdownとしてエクスポートしてください。」

仕組み

flowchart LR
  C["ChatGPT or Codex"] -->|"MCP"| A["X Signal"]
  A --> B["persistent Chromium"]
  B -->|"read-only"| X["X"]
  A --> D["saved research"]
  B --> P["signed-in browser profile"]

デフォルトのComposeスタックには、小さなNode/SQLiteアプリとインタラクティブなChromiumサイドカーの2つのサービスがあります。オプションのchatgptプロファイルは、OpenAIの固定トンネルクライアントを追加します。検索は、制限付きの同時実行数、リクエスト間隔、キャッシュ、適応型バックオフを備えた1つの永続ブラウザを使用します。保存されたジョブ、証拠、ブラウザプロファイルは再起動後も保持されます。

プライバシーと制限

アプリ、ブラウザデバッガー、noVNCは、デフォルトでlocalhostにバインドされます。ブラウザボリュームとバックアップには再利用可能なサインイン状態が含まれるため、パスワードと同様に扱ってください。正規化された結果は、ツールを呼び出したときに選択したChatGPT、Codex、またはMCPクライアントに送信されます。Xのチャレンジでは、ローカルブラウザでの表示可能なサインインが必要です。X Signalはそれを回避しません。

X Signalは、あなたが管理するアカウントのための独立したリサーチツールです。XやOpenAIとは提携しておらず、XのAPI、認証、アクセス制御、チャレンジ、レート制限、その他の保護手段を回避することを意図したものではありません。アカウントがアクセスできるコンテンツにのみ使用し、Xの利用規約に従ってください。

プロジェクトドキュメント

X SignalはMITライセンスの下で利用できます。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to search X posts and read user timelines without API costs, using cookie authentication.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI agents and coding assistants with Twitter data access including tweets, user profiles, followers, and search functionality.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables real-time search of X (Twitter) posts, user timelines, and trends using either xAI's Responses API or the official X API v2.
    4
    -
  • A
    license
    C
    quality
    B
    maintenance
    Enables AI agents to search, read user profiles, timelines, media, follow threads, track trends, and manage accounts on X/Twitter via GraphQL, without browser automation or paid API keys.
    100
    11
    MIT