devbox-mcp

Architecture

How a ChatGPT Dot reaches coding agents on a developer box, and which parts come from where.

devbox-mcp architecture A ChatGPT Dot sends MCP tool calls to OpenAI's Secure MCP Tunnel. On the developer box, a systemd user service runs OpenAI's tunnel-client, which keeps an outbound connection to the tunnel and starts devbox-mcp as a child process over stdio. devbox-mcp keeps session records and starts Codex CLI or Claude Code for each turn; the agents keep their own data, which devbox-mcp reads for transcripts and deletes on removal. OpenAI, hosted ChatGPT Dot your agent in ChatGPT Secure MCP Tunnel OpenAI's tunnel service MCP tool calls Your developer box (Ubuntu) systemd user service unit written by devbox-mcp setup tunnel-client OpenAI's tunnel connector devbox-mcp this repo: MCP server outbound connection, no listening ports MCP over stdio Codex CLI OpenAI Claude Code Anthropic starts an agent per turn: full access, no sandbox session records devbox-mcp's own state agents' own data (~/.codex, ~/.claude) transcripts read and deleted by devbox-mcp this repo upstream OpenAI tooling OpenAI service third-party agent data on disk
Requests travel down from the Dot, over a connection tunnel-client opens from the box; nothing on the box accepts connections from the tunnel.

Who provides what

This repo
devbox-mcp: the MCP server that runs agent sessions on the box, and its setup command, which writes the systemd user service and has tunnel-client write its profile.
Upstream OpenAI tooling
tunnel-client, which connects the box to the tunnel and runs devbox-mcp as a child process, and the Codex CLI, one of the two agents.
OpenAI service
ChatGPT, where the Dot lives, and the Secure MCP Tunnel, which carries the Dot's tool calls to tunnel-client.
Third party
Anthropic's Claude Code, the other agent devbox-mcp can run.

None of these pieces listens on a network port. Access to devbox-mcp is the equivalent of an SSH key to the box: agents run as the box's user with full access and no permission prompts.