x-signal
X Signal — 面向 ChatGPT 和 Codex 的 X(Twitter)研究工具
X Signal 让 ChatGPT 或 Codex 通过你已有的账号研究 X。提出一个普通问题,它就能搜索 Top 和 Latest、追踪话题串、比较信息流、查找账号,并链接其答案所依据的帖子。
X Signal 服务、浏览器和已保存的研究都在你电脑上的 Docker 中运行。你的 X 会话存储在持久的浏览器配置文件中。X Signal 是只读的:它不会发帖、点赞、关注或发送消息。本地使用无需 OpenAI 或 X API 密钥。ChatGPT 网页版使用 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。
仅在进行 ChatGPT 隧道设置、测试、MCP Inspector、备份/恢复或 stdio 时才需要 Node.js 24.19 或更高版本。
克隆仓库并打开其文件夹:
git clone https://github.com/anotb/x-signal.git
cd x-signal你也可以以 ZIP 形式下载最新源码。
让编码代理来设置
如果 Codex 或其他编码代理可以使用你的终端,请给它以下内容:
在我的电脑上从该仓库设置 X Signal。先检测我的操作系统并检查前置条件。让所有服务保持默认的回环端口。启动 Docker Compose 服务栈,等待其变为 healthy,并验证
/healthz和/readyz。将我的本地 Codex 客户端连接到http://127.0.0.1:7345/mcp。绝不要让我在聊天中粘贴 cookie、会话令牌、API 密钥或密码。对于 X 登录,引导我使用专用 Chrome 配置文件中的会话伴侣或本地 noVNC 浏览器。不要绕过 X 的验证挑战。如果我要求 ChatGPT 网页版支持,请使用仓库的chatgptSecure MCP Tunnel 配置文件,并让我将其隧道 ID 和受限运行时密钥直接输入隐藏的本地设置提示中。绝不要暴露端口 7345,也不要在 shell 输出中放入任何凭据。当某个可见步骤需要我操作时告诉我。
该仓库还包含面向编码代理的说明。
Windows
Copy-Item .env.example .env
docker compose up -d --build --wait
Invoke-RestMethod http://127.0.0.1:7345/readyzmacOS 或 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 账号分开。
创建一个 Chrome 配置文件,并登录你想要 X Signal 使用的 X 账号。
打开
chrome://extensions,开启开发者模式,然后选择加载已解压的扩展程序。从该仓库中选择
extensions/x-signal-session-companion。打开扩展,为配置文件起一个易识别的名称,保持自动同步开启,然后点击一次使用此配置文件。
当该 Chrome 配置文件启动时会刷新会话,在其打开期间每五分钟刷新一次,并在其 X cookie 变化时刷新。Docker 在刷新之间和重启之后都会保留自己的已登录副本。其他 Chrome 配置文件无法静默替换所选账号。
关于切换账号和一次性转移,请参阅会话伴侣指南。
或在 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_browser Docker 卷中。
连接 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 配置。
该仓库也是一个本地 Codex 插件,包含四个可选技能。该插件捆绑了相同的 MCP 连接,因此请安装它,而不是重复添加服务器。请参阅客户端设置。
ChatGPT 网页版
ChatGPT 无法直接访问 localhost。X Signal 包含 OpenAI 的 Secure MCP Tunnel,作为一个可选的、受监督的 Compose 服务。它保持 MCP 服务器的私密性,为连接提供稳定的身份,并在 Docker 或机器重启后重新连接。
在平台隧道设置中,创建一个隧道,并关联将使用它的 ChatGPT 工作区。
创建一个专用的运行时 API 密钥。在受限下,仅授予隧道 → 读取、使用。
运行本地设置命令,并在提示时输入隧道 ID 和密钥。密钥输入是隐藏的;两个值仅保存在被忽略的本地文件中。
npm run tunnel:secure:configure
docker compose --profile chatgpt up -d --build --wait在 ChatGPT 中,打开设置 → 安全与登录,并开启开发者模式。
打开插件,选择加号按钮,并创建一个名为 X Signal 的应用。
选择隧道,选择该隧道,查看发现的工具,然后创建应用。
在新聊天中从工具菜单添加 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 代理目前的情况。
该截图仅显示公开搜索结果,并经过审查以排除账号、会话和私有信息流数据。关于第二个不同的研究任务,请参阅实时示例。
可以尝试的提示词
“这家公司今天在 X 上发生了什么?从多个角度查看,并告诉我哪些是已确认的、有争议的,或只是被重复传播的。”
“比较开发者过去七天对这两款产品的讨论。将第一方公告与上手体验报告区分开。”
“找到围绕这个话题的重要账号,然后研究他们存在分歧的主张。”
“读取我今天早上的精确 Following 信息流,保留有用的回复,并打开值得我花时间的五条内容背后的话题串。”
“阅读这条帖子,重建作者的话题串,并将支持性回复与引用帖中的反驳区分开。”
“为这个话题创建每日监控,并将最新变化导出为 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 边车。可选的 chatgpt 配置文件会添加 OpenAI 的固定版本隧道客户端。搜索使用一个持久化浏览器,具有有界并发、请求间隔、缓存和自适应退避。已存储的任务、证据和浏览器配置文件在重启后仍然保留。
隐私与限制
应用、浏览器调试器和 noVNC 默认绑定到 localhost。浏览器卷和备份包含可复用的登录状态,因此请像对待密码一样对待它们。规范化结果会在你选择的 ChatGPT、Codex 或 MCP 客户端调用工具时发送给它。X 的验证挑战需要通过本地浏览器进行可见的登录;X Signal 不会绕过它们。
X Signal 是一个面向你控制的账号的独立研究工具。它与 X 或 OpenAI 没有关联,也不旨在绕过 X 的 API、身份验证、访问控制、验证挑战、速率限制或其他安全措施。仅将其用于你的账号可以访问的内容,并遵守 X 的条款。
项目文档
X Signal 在 MIT License 下提供。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
X/Twitter reads, search, monitors and posting. Pay-per-call in USDC — no signup, no API keys.
Twitter/X read-only MCP server — 12 tools: search, users, tweets, followers, timelines, trends.
X (formerly Twitter) posts, profiles, and search for AI agents. Free key, self-minted, no signup.
Twitter (X) API alternative for AI agents: tweet search, profiles, followers. $0.0002 per result.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to search X posts and read user timelines without API costs, using cookie authentication.2MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI agents and coding assistants with Twitter data access including tweets, user profiles, followers, and search functionality.MIT
- FlicenseNot gradedqualityDmaintenanceEnables real-time search of X (Twitter) posts, user timelines, and trends using either xAI's Responses API or the official X API v2.4
- AlicenseBqualityAmaintenanceEnables 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.10010MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anotb/x-signal'
If you have feedback or need assistance with the MCP directory API, please join our Discord server