@normahq/codex-acp-bridge-darwin-arm64
v0.0.3
Published
@normahq/codex-acp-bridge binary for darwin/arm64
Downloads
352
Readme
codex-acp-bridge
codex-acp-bridge runs codex mcp-server and exposes it as an ACP agent over stdio.
Installation
Global install (distributed via npm):
npm install -g @normahq/codex-acp-bridge@latestOne-off run with npx (no global install):
npx @normahq/codex-acp-bridge@latestRun
codex-acp-bridgeExamples:
codex-acp-bridge
codex-acp-bridge --name team-codex
codex-acp-bridge --codex-model gpt-5.4 --codex-sandbox workspace-write
codex-acp-bridge --debugFlags
--name: ACP agent name override (default: MCP server name fromcodex mcp-serverinitialize metadata).--codex-model: model for MCPcodextool calls.--codex-sandbox: sandbox for MCPcodextool calls (read-only|workspace-write|danger-full-access).--codex-approval-policy: approval policy for MCPcodextool calls (untrusted|on-failure|on-request|never).--codex-profile: profile for MCPcodextool calls.--codex-base-instructions: base instructions for MCPcodextool calls.--codex-developer-instructions: developer instructions for MCPcodextool calls.--codex-compact-prompt: compact prompt for MCPcodextool calls.--codex-config: JSON object for MCPcodextoolconfigfield.--debug: enable debug logs.
Behavior
- Validates that Codex MCP tools
codexandcodex-replyare available. - Creates separate backend Codex MCP sessions per ACP session.
- Supports ACP
session/set_modeland propagates the selected model to new Codex tool calls. - Accepts ACP
session/set_modeand resets backend session/thread state, but does not propagate mode to Codex MCP tool arguments. - Supports per-session MCP servers via ACP
session/newmcpServersparameter (stdio and http transports). SSE transport is not supported, and each server entry must declare exactly one transport. - For ACP
initialize.agentInfo, forwards MCPserverInfo.nameandserverInfo.versionby default;--nameoverrides only the name.
MCP Servers
The bridge supports passing MCP servers to the Codex tool via the ACP session/new request. On the first turn of a session (no thread ID), any MCP servers provided in the mcpServers parameter are translated into Codex config values under config.mcp_servers.
Example ACP session/new request with MCP servers:
{
"jsonrpc": "2.0",
"id": 1,
"method": "session/new",
"params": {
"cwd": "/workspace",
"mcpServers": [
{
"stdio": {
"name": "filesystem",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
}
},
{
"http": {
"name": "github",
"url": "https://api.github.com"
}
}
]
}
}Supported transports: stdio, http. The sse transport is explicitly rejected.
Notes
- See also:
docs/codex-acp-bridge.md.
Repository
- Norma GitHub: https://github.com/normahq/norma
Contact
- Issues: https://github.com/normahq/norma/issues
- Maintainer: @metalagman
License
MIT. See the repository LICENSE.
