Connecting ChatGPT to Assync (Developer Mode + Secure MCP Tunnel)¶
This repository's MCP server (assync mcp, stdio transport) already exposes
Assync's full read-only and mutating tool set — including
assync_status_show, assync_execution_handoff_list,
assync_execution_handoff_show, and the existing Mission/Decision tools.
Nothing in the server itself needs to change to reach ChatGPT: OpenAI's
Secure MCP Tunnel is designed specifically to bridge an existing local
stdio MCP server to a remote-reachable endpoint, without exposing it to
the public internet and without changing its transport.
This guide covers everything that's actually needed. The first two sections are already done in this repository; the remaining sections require your own OpenAI account and cannot be automated from here.
Already done in this repository¶
- An isolated, architecture-consistent Python 3.11 environment at
.venv/(never the machine's global Python, which may be mismatched — seedocs/getting-started/installation.md). scripts/run-mcp-server.sh— the exact, stable command to give a stdio MCP client. It resolves the repo root relative to its own location and always uses.venv/'sassync, regardless of the caller's working directory or environment.
Verify locally before connecting anything:
./scripts/run-mcp-server.sh &
# or, to confirm the full protocol handshake without leaving a server
# running in the background, pipe a real MCP request sequence into it
# and check the tools/list response contains all 35 tools.
What only you can do: connect via Secure MCP Tunnel¶
These steps require your own OpenAI account (Developer Mode is available to Pro, Plus, Business, Enterprise, and Education accounts; full read/write MCP access requires Business/Enterprise — Pro accounts get read/fetch-only access in Developer Mode, which is not a limitation for Assync's read-only tools) and cannot be performed by an agent without your login.
- Enable Developer Mode: in ChatGPT, go to Settings → Security and login → turn on Developer mode.
- Get a tunnel_id: in the OpenAI platform's tunnel settings,
create a tunnel and note its
tunnel_id. - Install
tunnel-client: download it from thetunnel-clientGitHub releases page (not an Assync dependency — a separate OpenAI tool that runs on your machine). - Initialize a profile, pointing it at this repository's server:
- Validate the connection:
- Keep it running while you use ChatGPT:
- Connect from ChatGPT: in Developer Mode, add an app, choose
"Tunnel" as the connection type, and select the tunnel you created
(or paste its
tunnel_id). ChatGPT will scan and list the available tools — expect all 35, includingassync_status_show,assync_execution_handoff_list,assync_execution_handoff_show,assync_mission_list, andassync_decision_list.
What this does not need¶
- No change to
assync mcp's transport (still stdio) —tunnel-clientbridges stdio to the tunnel transparently; a public HTTPS endpoint (Streamable HTTP transport) is a different deployment mode, not needed for this path. - No authentication code in the Assync server itself — the tunnel is
authenticated at the
tunnel-clientlayer (your OpenAI runtime API key, outbound-only connection); Assync's own read-only tools have no authentication of their own, same as every other read-only tool in this server.
Known limitation, tracked separately¶
assync_status_show (via status/service.py::get_project_status) and
assync_project_git_status (via the read_only_execution adapter path)
compute git branch/dirty state through two independent mechanisms. Both
are read-only and correct today; unifying them is a separate cleanup,
not required for this integration.