不再手动刷 X(推特):用 Codex + X MCP 追踪 AI 大佬动态
1. 我为什么要把 X 接进 Codex
我接入 X MCP 的原因很直接:我想持续关注 X 上真正值得看的 AI 动态。
比如 Andrew Ng、Andrej Karpathy、田渊栋,以及一些长期输出高质量 AI、工程、科研和产品观点的人。
以前的方式很低效:打开 X,刷时间线,看到几条好内容,收藏一下,然后很快又被新的推荐流冲走。真正有价值的信息,经常夹在热点、转发、争论和噪声里。
我真正想要的不是“多刷一会儿推”,而是这些问题的答案:
- Andrew Ng 最近有没有谈 AI Agent、AI 教育或者应用落地?
- Karpathy 最近有没有提到 LLM、编程、学习路径或者 AI 工具?
- 田渊栋最近对模型推理、强化学习、Agent 有什么新观点?
- 这些人对同一个方向的判断有没有共同点和分歧?
- 哪些内容值得进入我的 Obsidian、文章选题或者学习计划?
这些事情,如果靠人肉刷信息流,很累。
但如果把 X 接进 Codex,X 就不只是一个社交平台,而变成了一个可被 Agent 调用的数据源。
Codex 可以按你的问题去查、筛选、汇总、比较和整理。你不再只是“刷 X”,而是在构建自己的 AI 动态雷达。
2. 接入 X MCP 之后能做什么
X 官方提供了 MCP server,核心入口是:
- X API MCP:
https://api.x.com/mcp - X Docs MCP:
https://docs.x.com/mcp
前者用于访问 X API,后者用于查询 X API 官方文档。
接入之后,你可以让 Codex 做很多原来需要手动完成的事情。
2.1 按人追踪观点
例如:
查一下 Karpathy 最近 7 天关于 LLM 和编程的帖子,总结成 5 条要点。帮我看 Andrew Ng 最近有没有谈 AI Agent,把相关内容整理成中文摘要。2.2 按主题追踪趋势
例如:
搜索最近一周 X 上关于 AI Agent、Computer Use、Code Agent 的高质量讨论,按主题聚类。2.3 比较不同人的判断
例如:
比较 Andrew Ng、Karpathy、田渊栋 最近对 AI Agent 的看法,有没有共同点和分歧。但这里要注意:这类问题不一定只能通过 X 回答。博客、访谈、论文、课程、新闻和个人知识库都可能是来源。X 只是其中一个高价值数据源,不应该变成所有问题的默认来源。
这一点后面会单独讲成本控制。
2.4 把收藏变成素材库
例如:
把我最近收藏的 X 帖子按主题分类:模型、Agent、产品、创业、学习。从我最近收藏的帖子里整理 10 个可以写成文章的选题。2.5 形成个人 AI 信息工作流
更理想的状态是:
这才是我觉得 X MCP 最有价值的地方:它不是让你更频繁地刷 X,而是让你把高噪声信息流接进自己的工作流。
3. 先说清楚:接入 X MCP 不等于默认调用 X
这个点非常重要。
接入 X MCP 之后,Codex 拥有了访问 X 的能力,但这不代表每个问题都应该调用 X。
比如这句:
帮我比较 Andrew Ng、Karpathy、田渊栋 最近对 AI Agent 的看法,有没有共同点和分歧。这件事可以有很多来源:
- X 帖子
- 个人博客
- YouTube 访谈
- 课程和演讲
- 论文和技术报告
- 新闻报道
- 你自己的知识库
我是在充值之后才更明显地意识到这一点的:X API 不是一个可以随便当搜索引擎刷的免费入口。它有额度、计费、充值和使用量页面,一旦 Agent 在没有边界的情况下频繁查询,成本会很快失控。
这和 Codex 的使用体验很像。Codex 也有自己的使用量页面,你会开始意识到:Agent 能力越强,越需要把“什么时候调用昂贵工具”设计清楚。
如果每次都直接调用 X API,不仅成本不可控,也可能让答案来源变窄。
我的建议是:把 X MCP 当成“按需调用的数据源”,不要当成默认搜索引擎。
更安全的提示词可以这样写:
先不要调用 X MCP。请先基于公开网页和已有资料分析这个问题。 如果你认为必须查 X,请先说明预计调用哪些 X 工具、为什么需要调用、可能产生什么成本,等我确认后再查。或者更直接一点:
只有当我明确说“用 X 查”时,才调用 xapi-oauth。对于可能产生费用的 API,我建议采用这个原则:
先计划,再确认,后调用。4. 两种接入方式:Bearer Token 和 OAuth2
X MCP 常见有两种接入方式。
4.1 App-only Bearer Token
这种方式相对简单。你在 X Developer Portal 里生成 Bearer Token,然后在 Codex MCP 配置里引用环境变量。
它适合一些只读场景,但没有用户上下文,不能代表你的账号操作。
4.2 OAuth 2.0 User Context
这种方式需要创建 X Developer App,开启 OAuth 2.0,然后通过xurl完成浏览器授权。
授权成功后,Codex 通过xurl mcpbridge 访问 X API。这样它可以在你的授权范围内读取账号相关数据,例如你的 bookmarks。
如果你只是试一下,Bearer Token 可以先用。
如果你想构建个人 AI 动态雷达,我更建议走 OAuth 2.0。
5. 准备工作
你需要准备:
- 一个 X 账号
- 一个 X Developer account
- 一个 X Developer App
- Node.js 和
npx - Codex Desktop 或其他支持 MCP 的客户端
注意:X Developer account 不是重新注册一个 X 账号,而是在你的 X 账号下开通开发者能力。
6. 创建 X Developer App
进入 X Developer Portal:
https://developer.x.com/创建 Project 和 App。
如果页面要求填写 use case,可以写清楚你是个人使用,用于 AI 辅助的信息检索、阅读总结和书签管理,不转售数据,不做监控,不共享敏感信息。
可以参考下面这段:
I will use the X API for personal AI-assisted workflow automation through an MCP-compatible client. The app will access my own authorized X account to search and read public posts, look up users, trends, and documentation, and optionally manage my own bookmarks or draft articles after explicit authorization. I will not resell X data, redistribute API data, build surveillance tools, or store more data than needed for my personal workflow.7. 开启 OAuth 2.0
进入 App 的Keys & Tokens页面,找到:
User authentication settings点击Set up。
推荐配置:
- App permissions:
Read and write - Request email from users:关闭
- Type of App:
Web App, Automated App or Bot - Callback URI / Redirect URL:
http://localhost:8080/callback - Website URL:填写你自己的站点;没有的话先填一个你控制的 HTTPS 页面
这里最容易混淆的是 OAuth 1.0 和 OAuth 2.0。
本次我们走的是 OAuth 2.0,所以重点是:
Client IDClient Secret
不要把Client Secret发给别人,也不要提交到 Git 仓库。
8. 在本机设置环境变量
在 Windows PowerShell 中执行:
[Environment]::SetEnvironmentVariable("CLIENT_ID","你的OAuth2_Client_ID","User")[Environment]::SetEnvironmentVariable("CLIENT_SECRET","你的OAuth2_Client_Secret","User")验证是否设置成功时,不要打印明文,只看长度即可:
foreach($namein"CLIENT_ID","CLIENT_SECRET"){$v=[Environment]::GetEnvironmentVariable($name,"User")if([string]::IsNullOrEmpty($v)){"$name=EMPTY"}else{"$name=SET length=$($v.Length)"}}9. 用 xurl 完成本机授权
先确认xurl能启动:
npx.cmd-y @xdevplatform/xurl--help把你的 OAuth2 App 注册到本机xurl:
$cid=[Environment]::GetEnvironmentVariable("CLIENT_ID","User")$sec=[Environment]::GetEnvironmentVariable("CLIENT_SECRET","User")npx.cmd-y @xdevplatform/xurl auth apps add codex-x--client-id$cid--client-secret$sec设置默认 App:
npx.cmd-y @xdevplatform/xurl auth default codex-x执行 OAuth2 授权:
npx.cmd-y @xdevplatform/xurl auth oauth2--app codex-x这一步会打开浏览器,让你登录并授权 X App。
授权成功后,验证账号:
npx.cmd-y @xdevplatform/xurl whoami如果能返回你的 X 账号信息,说明 OAuth2 已经打通。
10. 写入 Codex MCP 配置
打开 Codex 全局配置文件:
C:\Users\<你的用户名>\.codex\config.toml加入:
[mcp_servers."xapi-oauth"] command = "npx.cmd" args = ["-y", "@xdevplatform/xurl", "mcp", "https://api.x.com/mcp"] startup_timeout_sec = 300如果你还想让 Codex 查询 X API 官方文档,可以加:
[mcp_servers.x-docs] url = "https://docs.x.com/mcp"然后完全退出 Codex,重新打开。
新线程里就应该可以加载 X MCP 工具。
11. 成本控制:建议默认不要自动使用 X MCP
接入成功后,我建议你不要把xapi-oauth当成默认信息源。
这不是保守,而是必要的工程边界。
当一个 Agent 可以调用 X API 时,它可能会为了回答一个“最近怎么看”的问题,去查多个账号、多个关键词、多个时间窗口。如果你没有提前限定范围,它一次任务可能就会变成很多次 API 请求。
尤其是 X API 本身并不便宜。充值页面和 usage 页面会让这个问题变得很直观:这不是“多点几次搜索”那么简单,而是在消耗真实额度。
所以接入之后,我建议先把它当成高价值数据源,而不是默认搜索引擎。
如果你担心费用,可以在配置里先禁用:
[mcp_servers."xapi-oauth"] command = "npx.cmd" args = ["-y", "@xdevplatform/xurl", "mcp", "https://api.x.com/mcp"] startup_timeout_sec = 300 enabled = false需要用的时候再改成:
enabled = true或者你保留x-docs常开,只把真正会调用 X API 的xapi-oauth按需开启。
更推荐的使用方式是,在提示词里明确边界:
这次可以调用 xapi-oauth,但请先列出你要查哪些账号、预计查几次、为什么必须查 X,等我确认后再执行。这样可以避免“问题一涉及最近动态就自动查 X”的情况。
我更推荐给自己定一套调用规则:
- 默认不用 X。
- 只有明确说“用 X 查”时才调用。
- 每次调用前先列出要查的账号、关键词和时间范围。
- 优先查少量高价值账号,而不是全网搜索。
- 先查最近 7 天或 30 天,不要默认拉很长时间窗口。
- 查完后把结果沉淀到本地笔记,避免重复查询。
- 对写操作保持人工确认,比如发帖、收藏、取消收藏、发布 Article。
对我来说,比较合理的提示词是:
这次可以调用 xapi-oauth。 请只查询 Andrew Ng、Karpathy、田渊栋 这三个账号最近 7 天关于 AI Agent 的内容。 先列出你的查询计划和预计调用范围,等我确认后再执行。如果只是做背景分析,可以这样写:
先不要调用 X MCP。 请先基于公开网页、博客、论文和已有知识做分析。 如果你认为必须查 X,再说明原因并等待确认。这套规则的核心不是省钱本身,而是让 Agent 的工具调用变得可控。
能调用工具,不代表应该立刻调用工具。
12. 常见问题
12.1 我看到 OAuth 1.0 Keys,要用它吗?
这次不用。
xurl mcp完整路线用的是 OAuth 2.0 的Client ID和Client Secret。
12.2 Callback URL 应该填什么?
填:
http://localhost:8080/callback不要漏掉/callback。
12.3 Codex 里看不到 xapi-oauth 怎么办?
先确认config.toml是否显式写入:
[mcp_servers."xapi-oauth"] command = "npx.cmd" args = ["-y", "@xdevplatform/xurl", "mcp", "https://api.x.com/mcp"] startup_timeout_sec = 300然后完全退出 Codex,再重新打开。
12.4 npx 下载失败怎么办?
先单独测试:
npx.cmd-y @xdevplatform/xurl--help如果这里失败,通常是 npm 缓存权限、网络、代理或镜像问题。
12.5 需要开启 Direct Message 权限吗?
不建议。
除非你明确要让 Agent 读写私信,否则不要开 DM 权限。
13. 我会怎么用它
我的目标不是让 Agent 自动发推,而是让它替我追踪高价值信息源。
我会维护一个关注名单,比如:
- Andrew Ng
- Andrej Karpathy
- 田渊栋
- 一些 AI Infra、Agent、模型训练、AI 产品方向的高质量账号
然后按需让 Codex 查:
用 X 查一下这些账号最近 7 天关于 AI Agent 的帖子,按观点聚类,并标出最值得深读的 5 条。用 X 查 Karpathy 最近有没有提到编程、教育、LLM、AI 工具,把相关帖子整理成中文摘要。用 X 查 Andrew Ng 和田渊栋最近对 AI 应用落地与模型能力边界的观点差异。注意,我会明确说“用 X 查”。如果我没有明确指定,就让 Codex 先用其他低成本来源分析。
这才是我认为更合理的 Agent 工作方式:
- X 是数据源。
- Codex 是编排者。
- 人负责目标、判断和最后决策。
14. 总结
Codex 接入 X MCP 后,最大的价值不是“多了一个 API 工具”,而是你可以把高噪声的信息流接入自己的 AI 工作流。
以前你靠手动刷推关注 AI 动态。
现在你可以让 Agent 按目标去查、筛选、比较和总结。
但它也带来一个新问题:成本和调用边界。
所以我的建议是:
- 接入 X MCP。
- 但不要默认调用 X MCP。
- 对 X API 这种可能产生费用的数据源,采用“先计划、再确认、后调用”。
- 把它用于真正需要 X 当前信息的任务。
这样,X 就不再只是时间线。
它会变成你的个人 AI 动态雷达。
参考资料
- X 官方 MCP 文档:https://docs.x.com/tools/mcp
- X OAuth 2.0 User Context 文档:https://docs.x.com/fundamentals/authentication/oauth-2-0/user-access-token