@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.
- package/CHANGELOG.md +25 -3
- package/README.md +36 -23
- package/dist/cli.d.ts.map +1 -1
- package/dist/runner.mjs +382 -242
- package/docs/agent-guided-setup.md +8 -6
- package/docs/auto-boundary-and-scoped-explore.md +12 -8
- package/docs/client-recipes.md +40 -11
- package/docs/getting-started-own-database.md +16 -14
- package/docs/guided-onboarding.md +6 -4
- package/docs/host-compatibility.md +24 -11
- package/docs/mcp-client-setup.md +19 -4
- package/docs/mcp-clients.md +46 -10
- package/docs/release-notes.md +24 -10
- package/docs/troubleshooting-first-run.md +12 -8
- package/package.json +2 -1
|
@@ -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
|
-
|
|
175
|
+
synapsor-runner mcp config --absolute-paths
|
|
175
176
|
```
|
|
176
177
|
|
|
177
|
-
Do not write into a client configuration without explicit user consent.
|
|
178
|
-
|
|
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
|
-
|
|
182
|
+
synapsor-runner mcp install claude-code --project --dry-run
|
|
182
183
|
```
|
|
183
184
|
|
|
184
|
-
|
|
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
|
|
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
|
|
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
|
|
220
|
+
synapsor-runner mcp status claude-code --project
|
|
221
221
|
```
|
|
222
222
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
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
|
|
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
|
|
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
|
|
package/docs/client-recipes.md
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
95
|
+
Use Runner's owned project lifecycle:
|
|
96
96
|
|
|
97
97
|
```bash
|
|
98
|
-
|
|
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
|
-
|
|
102
|
-
|
|
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:**
|
|
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
|
-
|
|
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
|
|
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
|
|
244
|
+
## 5. Add the reviewed tools to your MCP client
|
|
245
245
|
|
|
246
|
-
After setting trusted environment values,
|
|
247
|
-
entry without hand-editing
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
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
|
-
|
|
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
|
|
319
|
-
snippets for the same reviewed authority. Stdio opens no
|
|
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
|
|
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-
|
|
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 |
|
|
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
|
|
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
|
-
##
|
|
25
|
+
## Managed Project Setup
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
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
|
|
33
|
-
synapsor-runner mcp
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
|
package/docs/mcp-client-setup.md
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
package/docs/mcp-clients.md
CHANGED
|
@@ -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
|
|
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
|
-
###
|
|
69
|
+
### Managed Project Installs
|
|
69
70
|
|
|
70
|
-
|
|
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
|
|
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
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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:
|
package/docs/release-notes.md
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
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
|
|
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
|
-
##
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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.
|
|
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",
|