GPT Web Codex
Integrates with OpenAI's ChatGPT Web to plan and coordinate local Codex CLI execution via MCP tools, providing capabilities for file operations, terminal commands, and long-running job management.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GPT Web CodexRun a Python script that prints 'Hello from Codex' and display the output."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GPT Web Codex
GPT Web Codex is a pure MCP launcher. A normal ChatGPT Web conversation is the planner; Luna executes and verifies local work through codex exec --json without changing Codex configuration or routing.
Platform status: Real-world manual testing has currently been completed only on Windows. Linux and macOS builds are covered by automated CI, but have not yet been manually tested on those operating systems; support for them should be considered experimental.
What it does
Uses ChatGPT in the user's normal browser; the launcher never embeds or automates ChatGPT.
Binds each stable ChatGPT conversation URL to one persistent Luna session.
Exposes asynchronous
codexluna_*tools plus direct file and terminal tools over MCP.Serializes Luna work inside one web session while allowing different web sessions to run independently.
Supports
read-only,workspace-write, anddanger-full-accessexecution modes.Keeps long-running jobs alive when the ChatGPT reply finishes; jobs can be polled or cancelled explicitly.
Turns verified image artifacts from completed Luna jobs into native MCP image content and an inline preview instead of trusting a textual “displayed” claim.
Restores inline image previews after a ChatGPT page refresh from a bounded private local cache without copying Base64 into model-visible structured results.
Safely imports files uploaded to the current ChatGPT conversation into a user-disclosed local workspace for direct tools or Luna.
Related MCP server: codex-chatgpt-bridge
What it does not do
GPT Web Codex does not edit ~/.codex/config.toml, install a model provider, replace the model catalog, proxy the Responses API, or take over Codex routes. You do not select a ChatGPT Web model inside Codex. ChatGPT Web plans; Luna executes locally.
Runtime flow
normal ChatGPT conversation
│ MCP tool calls
▼
OpenAI Tunnel → standalone local MCP runtime
│
├─ codexluna_init/start/status/cancel/session
├─ file_import_attachment / file_read / preview / list / search / write
├─ file_create_directory / file_delete_directory
└─ terminal_exec / start / status / write_stdin / cancel
│
▼
codex exec --json (Luna)Image previews and page refreshes
Use
file_readwhen ChatGPT needs to inspect a local image as native MCP image content.Use
file_image_previewwhen the image should also appear as a visible card in the conversation.Each successfully rendered card stores only an opaque preview ID in browser storage, scoped to the current ChatGPT
/c/...conversation. Image bytes stay in the bounded private local preview cache.When ChatGPT recreates the card after a page refresh or the conversation is reopened, the component calls the private
file_image_preview_restoretool with that ID. It never rereads an arbitrary source path.Cards created before the refresh-persistence format was introduced cannot be repaired retroactively. Call
file_image_previewonce more to create a restorable card.Clearing ChatGPT site data or deleting the local preview cache removes the information needed for restoration.
Importing ChatGPT attachments
When a user uploads an image, PDF, source file, CSV, or another attachment to the current conversation, ChatGPT can call
file_import_attachmentto make it available locally.The tool accepts only the platform attachment object supplied through
openai/fileParams; it is not a general URL downloader.Calls must disclose
workspace_path,permission_mode, and a destination path. Imports are disabled inread-only, and existing files are not overwritten by default.Downloads default to a 20 MB limit and can be raised to at most 100 MB. Results contain the local path, byte count, MIME inspection, and SHA-256—not the temporary download URL—and imported files are never executed automatically.
After import, use
file_read,file_image_preview, or pass the returned local path tocodexluna_start.file_create_directorycreates empty directories (and parent directories by default).file_delete_directorydeletes only empty directories unlessrecursive: trueis explicitly supplied; it always refuses the disclosed workspace root and link/junction targets.file_listreturns each entry's type, optional file size, andmodified_atas an ISO 8601 timestamp.terminal_execruns ordinary PowerShell/sh commands and waits for bounded stdout, stderr, status, and exit code. Long-running or interactive work usesterminal_start,terminal_status,terminal_write_stdin, andterminal_cancelwithout rerunning the command.
Development
Requirements: Windows, Codex CLI, a ChatGPT account with custom connectors, and an OpenAI Tunnel for MCP. The packaged launcher includes Bun; building from source requires Bun 1.3.14.
git clone https://github.com/m4j2rpf766-crypto/gpt-web-codex.git
cd gpt-web-codex
bun install --frozen-lockfile
bun run launcher:devFrom the launcher:
Enter the Tunnel ID and a Tunnels Read + Use API key.
Create a ChatGPT connector named
WebGPT Luna Standalone, using Tunnel transport and AuthenticationNone.Verify the runtime, then use the connector from a normal ChatGPT conversation in Chrome, Edge, Firefox, or another browser.
The connector name remains stable because ChatGPT caches tool contracts. Legacy local data directory names may be retained internally during migration so existing tunnel and Luna session state are not lost.
Verification
bun x tsc --noEmit
bun test tests
bun run launcher:typecheck
bun run launcher:testSecurity boundary
The launcher keeps tunnel credentials in private local storage and redacts them from logs. It does not keep ChatGPT cookies, browser profiles, or conversation history. Attachment imports accept only validated ChatGPT/OpenAI file origins, pin the actual connection to a validated public address, revalidate redirects, create temporary files beside the destination, and clean up failures. To restore image cards after a page refresh, compressed preview copies are stored under the private standalone runtime directory for up to 90 days, capped at 128 previews; the cache does not retain the source path. codexluna_init returns the resolved workspace, permission mode, durable session ID, and a visible session-memory boundary before local execution. That boundary is prompt-level guidance; it cannot change the ChatGPT account's product-level Memory setting.
This is an independent, unofficial local MCP connector. It does not automate ChatGPT's UI and must not expose a tunnel or workspace you do not control.
License
MIT. See LICENSE and LICENSES.
Acknowledgements
GPT Web Codex is based on and evolved from the original miuuyy/codex-chatgpt-web project. Sincere thanks to miuuyy and every original contributor for making this work possible.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
System-of-record notebook for AI coding agents: pages, datastores, tasks, skills over MCP.
Coordinate coding agents through MCP using existing AI plans, saved work, and independent checks.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceLocal MCP server bridging ChatGPT Web to local tools for file, shell, git, test, and process management with secure policy controls.MIT
- AlicenseNot gradedqualityBmaintenanceLocal MCP bridge enabling ChatGPT web to access approved local files and execute tasks via local Codex.6MIT
- AlicenseNot gradedqualityBmaintenanceA secure, local-first MCP coding and computer-use harness for ChatGPT and Codex, enabling guarded file operations, durable terminals, Git review, local skills, and macOS computer control.142MIT
- AlicenseAqualityCmaintenanceEnables ChatGPT web to interact with local Windows/WSL shell and code workspaces via an MCP server, providing file access, shell execution, and snapshot-based workspace management with per-command authorization.18MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/m4j2rpf766-crypto/gpt-web-codex'
If you have feedback or need assistance with the MCP directory API, please join our Discord server