DESKTOP APP · OPEN SOURCE

Desktop app

Out of Codex quota? Hand your local project to ChatGPT on the web

Coding Tools MCP turns a project on your machine into an MCP workspace: once ChatGPT on the web connects through the public URL, it can read files, patch code, run commands and tests, and inspect Git — developing on your machine as if it were sitting at your desk. When Codex runs low or queues up, hand the same workspace to ChatGPT and keep going; each turn is saved as an in-project history session, so you can resume from Codex or a fresh conversation anytime. Any MCP client can connect.

  • Runs locally · project stays yours
  • Open source · Apache-2.0
  • Free
~/my-project — mcp
$ coding-tools-mcp start ./my-project
✓ workspace ready · port 28766
✓ tunnel up · https://mcp.example.dev/mcp
✓ oauth enabled

# then, from ChatGPT on the web:
Agent → read_file("src/index.ts")
Agent → apply_patch("fix: null check")
Agent → exec_command("pnpm test")
✓ 42 passed · checkpoint saved

REMOTE

ChatGPT on the web

PUBLIC

Public /mcp endpoint

LOCAL

Your local project

Code and execution never leave your machine — the remote client talks to it through the tunnel.

What it solves

ChatGPT on the web develops your local project

ChatGPT in a browser can't touch the code on your disk or run your tests. Connected to a workspace over MCP, it can read files, apply patches, execute commands, and check Git status — not pasting code into the chat, but actually developing on your machine.

A second engine for when Codex runs dry

When Codex quota is out or tasks are queuing, hand the same workspace to ChatGPT and keep moving. Both clients connect to the same project: changes, tests, and Git state stay on your machine, so switching tools never loses the thread.

Progress follows the project, not the chat window

Each turn saves a structured checkpoint into the project docs/history-session/ directory. A new conversation gets a bounded current state first, then searches the raw archives by keyword when it needs detail.

Many workspaces, one client

Each project gets its own MCP port, auth, public tunnel, and subdomain. Local MCPs can be proxied through under control, with high-privilege tools disabled individually.

Clear permission boundaries

Read, write, and exec inside the workspace; read-only outside it; writes, deletes, and execs outside are blocked; .git and .github are protected from tool damage.

Connections built in, configure once

Ships with FRP and Cloudflare tunnel management, Streamable HTTP, OAuth / Bearer auth, and OpenAPI. ChatGPT MCP plugins, GPT Actions, or any other MCP client can connect.

Four steps to start

  1. [1/4]

    Install the desktop app

    Windows 10/11 x64 installer and a macOS Apple Silicon dmg. The macOS build is ad-hoc signed — right-click and choose Open the first time.

  2. [2/4]

    Add a project workspace

    Pick the project root, then set the workspace name, MCP port, and auth mode. The workspace persists in the left-hand list.

  3. [3/4]

    Start MCP and the public tunnel

    Install and configure frpc or cloudflared and give the workspace a subdomain; the client then shows the local URL, public HTTPS URL, and health checks.

  4. [4/4]

    Connect from ChatGPT

    Turn on developer mode, create an MCP plugin, paste the public /mcp URL, and finish the OAuth flow the UI walks you through. Start with history_session_bootstrap.

What the AI can call

The default core profile ships a stable, composable set of development tools.

File reading
read_file · list_dir · list_files · search_text · grep_text · view_image
File editing
apply_patch (transactional, with pre-flight and rollback within one operation)
Command execution
exec_command · write_stdin · read_output · kill_session
Git
git_status · git_diff · git_log · git_show · git_blame
History sessions
bootstrap · checkpoint · validate · search · read
Environment
server_info · check_exec_environment · get_default_cwd · set_default_cwd

A look inside

Real screenshots from the project docs.

Workspace overview: manage workspaces, MCP services, connection info, and recovery prompts together
Workspace overview: manage workspaces, MCP services, connection info, and recovery prompts together
Connection info: local URL, public URL, and the credentials ChatGPT needs
Connection info: local URL, public URL, and the credentials ChatGPT needs
Health checks: endpoint, OAuth metadata, and protected-resource checks item by item
Health checks: endpoint, OAuth metadata, and protected-resource checks item by item
Tunnel config: FRP servers stored centrally, per-workspace subdomains
Tunnel config: FRP servers stored centrally, per-workspace subdomains
History sessions: paste into a new conversation to restore project context
History sessions: paste into a new conversation to restore project context
Runtime logs: confirm tool calls actually reached the server
Runtime logs: confirm tool calls actually reached the server

FAQ

Does it cost anything?

It is free and open source under Apache-2.0.

Do I need a public server?

If the AI client is not on the same machine, you need an HTTPS entry point: either the built-in Cloudflare tunnel or your own FRP server. A client on the same machine can use the local URL.

What can ChatGPT actually do once connected?

What it would do developing on your machine: read code, apply patches, run commands and tests, review Git diffs and commit. A typical session starts with history_session_bootstrap to restore project context, then asks the AI to inspect the workspace.

How do I switch back when Codex quota resets?

Just switch: Codex and ChatGPT connect to the same local workspace, and checkpoints live in the project. When Codex is back, start a new conversation with history_session_bootstrap and pick up from where ChatGPT left off.

Your code runs on your own machine and never passes through our servers.

Coding Tools MCP is built by the ByteZoneX team and released under Apache-2.0. · ByteZoneX Lab →