
Codex Mcp Bridge
io.github.hampsterx由 GitHub 账号 hampsterx 发布v0.9.1更新于 Oct 24, 2026
Wraps Codex CLI as MCP tools: codex, review, query, search, structured, ping, listSessions.
概览
将 Codex CLI 封装为 MCP 工具,让助手可以运行 Codex 提示、代码审查、网页搜索和符合 JSON Schema 的结构化输出。
- 可以做什么
- 把 Codex CLI 作为子进程启动并暴露为工具:codex 用于带文件上下文、会话恢复、沙箱级别和推理强度设置的通用提示;review 用于对未提交更改、基线分支或某次提交进行原生差异感知审查;search 用于返回来源链接的网页搜索;query 用于在隔离临时目录中做轻量文本分析;structured 用于经 JSON Schema 校验的输出;另有 ping、mcpStatus 和 listSessions 诊断工具。响应会附带耗时、模型和是否使用回退模型等执行元数据。
- 适用场景
- 当你的 MCP 客户端没有 shell 访问权限(Cursor、Windsurf、Claude Desktop、VS Code),但仍希望借助 Codex 做分析和审查时适用;也适合需要模式校验输出、超时部分捕获、配额耗尽时自动回退模型或多轮会话的场景。如果客户端本身有 shell,直接调用 Codex CLI 更快也更省。
- 运行要求
- 需要本地 Node.js 运行环境(npx codex-mcp-bridge)并安装 Codex CLI(例如通过 npm)。需要 OpenAI 凭据:环境变量 OPENAI_API_KEY,或已完成 codex auth login。可选环境变量:CODEX_CLI_PATH、CODEX_DEFAULT_MODEL、CODEX_FALLBACK_MODEL、CODEX_MAX_CONCURRENT、CODEX_MCP_SERVERS。仅支持桌面端;模型调用和网页搜索需要网络访问。
安装
在 SourceWeft 中
- 打开 控制台中的 Codex Mcp Bridge,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
codex-mcp-bridge
[npm version] [npm downloads] [CI] [License: MIT] [Node.js] [TypeScript] [MCP]
MCP server that wraps Codex CLI as a subprocess, exposing code execution, web search, and structured output as Model Context Protocol tools.
Works with any MCP client: Claude Code, Gemini CLI, Cursor, Windsurf, VS Code, or any tool that speaks MCP.
Do you need this?
If you're in a terminal agent (Claude Code, Codex CLI, Gemini CLI) with shell access, call Codex CLI directly. It's faster, cheaper, and zero overhead:
Use this MCP bridge instead when:
- Your client has no shell access (Cursor, Windsurf, Claude Desktop, VS Code)
- You need structured output with JSON Schema validation (Codex CLI's
--jsonhas known bugs) - You need partial response capture on timeout and automatic model fallback on quota exhaustion
- You want subprocess isolation: explicit env allowlist, no shell escape,
secret redaction on output, FIFO-queued concurrency (max 3 parallel spawns,
configurable via
CODEX_MAX_CONCURRENT) - You need multi-turn conversations via session resume (
sessionId/resetSession, inspected vialistSessions)
Worktree note: Codex CLI issue #9084
breaks codex -C /path review .... Run codex review from inside the worktree to avoid it.
Quick Start
Prerequisites
- Codex CLI installed (
npm i -g @openai/codex) OPENAI_API_KEYenvironment variable set, orcodex auth logincompleted
Claude Code
Gemini CLI
Add to ~/.gemini/settings.json:
Cursor / Windsurf / VS Code
Add to your MCP settings:
Tools
codex
General-purpose execution. Supports multi-turn conversations via sessionId, sandbox levels (read-only, workspace-write, full-auto), and reasoning effort control. Pass resetSession: true to discard and start fresh. Use listSessions to inspect active sessions before resuming.
Key parameters: prompt (required), files, model, sessionId, sandbox, reasoningEffort, workingDirectory, timeout (default 60s).
search
Web search powered by OpenAI's native search infrastructure via Codex CLI's --search flag. Returns synthesized answers with source URLs.
Key parameters: query (required), model, workingDirectory, timeout (default 120s).
query
Lightweight, non-agentic text analysis. Spawns in an isolated temp directory so the bridge's repo context doesn't leak. Pass text to analyze in the context parameter. Supports reasoningEffort and maxResponseLength.
Key parameters: prompt (required), context, model, reasoningEffort, timeout (default 60s).
review
Thin wrapper around Codex CLI's native diff-aware review. The bridge passes the diff selector to codex exec review --json; upstream Codex owns the review prompt. Requires a real git repository via workingDirectory.
Key parameters: mode (required: uncommitted, base, or commit), workingDirectory (required), base (required for base mode), commit (required for commit mode), title, model, timeout (default 180s).
structured
Embeds a JSON Schema in the prompt and validates the response with Ajv. Returns clean JSON on success, validation errors on failure.
Key parameters: prompt (required), schema (required, JSON string), files, model, workingDirectory, timeout (default 60s).
ping
No parameters. Returns CLI version, auth status, model configuration, and concurrency diagnostics (activeCount, queueDepth).
mcpStatus
Reports per-server MCP state as Codex's own app-server protocol sees it. Unlike every other tool, it deliberately does not suppress Codex's MCP servers or harden the subprocess environment, because both would disable the thing being measured. It therefore boots the servers in ~/.codex/config.toml and is slower than a normal call. With diagnostics: true and a workingDirectory inside a trusted project, the thread it starts also boots that project's .codex/config.toml servers.
Key parameters: diagnostics (default false), workingDirectory, timeout (per-request, default 90s).
Reading the output:
unknownis not a failure. It means the inventory carried no server info and no explicit verdict was available. Onlydiagnostics: truecan reportfailed.- A
degradedwarning means don't trustunknown. Slow calls have been observed reporting healthy servers as uninitialized, so the tool reports how long the underlying call took and flags the result when it was slow enough to be suspect. builtInmarks a server Codex injects that is not in your config;configuredButUnreportedmarks one in your config that Codex never mentioned.
Example:
All tools attach execution metadata (_meta) with durationMs, model, fallbackUsed, and session info where applicable. See DESIGN.md for details.
Code review with this CLI
This bridge does not bundle reviewer prompts. There are three paths for code review:
Native upstream codex review
Diff-aware review built into Codex CLI. No bridge involvement. Use this when your client has shell access.
Bridge review tool for native diff-aware review
The bridge runs codex exec review --json from workingDirectory, captures the final review text, and returns review metadata such as threadId, event counts, and redacted command output. It does not accept a prompt.
Bridge codex tool with caller-supplied prompt
The bridge runs codex exec --sandbox read-only with the supplied prompt and returns stdout. Use this for free-form review prompts or review inputs that are not expressible as uncommitted, base, or commit diff selectors.
Representative review prompt
A starting point; adapt freely:
The bridge has no opinion on prompt content. See ADR-001 for the rationale.
Configuration
Running the bridge against a second Codex account
CODEX_HOME is a complete identity switch: auth, config.toml, skills and
thread history all live under the root, so a second root is a second install.
Every tool call this bridge makes is machine traffic rather than a session
someone is sitting in front of, which makes it a good candidate for a work or
team seat while interactive codex keeps a personal one.
Set it in the server registration rather than the ambient shell, so the choice does not depend on which terminal launched the client:
Three things to know before you do:
- Log in as that root first, since a root is only as usable as its
credentials:
CODEX_HOME=/home/you/.codex-work codex login(orcodex login --with-api-key). Check it withCODEX_HOME=/home/you/.codex-work codex login status. - A JSON
envblock has no conditional. If that root loses its login, every subprocess the bridge spawns targets it anyway, with no fallback to the default root the way a shell wrapper could offer one. - Set
CODEX_DEFAULT_MODELalongside it. The bridge resolvesconfig.tomlfromCODEX_HOME, so a freshly created root has none and the model drops to the CLI default. That absence also makes most ofCODEX_MCP_SERVERSinert: with nothing configured there is nothing to disable, nothing to inherit and no name to enable, which is what the default setting wants anyway. The one mode it does not disarm is a raw TOML override (a value starting{or[), which is passed straight through as-c mcp_servers=...and never readsconfig.toml.
Choosing a Codex MCP server
Performance
Codex CLI has minimal startup overhead (<100ms), so wall time is dominated by model inference.
Default timeouts (60-300s) are comfortable for typical workloads.
Bridge family
Two MCP servers, same architecture, different underlying CLIs. Each wraps a terminal agent as a subprocess and exposes it as MCP tools. Pick the one that matches your model provider, or run both for cross-model workflows.
Both share: subprocess env isolation, path sandboxing, output redaction (secret stripping), FIFO concurrency queue, MCP tool annotations, _meta response metadata, progress heartbeats.
Development
Further reading
- DESIGN.md - Architecture, MCP server control grammar, sessions, output parsing, response metadata
- SECURITY.md - Environment isolation, path sandboxing, output redaction, resource limits
- CHANGELOG.md - Release history
License
MIT
来源:README.md,提交 bb14fad
工具
0版本历史
1- v0.9.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分