forge-codex-connector
v0.1.3
Published
Outbound host bridge for managed Codex app-server control through codex-bus-mcp.
Maintainers
Readme
forge-codex-connector
Outbound host bridge for a private local codex app-server.
Usage
npx forge-codex-connector connect \
--api https://your-public-host.example \
--token "$CODEX_BUS_CONNECT_TOKEN" \
--mcp-token "$CODEX_BUS_HTTP_TOKEN" \
--name user-a-worker-1 \
--cwd /home/user-aIf --api is omitted, it defaults to https://bus.noagi.cloud.
The bridge starts codex app-server --listen ws://127.0.0.1:<free-port>,
connects to it locally, then opens an outbound WebSocket to codex-bus-mcp.
For --api https://your-public-host.example, it derives:
- control WebSocket:
wss://your-public-host.example/connect - MCP URL injected into threads:
https://your-public-host.example/mcp
Requirements
- Node.js 20 or newer.
- A working
codexbinary inPATH, or--codex-bin /path/to/codex. - A reachable
codex-bus-mcpcontrol plane with/connectenabled.
Options
--api: public control plane base URL, defaulthttps://bus.noagi.cloud.--id: optional stable id for this connector process, default random.--token: host enrollment token matchingCODEX_BUS_CONNECT_TOKEN.--mcp-url: optional override for the derived public HTTP MCP URL.--mcp-token: optional HTTP MCP token.--mcp-name: injected MCP server name, defaultcodex-agents.--name: host display name.--cwd: working directory for the childcodex app-server.--codex-bin: Codex executable, defaultcodex.--app-server-host: local bind host, default127.0.0.1.--app-server-port: local bind port, default is a free port.
Environment
FORGE_CODEX_CONNECTOR_APIFORGE_CODEX_CONNECTOR_IDFORGE_CODEX_CONNECTOR_TOKENFORGE_CODEX_CONNECTOR_CODEX_BINFORGE_CODEX_CONNECTOR_MCP_URLFORGE_CODEX_CONNECTOR_MCP_TOKENFORGE_CODEX_CONNECTOR_MCP_NAME
Legacy CODEX_APP_CONNECTOR_* names are also accepted as aliases.
MCP Auto-Config
The connector derives the MCP URL from --api so new and resumed threads can
receive the public HTTP MCP config. --mcp-token is optional; when present, the
bridge passes it to the child codex app-server as
FORGE_CODEX_CONNECTOR_MCP_HTTP_TOKEN and injects bearer_token_env_var into
each thread config. --mcp-name defaults to codex-agents.
Security
The child app-server binds to 127.0.0.1 by default. The only public connection
is the outbound WebSocket to the control plane.
