ChatGPT ↔ Codex Create-Only Bridge
Bridges ChatGPT web conversations with Codex to read registered local projects and publish complete new Markdown/HTML document versions through a create-only publisher, without modifying existing files.
Click on "Deploy 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., "@ChatGPT ↔ Codex Create-Only BridgeRead my registered project and publish a new Markdown/HTML version without overwriting files."
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.
ChatGPT ↔ Codex Create-Only Bridge
简体中文 · Installation · Security model · Upstream attribution
Let ChatGPT read a registered local project through Codex and publish complete documents into new version directories. Existing files stay read-only. The web conversation owns the writing and language style; the local worker reads sources, saves supplied text, and verifies the result.
This repository contains the create-only extensions and deployment kit, plus patches for an independently maintained upstream MCP bridge. It is not a standalone ChatGPT client, a replacement Codex implementation, or an official OpenAI product.
ChatGPT web
│ MCP over an authenticated connection / separately operated tunnel
▼
Protocol adapter (loopback, bearer token by default)
▼
Patched upstream bridge (projects, agents, persisted background jobs)
▼
Operator runtime guard → Codex app-server (read-only / never)
│ confirmed active turn, exact publish_document function
▼
Publisher → output-root/document-name-<new UUID>/index.md + index.htmlWhat is included
Create-only publisher: a fixed output root, fresh UUID directories, exclusive file creation, optional hash-verified source copying, and accurate complete/partial receipts. No overwrite, deletion, rename, shell, or networking interface.
Native runtime guard: verifies the effective read-only configuration, owns fresh threads and active turns, rejects old execution contexts and arbitrary tool/configuration overrides, and dispatches one operator-owned publication function.
MCP compatibility adapter: official SDK v2 frontend and legacy SDK backend; preserves schemas and caller metadata, enforces loopback Host/Origin and auth checks, rejects unsupported protocol semantics, and does not cancel background work when an observer disconnects.
Deployment configuration generator: creates a new private runtime directory, native wrapper, isolated Codex home, and core launcher. It does not change an existing installation or start/restart services.
Upstream patches: certificate-only CA bundle recognition, job retention, native asynchronous input/provenance, and named permission checks. Create-only publishing itself uses no writable sandbox/profile.
Related MCP server: docs2mcp
Quick start
Requires Node.js 22+, Python 3.11+, Git, the tested Codex CLI 0.153.3, and your own working Codex sign-in. Native sandbox behavior depends on the host OS; the end-to-end reference deployment was tested on macOS. ChatGPT custom-plugin access and a remote connection/tunnel must be available to your account.
git clone https://github.com/tokaka22/chatgpt-codex-create-only-bridge.git
cd chatgpt-codex-create-only-bridge
npm ci --ignore-scripts --no-audit --no-fund
npm testFollow the installation guide to prepare the pinned upstream core, generate a private policy, authenticate your own isolated Codex home, and connect ChatGPT. This is an operator-oriented v0.1 deployment kit; tunnel/account provisioning is deliberately separate.
An example request after connecting:
Read the latest registered project materials. Write the complete document in this conversation's style, publish a new Markdown and standalone HTML version through Mini/local Codex, and verify the actual files and navigation. Do not modify, delete or overwrite any existing file. Return the new directory and verification results when finished.
Ordinary checks do not ask for shell approval because they stay read-only. Publication uses the narrow create-only function. Configure the ChatGPT connector's confirmation preference for this trusted tool yourself; this repository does not change the web account's permission settings.
Publication contract
{
"slug": "research-design",
"files": [
{"path": "index.md", "content": "# Complete new document\n"},
{"path": "index.html", "content": "<!doctype html><meta charset=utf-8><h1>Document</h1>"}
]
}Each successful call creates another research-design-<uuid> directory. A published file is never edited again. Revision means publishing a complete new version. To copy a permitted existing source without repeating a long body, provide source_path and its exact expected_sha256 instead of content.
Defaults are 32 UTF-8 text files / 4 MiB total per publication. Supported suffixes: Markdown, HTML, TXT, CSS, JSON, CSV and TSV. All source hashes are checked before creating a publication. complete confirms writes and fsyncs succeeded; partial preserves already-created output and reports it accurately. There is no automatic rollback or idempotent publication retry. After a connection failure, inspect the original job/result before considering another publication.
Verification
The source release includes 22 publisher checks, 36 guard checks, 26 adapter checks, and configuration-generator checks. Tests use retained local fixtures and mock HTTP services; they make no model calls or tunnel/account changes.
A private reference deployment additionally published a complete nine-chapter document twice through the actual ChatGPT web connector with zero interaction requests, verified the previous version's hashes, and completed a 70-second job while the independent tunnel was restarted. This is historical integration evidence, not a promise about every OS, future CLI version or account. No private documents, credentials, screenshots, job identifiers or databases are included here. See validation notes.
The guard is pinned to an observed native app-server contract. Audit and test new CLI versions before changing the pin. See OpenAI's explanation of app-server as the integration layer.
License
MIT for this repository. Retain upstream notices when redistributing the patch or upstream code; see UPSTREAM.md and licenses/upstream-MIT.txt. Model access, accounts and managed services are separate from this code license.
This server cannot be deployed
Maintenance
Related MCP Connectors
- OffprintOAuthio.offprint
Publish your agent's Markdown as shareable web pages with revision provenance and comments.
- repageOAuthapp.repage
Publish HTML & Markdown to shareable links with versions, comments, and project organization.
Publish and manage existing HTML presentations from an MCP-capable Agent.
Publish HTML, files, or a URL to a permanent public URL, then update it — from any MCP agent.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for publishing HTML or Markdown to a live hosted URL via htmldrop. Provides tools to publish, list, and delete hosted sites, with remote OAuth and API token authentication.325 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables any compatible MCP client or AI agent to retrieve documentation from a local directory of Markdown, HTML, or TXT files via a remote, read-only MCP server.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables users to upload, share, preview, and publish a generated HTML page from an agent, returning a stable link and version link after browser-authorized access.11 npmMIT No Attribution
- AlicenseNot gradedqualityCmaintenanceServes project docs, per-branch task plans, skills, and templates as markdown to AI coding agents via MCP, with a web console for browsing and editing content.4 npm2MIT