我今天把 X 官方 MCP 配了一遍。
对我来说,最值的地方是书签整理。以后不用一条条翻 Twitter 书签,可以让 Codex 直接拉最近几天的 bookmarks,再按主题整理。写选题、做信息简报、追一个账号最近在聊什么,都会省很多时间。
不过它不是装个插件就能用。你得先进 X Developer Console,创建 App,打开 Pay Per Use,配 OAuth,再把 Client ID 和 Client Secret 写到本机配置文件里。
下面是我这次完整跑下来的流程。
先分清楚两个 MCP
X 官方现在提供两类 MCP:
https://docs.x.com/mcp:文档 MCP。只能查 X API 文档,不读取你的账号数据。https://api.x.com/mcp:真实 X API MCP。可以读取帖子、用户、书签、趋势、新闻等,需要走 OAuth 授权。
实际读书签、搜帖子,用的是第二个。官方推荐的做法是让 xurl mcp 当本地桥接:Codex 先连本机的 xurl,xurl 再带着 OAuth token 去访问 https://api.x.com/mcp。
官方文档参考:
- X MCP 文档 (https://docs.x.com/tools/mcp)
- Full route: xurl bridge (https://docs.x.com/tools/mcp#full-route-xurl-bridge)
一、进入 X Developer Console
打开 X Developer Console:
打开后会先出现这个加载页:

进入当前账号的 Apps 页面。Pay Per Use 项目下的 App 会列在这里。

我的账号下面已经有一个 active 的 App。后面要拿的 OAuth 2.0 Key,就从这个 App 进去。
二、创建或进入一个 App
如果还没有 App,就点击 Create App。
如果已经有 App,直接点进现有 App 即可。
这次配置使用的是已有 App:
App ID:
从 Apps 页面点进 App,先到 Keys & Tokens:

这一页最容易看乱。对这次配置来说,先知道这几块就行:
App-Only Authentication:App-only 的 Bearer Token。OAuth 1.0 Keys:OAuth 1.0a 相关 Key。OAuth 2.0 Keys:这次配置 X MCP 主要看这一块。
在 OAuth 2.0 Keys 区域点 Edit settings,进入 User authentication settings。
三、设置 OAuth 2.0
如果还没配过,按钮会显示 Set up。已经配过的话,点 Edit。
这一页先照着填:
先把 App permissions 选成 Read,再把 Type of App 选成 Web App, Automated App or Bot:

继续往下滚动,在 App info 里填 callback 和网站地址:

这几个选项别乱改。
权限选 Read,因为这次只是读取书签、帖子和用户信息,不需要让 AI 替你发帖。App 类型选 Web App, Automated App or Bot,因为 xurl bridge 需要 OAuth 2.0 client,后面会用到 Client ID 和 Client Secret。
callback 用 http://localhost:8080/callback。这是 xurl 第一次走浏览器授权时默认接收回调的地址。
四、保存:先管 Secret,别急着截图
点击 Save Changes 之后,X 会弹出一个窗口:
窗口里会给你两段东西:
这里我卡了一下。Client Secret 只完整显示一次,弹窗关掉以后就看不到了。所以别急着截图,先复制,先保存,再做别的。
Client Secret只显示一次。- 复制后立刻保存到本机安全位置。
- 不要放在公众号教程截图里。
- 不要提交到 Git 仓库。
- 如果怀疑泄露,就在 X Developer Console 里重新生成。
保存完成后,回到 Keys & Tokens 页面。下面这张图里的 Client ID 已经做了遮挡,Client Secret 也保持隐藏状态:

本机保存位置:
文件权限:
内容格式长这样。文章里只放占位符,不放真实值:
五、在 Codex 里添加 X MCP
Codex 配置文件:
我这次加了两个 MCP:
其中:
xapi:真实 X API MCP,用来读取 X 数据。x-docs:X 文档 MCP,用来查官方文档。
本地启动脚本:
脚本内容:
这个脚本只做三件事:
- 读取
~/.xurl.env里的CLIENT_ID、CLIENT_SECRET、REDIRECT_URI。 - 如果本机已经安装了
xurl,直接用本机版本。 - 如果没有安装,就通过
npx @xdevplatform/xurl临时启动。
六、验证当前机器配置
本机已经验证过这几项:

我用的验证命令:
输出类似这样:
七、第一次使用时授权
第一次调用 xapi MCP 时,xurl 会打开浏览器,让你授权 X 账号。
页面上会出现类似这样的按钮或标题:
确认授权后,xurl 会把 token 缓存在本机。之后 Codex 调 X MCP 时,xurl 会自动带上新的 Bearer token。
- 如果是在远程机器或没有浏览器的环境,需要用官方文档里的 headless 模式。
- 本机 Codex 桌面环境通常直接走浏览器授权即可。
八、如何确认 X MCP 已经能用
重启或刷新 Codex 会话后,新的 xapi MCP 才会加载出来。
加载成功后,可以直接这样问:
如果只看到 x-docs,没有看到 xapi,说明当前 Codex 会话还没加载新配置。处理方式很简单:
九、常见问题
1. 为什么不能只填 Bearer Token?
Bearer Token 通常是 App-only。
读取你的书签这类个人数据,需要 user-context,也就是你自己的 X 账号授权。xurl bridge 处理的就是这件事。
2. 为什么 callback 必须是 localhost?
因为授权发生在本机:浏览器登录 X,X 把授权结果回跳到本机的 http://localhost:8080/callback,xurl 接住这个结果并换取 token。
3. 为什么不要给 Read and write?
能读就不要给写。
如果只是整理信息、分析书签、总结帖子,Read 权限够用。写权限意味着 AI 工具理论上可以替你发帖、改书签或做其他写入动作。
4. 为什么需要付费?
你使用的是 X Developer Platform 的 Pay Per Use 项目。调用 X API 会按 X 当前价格计费,具体价格以 X Developer Console 的 Billing / Usage 为准。
5. 为什么当前会话还不能直接拉数据?
这次是运行中修改了 Codex 的 MCP 配置。
当前会话已经能用 x-docs 查文档,但新加的 xapi 数据 MCP 通常要重启 Codex 或新开会话后才会出现。
十、最后检查一下
这次已经做完的部分:
- X Developer Console 里保存了 OAuth 2.0 设置。
- App 权限保持为
Read。 - App 类型设置为
Web App, Automated App or Bot。 - Callback URI 设置为
http://localhost:8080/callback。 - Website URL 设置为
https://x.com/yiancode。 - 已复制并保存
Client ID和Client Secret到本机~/.xurl.env。 - 已添加 Codex MCP 配置:
xapi和x-docs。 - 已验证
@xdevplatform/xurl可运行,版本为1.2.2。
还剩两件事:
- 重启 Codex 或新开会话后,确认
xapiMCP 工具出现。 - 第一次调用
xapi时完成浏览器 OAuth 授权。

