@synapsor/runner 1.6.4 → 1.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -161,7 +161,8 @@ Next: connect the same reviewed tool surface to your MCP client.
161
161
  Workbench displays ready-to-copy configurations for:
162
162
 
163
163
  - Cursor project MCP;
164
- - Claude-compatible local stdio MCP;
164
+ - Claude Code project MCP and Claude-compatible local stdio MCP;
165
+ - VS Code project MCP;
165
166
  - Codex;
166
167
  - generic stdio MCP.
167
168
 
@@ -171,17 +172,18 @@ authority surface.
171
172
  For a terminal-rendered generic configuration, run:
172
173
 
173
174
  ```bash
174
- npx -y @synapsor/runner mcp config --absolute-paths
175
+ synapsor-runner mcp config --absolute-paths
175
176
  ```
176
177
 
177
- Do not write into a client configuration without explicit user consent. Cursor
178
- has a separate consent-gated installer:
178
+ Do not write into a client configuration without explicit user consent.
179
+ Cursor, Claude Code, and VS Code have consent-gated project installers:
179
180
 
180
181
  ```bash
181
- npx -y @synapsor/runner mcp install cursor --project --dry-run
182
+ synapsor-runner mcp install claude-code --project --dry-run
182
183
  ```
183
184
 
184
- Show the dry-run result first. Installation remains a human choice.
185
+ Use `cursor` or `vscode` instead when that is the selected client. Show the
186
+ dry-run result first. Installation remains a human choice.
185
187
 
186
188
  ## Guided Write Action
187
189
 
@@ -206,23 +206,25 @@ The no-model composer, CLI Try, and external MCP routes remain fully supported
206
206
  when no provider is configured or a provider is unavailable. See [Workbench
207
207
  Ask With Your Model](workbench-ask.md).
208
208
 
209
- ## Add The Authoring Tools To Cursor
209
+ ## Add The Authoring Tools To A Project MCP Client
210
210
 
211
211
  After activation, let Runner manage only its own project entry:
212
212
 
213
213
  ```bash
214
- synapsor-runner mcp install cursor \
214
+ synapsor-runner mcp install claude-code \
215
215
  --project \
216
216
  --authoring \
217
217
  --project-root . \
218
218
  --yes
219
219
 
220
- synapsor-runner mcp status cursor --project
220
+ synapsor-runner mcp status claude-code --project
221
221
  ```
222
222
 
223
- The Cursor config contains command paths and package identity, not database
224
- URLs, credential values, tenant values, or principal values. Authoring mode
225
- uses local stdio and advertises exactly:
223
+ Use `cursor` or `vscode` instead of `claude-code` for those clients. Runner
224
+ manages `.cursor/mcp.json`, `.mcp.json`, or `.vscode/mcp.json` and preserves
225
+ unrelated entries. The client config contains command paths and package
226
+ identity, not database URLs, credential values, tenant values, or principal
227
+ values. Authoring mode uses local stdio and advertises exactly:
226
228
 
227
229
  ```text
228
230
  app.describe_data
@@ -358,16 +360,18 @@ join-safety, deny, drift, and boundary tests. It becomes active only after a
358
360
  human reviews and confirms its exact contract digest outside MCP.
359
361
 
360
362
  When activation disables temporary Explore, the named capability remains
361
- available. Update Cursor from authoring mode to the production config:
363
+ available. Update the selected project client from authoring mode to the
364
+ production config:
362
365
 
363
366
  ```bash
364
- synapsor-runner mcp install cursor \
367
+ synapsor-runner mcp install claude-code \
365
368
  --project \
366
369
  --config ./synapsor.runner.json \
367
370
  --store ./.synapsor/local.db \
368
371
  --yes
369
372
  ```
370
373
 
374
+ Again, substitute `cursor` or `vscode` for the selected client.
371
375
  Production then advertises only reviewed named capabilities. It does not
372
376
  advertise `app.explore_data`.
373
377
 
@@ -89,17 +89,30 @@ list. Then ask for the shared proposal call.
89
89
 
90
90
  ## Claude Code
91
91
 
92
- **Status:** configuration-tested with Claude Code 2.1.216 and
92
+ **Status:** managed project configuration-tested with Claude Code 2.1.220 and
93
93
  protocol-tested; a manual model-driven call remains a release gate.
94
94
 
95
- Run the checked command from the repository root:
95
+ Use Runner's owned project lifecycle:
96
96
 
97
97
  ```bash
98
- bash ./examples/support-plan-credit/mcp-client-examples/claude-code.sh
98
+ synapsor-runner mcp install claude-code --project --dry-run \
99
+ --config ./examples/support-plan-credit/synapsor.runner.json \
100
+ --store ./tmp/support-plan-credit/local.db
101
+ synapsor-runner mcp install claude-code --project --yes \
102
+ --config ./examples/support-plan-credit/synapsor.runner.json \
103
+ --store ./tmp/support-plan-credit/local.db
104
+ synapsor-runner mcp status claude-code --project --check-launch
99
105
  ```
100
106
 
101
- Claude Code records project-scoped MCP configuration without embedding source
102
- credentials. It will print the exact proposal prompt after configuration.
107
+ Runner merges only `mcpServers.synapsor` into the project `.mcp.json`, creates
108
+ a backup, pins the exact Runner version, and never embeds source credentials.
109
+ Restart or open a new Claude Code project session, approve the project server
110
+ when prompted, and make the shared proposal call. Remove only Runner's intact
111
+ entry with `synapsor-runner mcp uninstall claude-code --project --yes`.
112
+
113
+ The older checked shell recipe remains available for users who intentionally
114
+ prefer Claude Code's own configuration command:
115
+ [`claude-code.sh`](../examples/support-plan-credit/mcp-client-examples/claude-code.sh).
103
116
 
104
117
  Official source checked 2026-07-20:
105
118
  [Claude Code MCP](https://code.claude.com/docs/en/mcp).
@@ -120,13 +133,29 @@ Official source checked 2026-07-20:
120
133
 
121
134
  ## VS Code
122
135
 
123
- **Status:** configuration-parsed and protocol-tested; manual VS Code UI
124
- behavior is not claimed.
136
+ **Status:** managed project configuration-tested with VS Code 1.123.0 and
137
+ protocol-tested; manual VS Code UI behavior is not claimed.
138
+
139
+ Use Runner's owned project lifecycle:
140
+
141
+ ```bash
142
+ synapsor-runner mcp install vscode --project --dry-run \
143
+ --config ./examples/support-plan-credit/synapsor.runner.json \
144
+ --store ./tmp/support-plan-credit/local.db
145
+ synapsor-runner mcp install vscode --project --yes \
146
+ --config ./examples/support-plan-credit/synapsor.runner.json \
147
+ --store ./tmp/support-plan-credit/local.db
148
+ synapsor-runner mcp status vscode --project --check-launch
149
+ ```
150
+
151
+ Runner merges only `servers.synapsor` into `.vscode/mcp.json`, preserves JSONC
152
+ comments and trailing commas, creates a backup, and pins the exact Runner
153
+ version. Reload the VS Code window, start the server, inspect the listed tools,
154
+ and ask for the shared proposal call. Remove only Runner's intact entry with
155
+ `synapsor-runner mcp uninstall vscode --project --yes`.
125
156
 
126
- Copy or merge
127
- [`vscode.mcp.json`](../examples/support-plan-credit/mcp-client-examples/vscode.mcp.json)
128
- into `.vscode/mcp.json`. Start the server from VS Code, inspect the listed
129
- tools, and ask for the shared proposal call.
157
+ The checked standalone template remains available at
158
+ [`vscode.mcp.json`](../examples/support-plan-credit/mcp-client-examples/vscode.mcp.json).
130
159
 
131
160
  Official source checked 2026-07-20:
132
161
  [VS Code MCP servers](https://code.visualstudio.com/docs/agent-customization/mcp-servers).
@@ -30,7 +30,7 @@ inspect the whole selected schema and structured application artifacts
30
30
  -> draft disabled public DSL, canonical JSON, tests, and generation lock
31
31
  -> review scope, fields, analytics permissions, relationships, and budgets
32
32
  -> activate the exact exploration-boundary digest in local Workbench
33
- -> install exactly app.describe_data and app.explore_data in Cursor
33
+ -> install exactly app.describe_data and app.explore_data in your project MCP client
34
34
  -> ask a bounded row or PM-style aggregate question against staging
35
35
  -> Protect This Query into a disabled named capability
36
36
  -> activate that exact digest and remove broad Explore
@@ -241,32 +241,34 @@ There is intentionally no CLI or MCP command a coding agent can use to
241
241
  activate the draft. If the host does not refresh `tools/list`, reconnect the
242
242
  MCP server after activation as the Workbench instructs.
243
243
 
244
- ## 5. Add the reviewed tools to Cursor
244
+ ## 5. Add the reviewed tools to your MCP client
245
245
 
246
- After setting trusted environment values, preview and install a project-scoped
247
- entry without hand-editing `.cursor/mcp.json`:
246
+ After setting trusted environment values, choose Cursor, Claude Code, or VS
247
+ Code and preview a project-scoped entry without hand-editing client JSON:
248
248
 
249
249
  ```bash
250
- synapsor-runner mcp install cursor --project --dry-run \
250
+ synapsor-runner mcp install claude-code --project --dry-run \
251
251
  --config ./synapsor.runner.json \
252
252
  --store ./.synapsor/local.db
253
- synapsor-runner mcp install cursor --project --yes \
253
+ synapsor-runner mcp install claude-code --project --yes \
254
254
  --config ./synapsor.runner.json \
255
255
  --store ./.synapsor/local.db
256
- synapsor-runner mcp status cursor --project --check-launch
256
+ synapsor-runner mcp status claude-code --project --check-launch
257
257
  ```
258
258
 
259
+ Use `cursor` or `vscode` in place of `claude-code` for those clients. Runner
260
+ targets `.cursor/mcp.json`, `.mcp.json`, or `.vscode/mcp.json` as appropriate.
259
261
  Runner merges rather than replaces existing MCP servers, creates a backup,
260
262
  records an integrity marker, and is idempotent. The entry uses an exact Runner
261
263
  version and contains no database URL, trusted tenant/principal value, approval,
262
264
  apply, or revert authority. Remove only the Runner-owned entry with:
263
265
 
264
266
  ```bash
265
- synapsor-runner mcp uninstall cursor --project --yes
267
+ synapsor-runner mcp uninstall claude-code --project --yes
266
268
  ```
267
269
 
268
270
  See the [host compatibility matrix](host-compatibility.md) for the precise
269
- Cursor evidence and MCP Apps limitation.
271
+ host evidence and MCP Apps limitations.
270
272
 
271
273
  ## 6. Inspect local activation evidence
272
274
 
@@ -460,16 +462,16 @@ files.
460
462
  Generate or refresh MCP client snippets later with:
461
463
 
462
464
  ```bash
463
- npx -y @synapsor/runner mcp config generic --config ./synapsor.runner.json --store ./.synapsor/local.db
464
- npx -y @synapsor/runner mcp config claude-desktop --config ./synapsor.runner.json --store ./.synapsor/local.db
465
- npx -y @synapsor/runner mcp config cursor --config ./synapsor.runner.json --store ./.synapsor/local.db
466
- npx -y @synapsor/runner tools preview --config ./synapsor.runner.json --store ./.synapsor/local.db
465
+ synapsor-runner mcp config generic --config ./synapsor.runner.json --store ./.synapsor/local.db
466
+ synapsor-runner mcp config claude-desktop --config ./synapsor.runner.json --store ./.synapsor/local.db
467
+ synapsor-runner mcp config cursor --config ./synapsor.runner.json --store ./.synapsor/local.db
468
+ synapsor-runner tools preview --config ./synapsor.runner.json --store ./.synapsor/local.db
467
469
  ```
468
470
 
469
471
  Call one generated tool locally before wiring an MCP client:
470
472
 
471
473
  ```bash
472
- npx -y @synapsor/runner smoke call --config ./synapsor.runner.json --store ./.synapsor/local.db
474
+ synapsor-runner smoke call --config ./synapsor.runner.json --store ./.synapsor/local.db
473
475
  ```
474
476
 
475
477
  `smoke call` uses the same runtime as the MCP server. It records evidence and
@@ -315,9 +315,9 @@ Never reuse the model/read credential as the elevated setup connection.
315
315
 
316
316
  ## Connect An MCP Client
317
317
 
318
- Workbench generates ready-to-copy Cursor, Claude, Codex, and generic stdio
319
- snippets for the same reviewed authority. Stdio opens no network listener and
320
- needs no HTTP bearer credential.
318
+ Workbench generates ready-to-copy Cursor, Claude Code/Desktop, VS Code, Codex,
319
+ and generic stdio snippets for the same reviewed authority. Stdio opens no
320
+ network listener and needs no HTTP bearer credential.
321
321
 
322
322
  Render the generic snippet:
323
323
 
@@ -325,10 +325,12 @@ Render the generic snippet:
325
325
  synapsor-runner mcp config --absolute-paths
326
326
  ```
327
327
 
328
- Preview a project-scoped Cursor change:
328
+ Preview a managed project change for the client you use:
329
329
 
330
330
  ```bash
331
+ synapsor-runner mcp install claude-code --project --dry-run
331
332
  synapsor-runner mcp install cursor --project --dry-run
333
+ synapsor-runner mcp install vscode --project --dry-run
332
334
  ```
333
335
 
334
336
  No client config contains database URLs, trusted scope values, approval,
@@ -1,7 +1,7 @@
1
1
  # MCP Host Compatibility
2
2
 
3
3
  This matrix separates host evidence from protocol evidence. It was last
4
- reviewed on 2026-07-20. A working MCP SDK handshake is not presented as proof
4
+ reviewed on 2026-07-25. A working MCP SDK handshake is not presented as proof
5
5
  that a specific editor renders an extension or protects app-only controls.
6
6
 
7
7
  | Host/surface | Status | Evidence and boundary |
@@ -14,32 +14,45 @@ that a specific editor renders an extension or protects app-only controls.
14
14
  | Generic stdio MCP client | Protocol-tested | Official MCP SDK initialization, tool listing, calls, resources, and display-only Apps metadata are covered in the suite. |
15
15
  | Generic Streamable HTTP MCP client | Protocol-tested | Official MCP SDK sessions, signed context, secret rotation, JWKS, mTLS, aliases, and session isolation are covered. |
16
16
  | Claude Desktop | Protocol-tested | Packaged stdio configuration and MCP transport are tested; manual host UI behavior varies by version and remains a release checklist item. |
17
- | Claude Code | Configuration-tested and protocol-tested | Claude Code 2.1.216 accepted the secret-free stdio configuration through `mcp add-json`; the same command completed MCP `tools/list`. A manual model-driven proposal call remains a release gate. |
17
+ | Claude Code project `.mcp.json` lifecycle | Configuration-tested and protocol-tested | Runner install/status/uninstall tests cover preview, merge, backup, idempotency, ownership, tamper refusal, exact-version wiring, and the exact reviewed `tools/list`. Local Claude Code version observed: 2.1.220. A manual model-driven proposal call remains a release gate. |
18
18
  | Codex | Configuration-tested and protocol-tested | Codex CLI 0.144.6 accepted the secret-free stdio configuration through `codex mcp add`; the same command completed MCP `tools/list`. A manual model-driven proposal call remains a release gate. |
19
- | VS Code | Protocol-tested | The checked `.vscode/mcp.json` shape is parsed and the same stdio command completes MCP `tools/list`; manual editor UI behavior is not claimed. |
19
+ | VS Code project `.vscode/mcp.json` lifecycle | Configuration-tested and protocol-tested | Runner install/status/uninstall tests cover JSONC-preserving merge, backup, idempotency, ownership, tamper refusal, exact-version wiring, and the exact reviewed `tools/list`. Local VS Code version observed: 1.123.0. Manual editor UI behavior is not claimed. |
20
20
  | OpenAI Agents SDK | Recipe-checked and protocol-tested | Packaged stdio/Streamable HTTP examples are syntax/safety checked and OpenAI-safe aliases are protocol-tested. The exact SDK agent call remains protocol-only until run with an owner-supplied API key. |
21
21
  | LangChain/LangGraph | Recipe-checked, protocol-only | The current `@langchain/mcp-adapters` recipe lists tools, rejects unsafe authority, and calls the proposal tool. The framework runtime has not been executed in this release environment. |
22
22
  | Google ADK | Recipe-checked, protocol-only | The current `McpToolset`/`StdioConnectionParams` recipe exposes only the two reviewed tools. The framework runtime has not been executed in this release environment. |
23
23
  | LlamaIndex | Recipe-checked, protocol-only | The current `BasicMCPClient` recipe lists tools and calls the proposal tool. The framework runtime has not been executed in this release environment. |
24
24
 
25
- ## Cursor Project Setup
25
+ ## Managed Project Setup
26
26
 
27
- Current Cursor documentation supports project MCP configuration in
28
- `.cursor/mcp.json`. Runner manages only its `synapsor` entry:
27
+ Runner manages only its `synapsor` entry in each supported project-local
28
+ configuration:
29
29
 
30
30
  ```bash
31
31
  synapsor-runner mcp install cursor --project --dry-run
32
- synapsor-runner mcp install cursor --project --yes
33
- synapsor-runner mcp status cursor --project --check-launch
32
+ synapsor-runner mcp install claude-code --project --dry-run
33
+ synapsor-runner mcp install vscode --project --dry-run
34
+
35
+ synapsor-runner mcp install claude-code --project --yes
36
+ synapsor-runner mcp status claude-code --project --check-launch
34
37
  ```
35
38
 
36
- The generated entry contains command paths only. Database credentials and
37
- trusted tenant/principal values must come from the environment that launches
38
- Runner. Other Cursor MCP servers and settings are preserved.
39
+ Cursor uses `.cursor/mcp.json` and `mcpServers`; Claude Code uses `.mcp.json`
40
+ and `mcpServers`; VS Code uses `.vscode/mcp.json` and `servers`. The generated
41
+ entry contains command paths and an exact package version only. Database
42
+ credentials and trusted tenant/principal values must come from the environment
43
+ that launches Runner. Other servers and project settings are preserved.
44
+
45
+ `--dry-run` never writes. An approved install creates a backup and an integrity
46
+ marker. A repeated install is idempotent; uninstall removes only an unchanged,
47
+ Runner-owned entry. Claude Code still requires its own human project-server
48
+ approval, and VS Code still requires the operator to reload/start the server.
49
+ Those host actions do not grant Synapsor approval or commit authority.
39
50
 
40
51
  Primary references:
41
52
 
42
53
  - [Cursor MCP documentation](https://cursor.com/docs/context/mcp)
54
+ - [Claude Code MCP documentation](https://code.claude.com/docs/en/mcp)
55
+ - [VS Code MCP servers](https://code.visualstudio.com/docs/agent-customization/mcp-servers)
43
56
  - [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)
44
57
  - [MCP Apps specification](https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/2026-01-26/apps.mdx)
45
58
 
@@ -101,7 +101,7 @@ with tenant/principal bound from verified claims. Details: [HTTP MCP](http-mcp.m
101
101
  Print a snippet without modifying any client files:
102
102
 
103
103
  ```bash
104
- npx -y @synapsor/runner mcp config claude-desktop \
104
+ synapsor-runner mcp config claude-desktop \
105
105
  --config ./synapsor.runner.json \
106
106
  --store ./.synapsor/local.db
107
107
  ```
@@ -121,7 +121,7 @@ For OpenAI Agents SDK, generate the Streamable HTTP start command and Python
121
121
  snippet:
122
122
 
123
123
  ```bash
124
- npx -y @synapsor/runner mcp client-config \
124
+ synapsor-runner mcp client-config \
125
125
  --client openai-agents \
126
126
  --config ./synapsor.runner.json \
127
127
  --store ./.synapsor/local.db
@@ -130,13 +130,13 @@ npx -y @synapsor/runner mcp client-config \
130
130
  The older form is still supported:
131
131
 
132
132
  ```bash
133
- npx -y @synapsor/runner mcp configure --client claude-desktop --config ./synapsor.runner.json --store ./.synapsor/local.db
133
+ synapsor-runner mcp configure --client claude-desktop --config ./synapsor.runner.json --store ./.synapsor/local.db
134
134
  ```
135
135
 
136
136
  Write is opt-in and requires an explicit destination:
137
137
 
138
138
  ```bash
139
- npx -y @synapsor/runner mcp configure \
139
+ synapsor-runner mcp configure \
140
140
  --client cursor \
141
141
  --config ./synapsor.runner.json \
142
142
  --store ./.synapsor/local.db \
@@ -267,6 +267,21 @@ examples/mcp-client-configs/cursor.json
267
267
  examples/mcp-client-configs/vscode.json
268
268
  ```
269
269
 
270
+ For project-local Cursor, Claude Code, or VS Code configuration, prefer the
271
+ managed lifecycle instead of editing JSON:
272
+
273
+ ```bash
274
+ synapsor-runner mcp install claude-code --project --dry-run
275
+ synapsor-runner mcp install claude-code --project --yes
276
+ synapsor-runner mcp status claude-code --project --check-launch
277
+ ```
278
+
279
+ Use `cursor` or `vscode` instead when that is the selected client. Runner
280
+ backs up and merges only its own entry, pins the exact package version, and
281
+ keeps credentials and trusted scope out of the client file. Claude Desktop is
282
+ global application configuration and remains a checked template rather than a
283
+ managed project install.
284
+
270
285
  Each example uses the same stdio command/args/env structure. Replace the placeholder environment variables in your client settings or shell environment.
271
286
 
272
287
  These checked-in desktop examples use stdio, which is the recommended local
@@ -33,7 +33,8 @@ the checked-in client JSON.
33
33
 
34
34
  ## Stdio
35
35
 
36
- Use stdio for Claude Desktop, Cursor, and other local MCP clients:
36
+ Use stdio for Claude Code, Claude Desktop, Cursor, VS Code, and other local MCP
37
+ clients:
37
38
 
38
39
  ```json
39
40
  {
@@ -65,25 +66,52 @@ environment. Supply the required env values through the OS process environment
65
66
  or a local secret-manager wrapper; do not paste production credentials into a
66
67
  repository file.
67
68
 
68
- ### Cursor
69
+ ### Managed Project Installs
69
70
 
70
- Prefer Runner's owned project lifecycle for one repository:
71
+ Runner can safely manage its own project-local entry for Cursor, Claude Code,
72
+ or VS Code. Choose the client you actually use:
71
73
 
72
74
  ```bash
73
75
  synapsor-runner mcp install cursor --project --dry-run \
74
76
  --config ./synapsor.runner.json \
75
77
  --store ./.synapsor/local.db
76
- synapsor-runner mcp install cursor --project --yes \
78
+ synapsor-runner mcp install claude-code --project --dry-run \
79
+ --config ./synapsor.runner.json \
80
+ --store ./.synapsor/local.db
81
+ synapsor-runner mcp install vscode --project --dry-run \
77
82
  --config ./synapsor.runner.json \
78
83
  --store ./.synapsor/local.db
79
- synapsor-runner mcp status cursor --project --check-launch
80
84
  ```
81
85
 
82
- Runner previews the merge, backs up an existing `.cursor/mcp.json`, preserves
83
- other MCP servers/settings, writes an exact-version `npx` invocation, and
84
- tracks only its own entry with an integrity marker. Repeating install is
85
- idempotent. `mcp uninstall cursor --project --yes` removes only that intact,
86
- Runner-owned entry and also creates a backup.
86
+ Replace `--dry-run` with `--yes` only after reviewing the preview, then verify
87
+ the selected client:
88
+
89
+ ```bash
90
+ synapsor-runner mcp install claude-code --project --yes \
91
+ --config ./synapsor.runner.json \
92
+ --store ./.synapsor/local.db
93
+ synapsor-runner mcp status claude-code --project --check-launch
94
+ ```
95
+
96
+ | Client | Managed project file | Server map |
97
+ | --- | --- | --- |
98
+ | Cursor | `.cursor/mcp.json` | `mcpServers.synapsor` |
99
+ | Claude Code | `.mcp.json` | `mcpServers.synapsor` |
100
+ | VS Code | `.vscode/mcp.json` | `servers.synapsor` |
101
+
102
+ Runner previews the merge, backs up an existing file, preserves unrelated
103
+ servers and settings, writes an exact-version `npx` invocation, and tracks only
104
+ its own entry with a client-specific integrity marker under `.synapsor/`.
105
+ Repeating install is idempotent. VS Code JSON-with-comments, comments, and
106
+ trailing commas are preserved. `mcp uninstall <client> --project --yes`
107
+ removes only an intact Runner-owned entry and creates another backup.
108
+
109
+ No managed client file contains a database URL, credential, trusted tenant or
110
+ principal value, approval authority, or apply authority. Claude Code asks the
111
+ human to approve project-scoped MCP servers; that host approval does not grant
112
+ Synapsor activation, proposal approval, or writeback authority.
113
+
114
+ ### Cursor
87
115
 
88
116
  For global setup, merge `cursor-global.mcp.json` through Cursor's MCP settings
89
117
  and replace every `<absolute-path-to-bundle>` marker. Restart the MCP server
@@ -100,6 +128,14 @@ the secured localhost workbench or operator CLI. No Add to Cursor deep link is
100
128
  generated because Runner has not verified a currently documented generic
101
129
  payload for this server. See [Host Compatibility](host-compatibility.md).
102
130
 
131
+ ### Claude Code And VS Code
132
+
133
+ For Claude Code, restart or open a new project session after installation and
134
+ approve the project MCP server when prompted. For VS Code, reload the window
135
+ and start the Synapsor server. `mcp status <client> --project --check-launch`
136
+ validates the generated command with a real MCP initialize and `tools/list`
137
+ handshake; it does not claim that a model completed a host UI interaction.
138
+
103
139
  ### OpenAI Agents SDK
104
140
 
105
141
  Install the SDK in your agent project and run either TypeScript template:
@@ -10,7 +10,29 @@ npx -y @synapsor/runner demo --quick
10
10
  The OSS runner command is `synapsor-runner`. The `synapsor` command is reserved
11
11
  for the Synapsor Cloud CLI.
12
12
 
13
- ## 1.6.4 (prepared, not published)
13
+ ## 1.6.5 (prepared, not published)
14
+
15
+ ### Managed Claude Code and VS Code project MCP installs
16
+
17
+ - The same reviewed, backup-producing project lifecycle previously available
18
+ for Cursor now manages Claude Code `.mcp.json` and VS Code
19
+ `.vscode/mcp.json`.
20
+ - Install previews preserve unrelated project settings, pin the exact Runner
21
+ version, write no credentials or trusted scope, and refuse unowned or
22
+ tampered `synapsor` entries. Reinstall is idempotent and uninstall removes
23
+ only Runner's intact entry.
24
+ - VS Code JSONC comments and trailing commas survive install and uninstall.
25
+ `mcp status <client> --project --check-launch` validates the generated
26
+ command against the exact reviewed MCP tool list.
27
+ - README, Workbench, onboarding, host recipes, and `doctor` now present Cursor,
28
+ Claude Code, and VS Code as peer project clients. Existing Cursor commands
29
+ and configuration remain compatible.
30
+
31
+ Prepared package versions: `@synapsor/runner@1.6.5` and
32
+ `synapsor-runner@1.6.5`. Spec 1.7.0 and DSL 1.7.0 are unchanged. No package is
33
+ published by this change.
34
+
35
+ ## 1.6.4 (published 2026-07-25)
14
36
 
15
37
  ### Review-correct onboarding and reviewed relationship paths
16
38
 
@@ -77,17 +99,9 @@ for the Synapsor Cloud CLI.
77
99
  their exact normalized bytes/digests and existing tool lists remain
78
100
  unchanged unless the feature is adopted.
79
101
 
80
- Prepared package versions: `@synapsor/runner@1.6.4`,
102
+ Published package versions: `@synapsor/runner@1.6.4`,
81
103
  `@synapsor/spec@1.7.0`, `@synapsor/dsl@1.7.0`, and the optional
82
104
  `synapsor-runner@1.6.4` command alias.
83
- No package is published by this change.
84
-
85
- Publish Spec first, then DSL, then the scoped Runner, and finally its exact
86
- version command alias. Force the final registry-only Runner dependency check
87
- with
88
- `VERIFY_PACKED_RUNNER_USE_LOCAL_SPEC=0 ./scripts/verify-packed-runner.sh` after
89
- Spec 1.7.0 is visible on npm, and verify the alias only after
90
- `@synapsor/runner@1.6.4` is visible.
91
105
 
92
106
  ## 1.6.3 (published 2026-07-24)
93
107
 
@@ -84,9 +84,10 @@ Check:
84
84
  ```bash
85
85
  synapsor-runner boundary status --json
86
86
  synapsor-runner boundary diff --json
87
- synapsor-runner mcp status cursor --project
87
+ synapsor-runner mcp status claude-code --project
88
88
  ```
89
89
 
90
+ Use `cursor` or `vscode` instead when that is the selected client.
90
91
  The exact boundary digest must be active, the profile must explicitly be
91
92
  `development` or `staging`, the generation lock and compiler/Spec versions
92
93
  must be current, and the inspected database role must still be SELECT-only,
@@ -133,12 +134,12 @@ Select **Clear** after a session to cancel active work and discard in-memory
133
134
  provider configuration/history. See [Workbench Ask With Your
134
135
  Model](workbench-ask.md).
135
136
 
136
- ## Cursor Has Production Tools Instead Of Authoring Tools
137
+ ## A Project Client Has Production Tools Instead Of Authoring Tools
137
138
 
138
139
  Install the managed local authoring entry only after boundary activation:
139
140
 
140
141
  ```bash
141
- synapsor-runner mcp install cursor \
142
+ synapsor-runner mcp install claude-code \
142
143
  --project \
143
144
  --authoring \
144
145
  --project-root . \
@@ -151,13 +152,15 @@ production config. The protected named capability remains available while
151
152
  Explore disappears:
152
153
 
153
154
  ```bash
154
- synapsor-runner mcp install cursor \
155
+ synapsor-runner mcp install claude-code \
155
156
  --project \
156
157
  --config ./synapsor.runner.json \
157
158
  --store ./.synapsor/local.db \
158
159
  --yes
159
160
  ```
160
161
 
162
+ Use `cursor` or `vscode` instead of `claude-code` for those clients.
163
+
161
164
  ## Boundary Became Stale After A Schema Or Grant Change
162
165
 
163
166
  Generated authority is bound to the schema, role, grants, ownership, RLS
@@ -204,19 +207,20 @@ Open the secured Workbench, run the real source-unchanged staging Data PR
204
207
  preview, review the complete digest, and activate it there. There is
205
208
  intentionally no activation CLI command to hand to a coding agent.
206
209
 
207
- ## Activated Tool Does Not Appear In Cursor
210
+ ## Activated Tool Does Not Appear In The MCP Client
208
211
 
209
212
  Some MCP hosts do not refresh `tools/list` for a running stdio session. First
210
213
  confirm that Runner's active tool surface changed:
211
214
 
212
215
  ```bash
213
216
  synapsor-runner action status --json
214
- synapsor-runner mcp status cursor --project --check-launch
217
+ synapsor-runner mcp status claude-code --project --check-launch
215
218
  ```
216
219
 
220
+ Use `cursor` or `vscode` instead of `claude-code` for those clients.
217
221
  Then reconnect or restart the project MCP server as directed by the Workbench.
218
222
  Do not work around a stale host session by adding approval, apply, activation,
219
- credentials, tenant values, or raw SQL to the Cursor configuration.
223
+ credentials, tenant values, or raw SQL to the client configuration.
220
224
 
221
225
  ## Safe Action Validation Reports Review Placeholders
222
226
 
@@ -531,7 +535,7 @@ Fix:
531
535
  Regenerate the snippet:
532
536
 
533
537
  ```bash
534
- npx -y @synapsor/runner mcp config claude-desktop \
538
+ synapsor-runner mcp config claude-desktop \
535
539
  --absolute-paths \
536
540
  --config ./synapsor.runner.json \
537
541
  --store ./.synapsor/local.db
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synapsor/runner",
3
- "version": "1.6.4",
3
+ "version": "1.6.5",
4
4
  "description": "Open-source MCP runtime for governed Postgres/MySQL access with reviewed capabilities, proposals, guarded writes, receipts, and replay.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -95,6 +95,7 @@
95
95
  "@modelcontextprotocol/sdk": "1.29.0",
96
96
  "@synapsor/spec": "^1.7.0",
97
97
  "jose": "6.2.3",
98
+ "jsonc-parser": "3.3.1",
98
99
  "mysql2": "^3.11.0",
99
100
  "pdf-lib": "1.17.1",
100
101
  "pg": "^8.13.0",