Connect ChatGPT to your gate
A hosted client signs in through the OAuth bridge — you paste a key exactly once
1
Mint the key — and stash it before anything else
Console → Agents & keys → Mint a key. Name it (chatgpt reads well in the ledger), tick only the sectors you want ChatGPT reaching — a grant covers read and act, and there is nothing narrower than a sector — and keep the 90-day expiry: a key living in someone else's cloud should end itself. Mint, and the key shows once. Paste it somewhere safe now, before you touch anything else.
2
Copy the public address — origin plus /mcp
From the reveal screen, follow "Connect a hosted client →". It shows the one string ChatGPT needs: your published origin plus /mcp. Not the localhost endpoint one card up — a cloud client can never reach that. If the page says the bridge is off, your gate isn't published yet: guide № 10 is the full Tailscale + Funnel walkthrough, and the Console's Settings → Remote access is the switch it arms.
3
In ChatGPT: Developer mode on, then create the connector
Settings → Plugins → the Developer mode row at the bottom of the list — it lands you in Security and login wearing an ELEVATED RISK badge; expected, it gates custom MCP servers. Then go to chatgpt.com/plugins and press the + button, top right. In the New Plugin form: Name Postern, Server URL = the address from step 2, Authentication OAuth. Tick "I understand and want to continue" under the red warning — it is scary by design — and Create.
4
Approve on your own gate's page
A popup opens — and it is your gate's page, plain and unstyled, on your own hostname: "Authorize agent access — ChatGPT is asking to connect to your gateway", naming the chatgpt.com/connector/oauth return address. That plainness is expected today. Paste the agent key from step 1 and press Approve. Back in ChatGPT: "✓ Postern is installed." — and "No app actions available yet." right after install is normal, not a broken connection.
5
Ask something — and know your one true witness
In a chat, open the composer's + menu → Postern; a [P] Postern chip lands in the composer, and you type after it. ChatGPT shows humanized progress ("Describing the Current Context"), never raw tool names, and asks no per-call permission — the grant you minted is the whole ceremony. The Sources rail gaining a Postern entry is proof a call landed, and every call appears in your gate's ledger under its own agent name. Expect the wait to be the model thinking; the gate answers from cache in milliseconds.
WHAT STANDS WHEN YOU FINISH
ChatGPT holds a rotating token derived from your key — never the key itself; revoke the key in the Console and every derived token dies with it, at once. Every call lands in your ledger under its own agent name, the grant is exactly the sectors you ticked, and answers are served from your gate's cache in milliseconds — any wait you feel is the model thinking, not the gate.