Codex CLI 自 0.44.0 版本起,正式支持 Streamable HTTP MCP servers

之前,在 Codex CLI 上使用 Serena MCP 时,我通过以下命令让其在启动时加载:
1 | [mcp_servers.serena] |
然而,这种方式的缺点是:每次启动或输入 /new 命令时,都需要等待 MCP 启动,这影响了操作的流畅性,因此,在 0.44.0 版本更新后,我便将 Serena MCP 的调用方式改为了 Streamable HTTP 模式,特此记录配置过程。
其实步骤很简单,首先我们需要下载Serena并运行
1 | https://github.com/oraios/serena.git |
之后我们修改 Codex
的config.toml文件,在顶层配置添加experimental_use_rmcp_client = true语句,然后把
Serena 的配置修改为
1 | [mcp_servers.serena] |
整体的配置如下,供参考
1 | model_provider = "cliproxyapi" |
完成配置后再次启动 Codex CLI,即可体验到流畅如初的启动过程

在Serena的控制台窗口也能看到Codex的请求

现在我们只需要启动一次 Serena,就能够一直给 Codex CLI 提供服务了
当然,目前的方案仍需手动启动 Serena,略有不便。为了实现一劳永逸,我们可以将其配置为开机自启动
我的运行环境为 WSL2,因此以下配置主要基于该环境。对于大多数 Linux 发行版,步骤也基本一致,可供参考
首现我们需要使用which uv命令来获取uv的具体位置,其输出的路径在后续编辑服务文件时将会用到,我这里是/home/hkfires/.local/bin/uv
然后我们需要创建目录(如果不存在)mkdir -p ~/.config/systemd/user/
再创建并编辑服务文件
nano ~/.config/systemd/user/serena.service,内容如下
1 | [Unit] |
保存之后运行以下命令
1 | # 启用服务,让它开机自启 |
可以看到 Serena 正常启动了

以后只要开启 WSL 实例,Serena 都会自动启动,至此,整个配置流程就算是全部完成了,收工~
最后附一个小技巧:
由于 Codex 不会自动激活
Serena,每次启动后都需要手动输入Activate the current dir as project using serena来激活,非常麻烦,这时,我们只需要在通过/init生成的AGENTS.md文件中加入以下提示词,就可以让
Codex 自动激活 Serena 了
1 | IMPORTANT: If `serena.activate_project` has not been called in the context, then call it once first. |