Skip to content

Commit ee75f4a

Browse files
committed
feat(cli): make executor mcp ensure a durable daemon and bridge to it
executor mcp no longer starts a server in-process. It ensures a durable detached daemon and bridges stdio JSON-RPC to that owner over HTTP. Concurrent cold starts run a race-safe election: one process becomes the owner and the rest wait for its manifest and attach instead of failing. The owner's lifetime is independent of any MCP client, so many clients, the web UI, and the desktop app share one local server. This builds on the merged start-lock primitive so no client ever owns the database, replacing the earlier approach where the first mcp process started a server in-process and bridged to itself. Adds a cold-start election probe across the cli VM targets plus a local attach stress test; the one-winner, rest-attach behavior is verified on macOS, Linux, and Windows.
1 parent 5422ec3 commit ee75f4a

6 files changed

Lines changed: 800 additions & 162 deletions

File tree

apps/cli/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"@executor-js/runtime-quickjs": "workspace:*",
3131
"@executor-js/sdk": "workspace:*",
3232
"@jitl/quickjs-wasmfile-release-sync": "catalog:",
33+
"@modelcontextprotocol/sdk": "^1.29.0",
3334
"@sentry/bun": "^10.57.0",
3435
"effect": "catalog:",
3536
"quickjs-emscripten": "catalog:"

0 commit comments

Comments
 (0)