Building a browser-to-Codex bridge via codex mcp-server — ToU clarification needed

Hi,

I’m building an open-source developer tool called spark-banana (GitHub: nyosegawa/spark-banana) — a browser-based UI overlay for local development that lets you click an element in the browser, describe a fix, and route the task to Codex via its MCP server mode.

Architecture:

The bridge server (spark-bridge) spawns codex mcp-server as a stdio child process and communicates with it via the official MCP SDK (@modelcontextprotocol/sdk), calling the codex tool through client.callTool().

Browser (overlay) → spark-bridge (WS) → codex mcp-server (stdio/MCP) → Files updated

Key details (see packages/bridge/src/codex-mcp.ts):

  • StdioClientTransport with command: 'codex', args: ['mcp-server']

  • sandbox: 'workspace-write', approval-policy: 'on-request'

  • Approval requests are forwarded to the browser UI (not auto-approved)

  • Users authenticate Codex CLI themselves; spark-banana does not handle or redistribute any credentials

Question:

The Terms of Use include:

You may not: “Automatically or programmatically extract data or Output.”

At the same time, the Codex documentation describes codex mcp-server as a supported way to “connect from any MCP client,” and codex exec is designed for scripted workflows.

Does the above clause apply to third-party tools that consume codex mcp-server on the user’s local machine using the official MCP SDK? To my knowledge there are no other third-party tools publicly doing this, so I’d appreciate any clarification before wider distribution.

Thanks!

1 Like

There is a similar open source project to run docker Codex from the browser try

LastRevision .pro

the open source link is at

hotdocx .github .io

Hi and welcome to the community!

When you refer to the terms of use, are you possibly looking at the consumer ChatGPT terms? For developer services, outputs are intended to be processed programmatically.

2 Likes

Thanks @vb, you’re right — I was looking at the Consumer Terms of Use, which prohibits “automatically or programmatically extract data or Output.”

After checking the OpenAI Services Agreement (for APIs/developers), the equivalent clause is narrower: it only restricts extracting data “other than as permitted through the Services.” Since codex mcp-server and codex exec are officially documented integration points — and Sign in with ChatGPT itself generates an API key under the hood — programmatic usage through these interfaces seems clearly intended.

Appreciate the nudge in the right direction. That clears things up for my project.

1 Like