@brainmcp/brainmcp 0.1.3 → 0.1.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/README.md CHANGED
@@ -28,15 +28,48 @@ npx --yes @brainmcp/brainmcp@latest init --all --workspace <workspace-id> --scop
28
28
 
29
29
  After setup:
30
30
 
31
- 1. Restart each configured client you use.
32
- 2. Start a session, open its `brain` connection, and complete browser OAuth. Select the workspaces
33
- that client may reach.
34
- 3. Ask: `use brain to give me an overview of the workspace`.
35
- 4. Confirm the [dashboard Connect view](https://dash.brainmcp.ai/connect) changes from
36
- *waiting for first call* to **Agent seen ... ago**.
31
+ 1. Sign in to the [brain dashboard](https://dash.brainmcp.ai) and create one workspace for the
32
+ project if it does not exist yet. Start with **Review required**.
33
+ 2. Restart every configured client you plan to use. Installation only writes the MCP endpoint and
34
+ guidance; it does not log the client in.
35
+ 3. Log each client in to brain:
36
+ - **Codex:** run `codex mcp login brain` and finish the browser flow.
37
+ - **Claude Code:** start a session, run `/mcp`, select **brain**, then choose **Authenticate**.
38
+ - **Cursor:** open **Settings → Tools & MCP**, select **brain**, then connect/authorize it.
39
+ - **VS Code / Copilot:** start **brain** from the MCP server controls and complete browser sign-in.
40
+ 4. On the brain consent screen, review the scopes, select every workspace that connection may
41
+ reach, and choose its default workspace.
42
+ 5. In the project, ask: `Use brain to give me an overview of this workspace.` Confirm the
43
+ [dashboard Connect view](https://dash.brainmcp.ai/connect) changes from *waiting for first call*
44
+ to **Agent seen ... ago**.
45
+ 6. If the overview says the workspace is empty, open **Context map → Bootstrap with your agent**,
46
+ copy the prompt, and give it to the connected agent. The agent should inspect the project and
47
+ propose the initial Cores, Neurons, and links as one reviewable change.
48
+ 7. Open **Review** and approve, edit, or reject the bootstrap proposal. The workspace is not
49
+ populated until that proposal is applied.
50
+ 8. Leave the generated guidance enabled. It tells agents to orient and retrieve context before
51
+ non-trivial work, follow workspace Rules/Skills/Workflows, and propose only genuinely new durable
52
+ project knowledge afterward.
37
53
 
38
54
  No API keys or OAuth secrets are written to config files.
39
55
 
56
+ ## Rerun to upgrade or repair
57
+
58
+ Run the same `init` command again after upgrading the package or whenever Brain configuration or
59
+ instructions may have been damaged. Every run previews the repair before writing:
60
+
61
+ - The reserved `brain` MCP server entry is rewritten to the selected client’s exact defaults for
62
+ the installed release, even if an older client shape or valid-but-corrupted value is present.
63
+ - The Codex `[mcp_servers.brain]` table is restored even if its generated markers were removed.
64
+ - BrainMCP-managed instruction regions are replaced with the current defaults. Dedicated Cursor
65
+ and VS Code BrainMCP instruction files are fully regenerated, including frontmatter.
66
+ - Unrelated MCP servers, TOML tables, and text outside shared managed instruction blocks are kept.
67
+ Changed existing files receive backups, and the write is atomic.
68
+
69
+ Syntactically invalid JSON/JSONC, a non-object server map, unmatched/duplicated shared markers, or
70
+ another ambiguous structure still fails closed instead of guessing across unrelated user content.
71
+ Use a server name other than `brain` for a separately maintained custom connection.
72
+
40
73
  Check one client's file placement, managed guidance, endpoint, and public OAuth discovery:
41
74
 
42
75
  ```bash
@@ -69,7 +102,7 @@ the global path makes later `doctor`, `print`, and `remove` commands shorter.
69
102
 
70
103
  | Command | What it does |
71
104
  | --- | --- |
72
- | `init` | Preview and write MCP config + instruction file for a client |
105
+ | `init` | Preview and restore current MCP config + instruction defaults for a client |
73
106
  | `init --all` | Preview one combined change for Claude Code, Cursor, Codex, and VS Code |
74
107
  | `doctor` | Check placement, endpoint, managed markers, and OAuth discovery |
75
108
  | `print` | Print the canonical config and guidance without writing |
@@ -127,6 +160,9 @@ npx --yes @brainmcp/brainmcp@latest remove --client cursor --scope user
127
160
 
128
161
  - Canonical MCP endpoint: `https://mcp.brainmcp.ai/mcp` (server name `brain`)
129
162
  - Managed instruction markers (`brainmcp:managed:start` / `end`) so later `init` / `remove` can update safely
163
+ - Task-first guidance: disclose connection/auth failures honestly, orient, start with a bounded search working set, escalate to exact or broader reads only when needed, and apply recent review feedback
164
+ - Empty-workspace guidance: study the project, propose a small initial Core/Neuron/link map, and explain that it remains pending until human Review applies it
165
+ - Selective write-back guidance: propose only new durable project knowledge, never store secrets/raw transcripts/temporary output, correct exact duplicate creates instead of retrying, report proposal status, and abstain when nothing reusable changed
130
166
  - Backups for changed files; existing modes and symlinked dotfiles are preserved, and stale previews are refused
131
167
  - No embedded OAuth secrets — tokens come from the browser consent flow
132
168
 
@@ -134,6 +170,7 @@ npx --yes @brainmcp/brainmcp@latest remove --client cursor --scope user
134
170
 
135
171
  - Node.js 22+
136
172
  - A [brain](https://dash.brainmcp.ai) account and workspace for OAuth
173
+ - A client version that supports remote HTTP MCP and browser OAuth
137
174
 
138
175
  ## License
139
176
 
@@ -9,7 +9,7 @@ export const BRAIN_TROUBLESHOOTING_DOCS_URL = 'https://www.brainmcp.ai/docs/trou
9
9
  export const BRAIN_OAUTH_AUTH_METADATA_URL = 'https://dash.brainmcp.ai/.well-known/oauth-authorization-server';
10
10
  export const BRAIN_OAUTH_RESOURCE_METADATA_URL = 'https://mcp.brainmcp.ai/.well-known/oauth-protected-resource';
11
11
  /** Bump when always-on guidance text changes in a way clients should refresh. */
12
- export const GUIDANCE_VERSION = '2026.07.10';
12
+ export const GUIDANCE_VERSION = '2026.08.12';
13
13
  export const MCP_OAUTH_CLIENT_IDS = {
14
14
  claudeCode: 'claude-code',
15
15
  cursor: 'cursor',
@@ -61,22 +61,24 @@ export const MCP_CLIENT_PROFILES = {
61
61
  },
62
62
  };
63
63
  export const CANONICAL_WORKFLOW_STEPS = [
64
+ 'Confirm brain is connected; if tools are unavailable or authorization is required, disclose that no live brain context was loaded and help the user reconnect',
64
65
  'Pick workspace (brain_workspaces_list if needed; overview may omit workspaceId when a default is configured)',
65
66
  'Orient with brain_workspace_overview and follow recommendedNextActions',
66
- 'Pull context (search / graph_read / node_read / context_handoff; resolve Skills and due Workflows when recommended)',
67
+ 'Pull context (start with the bounded brain_node_search working set; use exact reads when needed; resolve Skills and due Workflows when recommended)',
67
68
  'Do the work outside brain',
68
- 'Write back durable learnings (brain_change_propose; digest only as disclosed fallback; comments/reports/workflow runs as needed)',
69
+ 'Write back only new durable learnings (brain_change_propose, or abstain; never store secrets, raw transcripts, or temporary output; digest only as disclosed fallback)',
69
70
  ];
70
71
  /** Overview payload canonicalWorkflow strings (stable, short). */
71
72
  export const OVERVIEW_CANONICAL_WORKFLOW = [
72
73
  'Start with brain_workspace_overview (workspaceId optional when a default is configured).',
73
74
  'If recommendations include human review, tell the user before relying on stale graph areas.',
74
- 'Search relevant nodes with brain_node_search using the current task intent.',
75
- 'Pull scoped context with brain_context_handoff or brain_graph_read.',
75
+ 'Search relevant nodes with brain_node_search using the current task intent; its default working set includes bounded top-node content and one-hop context.',
76
+ 'Use brain_node_read for exact content before editing a truncated root; use brain_context_handoff or brain_graph_read only when the task needs broader context.',
76
77
  'Resolve Skills and due Workflows when the overview recommends them.',
77
78
  'Treat rules returned in this overview as binding for the whole session; other read tools do not repeat them.',
78
- 'Check summaries.recentDecisions and summaries.recentCommentAcks for human feedback on your prior proposals and reports.',
79
- 'After meaningful work, propose durable graph updates with brain_change_propose.',
79
+ 'Check learningSignals.recentDecisions (and summaries.recentCommentAcks) for human feedback on your prior proposals and reports.',
80
+ 'After meaningful work, propose only new durable project-specific learnings with brain_change_propose; abstain when nothing reusable changed.',
81
+ 'When the workspace is empty, offer to study the project and propose a small initial map of Cores, Neurons, and described links; explain that it remains pending until human review applies it.',
80
82
  'Use brain_session_digest only as a disclosed fallback when the user asks to capture unstructured session learnings — not as an automatic dump of every session.',
81
83
  ];
82
84
  /** Short always-on project instruction block (CLAUDE.md / AGENTS.md / Cursor rules). */
@@ -86,7 +88,7 @@ export function buildProjectInstructionBlock(options) {
86
88
  const lines = [
87
89
  '## brain — shared project memory',
88
90
  '',
89
- 'This project uses brain (also called brainmcp or brAIn) as shared, reviewable agent memory over MCP.',
91
+ 'This project uses brain (also called brainmcp or brAIn) as shared, durable, reviewable project memory over MCP — not as a raw chat transcript or general scratchpad.',
90
92
  'When the user says "brain" or "brainmcp", use these brain_* tools.',
91
93
  ];
92
94
  if (includeEndpoint) {
@@ -95,7 +97,7 @@ export function buildProjectInstructionBlock(options) {
95
97
  if (workspaceId) {
96
98
  lines.push(`Workspace id: ${workspaceId}`);
97
99
  }
98
- lines.push('', '- Orient at session start: call brain_workspace_overview (workspaceId optional when this authorization has a default). Follow recommendedNextActions and treat returned Rules/Skills/Workflows as binding.', '- If the target workspace is unclear or the user asks to switch, call brain_workspaces_list and pass the chosen workspaceId to later tools. Keep later reads/writes explicit.', '- Before non-trivial work, pull relevant context with brain_node_search, then brain_graph_read / brain_node_read / brain_context_handoff. Resolve Skills and due Workflows when recommended.', '- After meaningful work, propose precise durable changes with brain_change_propose. Use brain_session_digest only as a disclosed fallback when the user asks to capture unstructured session learnings — not as an automatic dump of every session.', '- brain_change_propose is the only precise graph write path; review-required proposals do not change the graph until a human approves them.', '', `Guidance version: ${GUIDANCE_VERSION}`);
100
+ lines.push('', '- Connection honesty: if brain_* tools are unavailable or authorization is required, say that no live brain context was loaded, help the user reconnect/login, and continue only with clearly labeled local context. Never pretend Brain was read.', '- Orient at session start: call brain_workspace_overview (workspaceId optional when this authorization has a default). Follow recommendedNextActions and treat returned Rules/Skills/Workflows as binding.', '- If the target workspace is unclear or the user asks to switch, call brain_workspaces_list and pass the chosen workspaceId to later tools. Keep later reads/writes explicit.', '- Before non-trivial work, call brain_node_search with the task intent. Its default working set includes bounded top-node content and one-hop context; use brain_node_read for exact truncated content and broader reads only when needed.', '- Empty workspace bootstrap: offer to study the repository and propose a small initial set of Cores, Neurons, and described links in one reviewable brain_change_propose. Tell the user to approve/edit it in Review; do not describe the workspace as populated until it is applied.', '- Before a related proposal, apply rejection guidance from learningSignals.recentDecisions. Exact duplicate creates can be blocked; update or reuse the matched item instead of retrying.', '- After meaningful work, propose only genuinely new durable project knowledge (decisions, architecture, conventions, fixes, and operational lessons). Never store secrets, credentials, personal data, raw transcripts, or temporary build/log output. If nothing reusable changed, do not propose.', '- brain_change_propose is the only precise graph write path. Review-required proposals do not change the graph until a human approves them; report the proposal id/status and re-orient after review if continuing.', '- Use brain_session_digest only as a disclosed fallback when the user explicitly asks to capture unstructured session learnings — never as an automatic dump of every session.', '', `Guidance version: ${GUIDANCE_VERSION}`);
99
101
  return lines.join('\n');
100
102
  }
101
103
  /** Compact proactive reminder injected by SessionStart / post-compaction hooks. */
@@ -104,13 +106,13 @@ export function buildLifecycleOrientationReminder(options) {
104
106
  ? ` Prefer workspaceId ${options.workspaceId.trim()} when calling tools.`
105
107
  : ' Prefer the authorization default workspace when overview omits workspaceId.';
106
108
  return [
107
- 'brainMCP reminder: orient with brain_workspace_overview, pull context before non-trivial work, follow Rules/Skills/Workflows, and propose precise durable changes after meaningful work.',
109
+ 'brainMCP reminder: verify the connection honestly, orient with brain_workspace_overview, pull the bounded brain_node_search working set before non-trivial work, follow Rules/Skills/Workflows and recent review feedback, and propose only new durable changes after meaningful work.',
108
110
  'Session digests are a disclosed fallback, not an automatic dump.',
109
111
  workspaceHint.trim(),
110
112
  `Guidance ${GUIDANCE_VERSION}.`,
111
113
  ].join(' ');
112
114
  }
113
- export const WRITE_BACK_REMINDER = 'After meaningful work, propose precise durable graph changes with brain_change_propose. Use brain_session_digest only when the user asks to capture unstructured session learnings as a pending digest — not as an automatic dump of every session.';
115
+ export const WRITE_BACK_REMINDER = 'After meaningful work, propose only new durable project-specific graph changes with brain_change_propose; never store secrets, personal data, raw transcripts, or temporary output, and abstain when nothing reusable changed. Exact duplicate creates may be blocked, so update or reuse the matched item. Use brain_session_digest only when the user explicitly asks to capture unstructured session learnings as a pending digest — not as an automatic dump of every session.';
114
116
  export const AGENT_SKILL_NAME = 'using-brainmcp';
115
117
  export const AGENT_SKILL_DESCRIPTION = 'Use brain / brainmcp shared project memory: orient, pull context before work, follow Rules/Skills/Workflows, and write durable learnings back as reviewable proposals.';
116
118
  export function buildAgentSkillMarkdown(options) {
@@ -127,18 +129,24 @@ export function buildAgentSkillMarkdown(options) {
127
129
  '',
128
130
  '## Do this',
129
131
  '',
130
- '1. Call `brain_workspace_overview`' +
132
+ '1. Confirm the `brain_*` tools are available. If login/authorization is required, say that no live Brain context was loaded and help the user reconnect.',
133
+ '2. Call `brain_workspace_overview`' +
131
134
  (workspaceId ? ` with workspaceId \`${workspaceId}\`` : ' (omit workspaceId only when a default is configured)') +
132
135
  '.',
133
- '2. Follow `recommendedNextActions`, Rules, Skills, and due Workflows.',
134
- '3. Before non-trivial work: `brain_node_search` → read/handoff tools.',
135
- '4. After meaningful work: `brain_change_propose` for precise durable changes.',
136
- '5. Use `brain_session_digest` only as a disclosed fallback when asked to capture unstructured session learnings.',
136
+ '3. Follow `recommendedNextActions`, Rules, Skills, and due Workflows.',
137
+ '4. Before non-trivial work: use the default `brain_node_search` working set; call `brain_node_read` for exact truncated content and broader read/handoff tools only when needed.',
138
+ '5. If the graph is empty, offer to inspect the project and propose a small initial map in one reviewable change; explain that a human must apply it in Review.',
139
+ '6. Apply `learningSignals.recentDecisions`, then use `brain_change_propose` only for new durable project-specific changes. Report the proposal id/status and abstain when nothing reusable changed.',
140
+ '7. Use `brain_session_digest` only as a disclosed fallback when explicitly asked to capture unstructured session learnings.',
137
141
  '',
138
142
  '## Do not',
139
143
  '',
140
144
  '- Assume MCP server instructions are already in context — still call overview.',
145
+ '- Claim Brain context was loaded when tools were unavailable or authorization failed.',
141
146
  '- Dump every session into a digest automatically.',
147
+ '- Store secrets, credentials, personal data, raw transcripts, or temporary build/log output.',
148
+ '- Retry an exact duplicate create; update/reuse the matched item or wait for the existing pending proposal.',
149
+ '- Propose merely to show activity when no durable learning was produced.',
142
150
  '- Write the graph by any path other than `brain_change_propose`.',
143
151
  '',
144
152
  buildProjectInstructionBlock({ workspaceId, includeEndpoint: true }),
@@ -319,17 +327,18 @@ export function buildServerInstructions() {
319
327
  'WHY USE IT: pull durable project context instead of rediscovering it each session, and write hard-won learnings back so the next agent has them. Graph writes are reviewable proposals with full history — never silent database writes. Comments, session digests, digest claims, workflow-run recording, and clipboard copies are immediate audited side effects (not proposals).',
320
328
  '',
321
329
  'SESSION LOOP:',
322
- '1. Pick the target workspace — MCP OAuth is account-scoped, so one authorization can access consented workspaces only. If you do not know the target workspaceId, or the user says to switch/change/use another workspace, call brain_workspaces_list and choose by name, slug, or id. brain_workspace_overview may omit workspaceId when this authorization has a default workspace; keep later reads/writes explicit.',
323
- '2. Orient — call brain_workspace_overview for the chosen workspace. It returns identity, review policy, graph health, pending review, due work, writeBackReminder, and ordered recommendedNextActions; follow them.',
324
- '3. Pull — brain_node_search to find nodes by task intent, brain_graph_read for surrounding structure, brain_node_read for one node in full, brain_context_handoff to bundle selected nodes into a task packet. Resolve Skills (brain_skill_resolve) and due Workflows (brain_workflow_due) when the overview recommends them.',
325
- '4. Do the work outside brain.',
326
- '5. Write back — brain_change_propose for precise durable graph learnings (reviewable proposals); brain_session_digest only when the user asks you to capture unstructured session learnings as a pending digest (disclosed fallback, not an automatic dump); brain_tags_set to organize via proposals; brain_comment_create to leave the human a note or report after completing a user task or Workflow run (immediate); brain_workflow_record_run after running a due Workflow (immediate). To create and link new nodes in one proposal, pre-assign UUID targetIds on create_node and reference them from later operations.',
330
+ '1. Verify the connection — if brain_* tools are unavailable or authorization is required, explicitly say that no live Brain context was loaded and help the user reconnect/login. Never substitute remembered or local context while claiming it came from Brain.',
331
+ '2. Pick the target workspace — MCP OAuth is account-scoped, so one authorization can access consented workspaces only. If you do not know the target workspaceId, or the user says to switch/change/use another workspace, call brain_workspaces_list and choose by name, slug, or id. brain_workspace_overview may omit workspaceId when this authorization has a default workspace; keep later reads/writes explicit.',
332
+ '3. Orient — call brain_workspace_overview for the chosen workspace. It returns identity, review policy, graph health, pending review, due work, writeBackReminder, and ordered recommendedNextActions; follow them.',
333
+ '4. Pull — brain_node_search returns a bounded working set by default: ranked roots with content plus one-hop summaries around the top hit. Use responseMode=snippets for discovery, brain_node_read for exact truncated content, and graph_read/context_handoff only when broader context is genuinely needed. Resolve Skills (brain_skill_resolve) and due Workflows (brain_workflow_due) when recommended.',
334
+ '5. Do the work outside brain.',
335
+ '6. Write back — first apply learningSignals.recentDecisions. Use brain_change_propose only for new durable project-specific graph learnings (reviewable proposals), and abstain when nothing reusable changed. Never store secrets, credentials, personal data, raw transcripts, or temporary build/log output. Exact duplicate creates can be blocked; update/reuse the matched item or wait for the existing pending proposal instead of retrying. Report the proposal id/status. brain_session_digest remains an explicitly user-requested disclosed fallback, not an automatic dump; brain_tags_set organizes via proposals; brain_comment_create leaves an immediate human note/report; brain_workflow_record_run records a due Workflow. To create and link new nodes in one proposal, pre-assign UUID targetIds and reference them from later operations.',
327
336
  '',
328
337
  'CROSS-AGENT CLIPBOARD: brain_copy immediately stores the current relevant message/output (or something the user names) on an account-wide clipboard; brain_paste retrieves the latest clip or the last N (newest first, max 10). No workspaceId is required. Use this to move working context between agents or workspaces without manual copy/paste.',
329
338
  '',
330
339
  'RULES: brain_change_propose is the ONLY way to write the graph — never assume direct mutation. Review-required proposals do not change the graph until a human approves them; auto-apply proposals still record full history. When targetRef is omitted, proposals follow the workspace activeRef returned by read tools; pass targetRef.type=live to force live, or targetRef.type=branch with branchId for a draft (always review-required). brain_digest_pending claims digests (mutating). Read tools redact hidden and encrypted-secret content; large responses truncate with a hint to narrow scope.',
331
340
  '',
332
- 'BE PROACTIVE: orient at session start without being asked, pull relevant context before non-trivial work, and offer to save durable decisions, conventions, and fixes back to brain after meaningful work. If the workspace is empty, offer to bootstrap it; if work is due or proposals await review, surface it to the user. MCP server instructions are a protocol hint — still call overview even if you already saw this text.',
341
+ 'BE PROACTIVE: orient at session start without being asked, pull relevant context before non-trivial work, and write back genuinely new durable decisions, conventions, and fixes after meaningful work. Do not create a proposal merely to show activity. If the workspace is empty, offer to inspect the project and propose a small initial map of Cores, Neurons, and described links; tell the user it remains pending until they apply it in Review. If work is due, feedback awaits, or proposals await review, surface it to the user. MCP server instructions are a protocol hint — still call overview even if you already saw this text.',
333
342
  '',
334
343
  'MODELING: use the brain://guide/modeling resource and the overview\'s modelingGuidelines when creating or reshaping graph structure.',
335
344
  'HANDLES: dashboard copy buttons produce brain://node/<id> and brain://comment/<id>; resolve node handles with brain_node_read and comment handles with brain_comment_list using commentId.',
@@ -347,7 +356,7 @@ export function buildCanonicalWorkflowMarkdown(options) {
347
356
  '## Current task',
348
357
  task,
349
358
  '',
350
- 'Before working on it: call `brain_workspace_overview`, then `brain_node_search` and/or `brain_context_handoff` for nodes relevant to this task. Resolve skills and due workflows when the overview recommends them.',
359
+ 'Before working on it: call `brain_workspace_overview`, then use the default `brain_node_search` working set for this task. Use exact/broader reads only when the returned packet says they are needed. Resolve skills and due workflows when recommended.',
351
360
  '',
352
361
  ]
353
362
  : [];
@@ -358,11 +367,12 @@ export function buildCanonicalWorkflowMarkdown(options) {
358
367
  '',
359
368
  ...taskSection,
360
369
  '## Session loop',
361
- '1. **Pick workspace** — OAuth is account-scoped and limited to consented workspaces. If `workspaceId` is unknown or the user wants to switch, call `brain_workspaces_list`. `brain_workspace_overview` may omit `workspaceId` when a default is configured; keep later reads/writes explicit.',
362
- '2. **Orient** — `brain_workspace_overview` returns identity, review policy, graph health, pending review, due work, `writeBackReminder`, and `recommendedNextActions`. Follow them.',
363
- '3. **Pull** — `brain_node_search` (intent/tags), `brain_graph_read` (structure), `brain_node_read` (one node), `brain_context_handoff` (task packet). Use `brain_skill_resolve` and `brain_workflow_due` when recommended.',
364
- '4. **Work** — do the task outside brain.',
365
- '5. **Write back** — `brain_change_propose` for precise durable graph learnings; `brain_session_digest` only when the user asks to capture unstructured session learnings (disclosed fallback, not an automatic dump); `brain_tags_set` to organize via proposals; `brain_comment_create` for human notes/reports; `brain_workflow_record_run` after a due workflow.',
370
+ '1. **Verify connection** — if `brain_*` tools are unavailable or authorization is required, say that no live Brain context was loaded and help the user reconnect/login. Never claim remembered or local context came from Brain.',
371
+ '2. **Pick workspace** — OAuth is account-scoped and limited to consented workspaces. If `workspaceId` is unknown or the user wants to switch, call `brain_workspaces_list`. `brain_workspace_overview` may omit `workspaceId` when a default is configured; keep later reads/writes explicit.',
372
+ '3. **Orient** — `brain_workspace_overview` returns identity, review policy, graph health, pending review, due work, `writeBackReminder`, and `recommendedNextActions`. Follow them.',
373
+ '4. **Pull** — `brain_node_search` returns bounded roots plus one-hop context by default. Use `responseMode="snippets"` for discovery, `brain_node_read` for exact truncated content, and `brain_graph_read` / `brain_context_handoff` only when broader scope is needed. Use `brain_skill_resolve` and `brain_workflow_due` when recommended.',
374
+ '5. **Work** — do the task outside brain.',
375
+ '6. **Write back** — apply `learningSignals.recentDecisions`, then use `brain_change_propose` only for new durable project-specific learnings. Never store secrets, personal data, raw transcripts, or temporary output. Report the proposal id/status and abstain when nothing reusable changed. Exact duplicate creates can be blocked; update/reuse the matched item or wait for its pending proposal. `brain_session_digest` remains an explicitly user-requested disclosed fallback; use tags/comments/workflow-run tools for their specific jobs.',
366
376
  '',
367
377
  '## Cross-agent clipboard',
368
378
  '- `brain_copy` — immediately store the last relevant message/output (or something the user names) on the account clipboard.',
@@ -371,6 +381,7 @@ export function buildCanonicalWorkflowMarkdown(options) {
371
381
  '## Rules',
372
382
  '- `brain_change_propose` is the **only** graph write path — never assume silent mutation.',
373
383
  '- Review-required proposals wait for human approval; auto-apply still records full history.',
384
+ '- A duplicate block is deterministic, not a semantic confidence score. Never retry the same create unchanged.',
374
385
  '- Omit `targetRef` to follow workspace `activeRef` from reads; use `{ type: "live" }` to force live, or `{ type: "branch", branchId }` for a draft (always review-required).',
375
386
  '- Comments, digest capture/claims, workflow-run recording, and clipboard writes are **immediate audited side effects**, not reviewable proposals.',
376
387
  '- `brain_session_digest` never mutates graph memory directly; a later processing session turns candidates into reviewed suggested updates.',
@@ -385,7 +396,7 @@ export function buildCanonicalWorkflowMarkdown(options) {
385
396
  '- Use `brain://guide/reporting` before writing rich HTML reports. Scheduled workflow reports should be posted first with `targetNodeId=<workflowId>`, then linked from `brain_workflow_record_run` with `reportCommentId`.',
386
397
  '',
387
398
  '## Empty workspace',
388
- 'If the graph is empty, offer to bootstrap: study the repo and propose initial Cores/Neurons/links in one reviewable `brain_change_propose`, using pre-assigned UUID `targetId`s for nodes referenced by same-proposal edges/tags/moves.',
399
+ 'If the graph is empty, offer to bootstrap: study the repo and propose a small initial map of Cores, Neurons, and described links in one reviewable `brain_change_propose`, using pre-assigned UUID `targetId`s for nodes referenced by same-proposal edges/tags/moves. Tell the user to approve/edit it in Review; it is not populated until the proposal is applied.',
389
400
  '',
390
401
  `Guidance version: ${GUIDANCE_VERSION}`,
391
402
  ].join('\n');
@@ -46,16 +46,37 @@ export async function initAll(options) {
46
46
  function renderSetupNextSteps(clients, scope, workspace) {
47
47
  const clientList = clients.map(clientLabel).join(', ');
48
48
  const doctorCommands = clients.map((client) => ` ${buildBrainmcpDoctorCommand({ client, scope, workspaceId: workspace })}`);
49
+ const authorizationSteps = clients.map((client) => {
50
+ switch (client) {
51
+ case 'claude-code':
52
+ return ' - Claude Code: start a session, run /mcp, select brain, then choose Authenticate.';
53
+ case 'cursor':
54
+ return ' - Cursor: open Settings > Tools & MCP, select brain, then connect or authorize it.';
55
+ case 'codex':
56
+ return ' - Codex: run `codex mcp login brain` and finish the browser flow.';
57
+ case 'vscode':
58
+ return ' - VS Code / Copilot: start brain from the MCP server controls and complete its browser sign-in.';
59
+ default:
60
+ return ` - ${clientLabel(client)}: start the brain HTTP MCP connection and complete its browser OAuth flow.`;
61
+ }
62
+ });
49
63
  return [
50
64
  '',
51
65
  'Next steps:',
52
- `1. Restart or reopen ${clientList}.`,
53
- '2. Start a session, open the brain connection, and complete browser OAuth. Review the scopes and select the workspaces this client may reach.',
54
- '3. Ask: "Use brain to give me an overview of this workspace."',
55
- '4. Check local configuration and public service discovery if needed:',
66
+ '1. Sign in at https://dash.brainmcp.ai and create one workspace for this project if you do not already have one.',
67
+ `2. Restart or reopen ${clientList}.`,
68
+ '3. Log in to brain from every client you plan to use:',
69
+ ...authorizationSteps,
70
+ '4. In browser consent, review the scopes, select the workspace(s) this client may reach, and choose its default workspace.',
71
+ '5. In the project, ask: "Use brain to give me an overview of this workspace." Confirm the dashboard Connect view shows Agent seen.',
72
+ '6. If the workspace is empty, open Context map > Bootstrap with your agent, copy the prompt, and ask the agent to study this project and propose the initial Cores, Neurons, and links.',
73
+ '7. Open Review in the dashboard and approve, edit, or reject that bootstrap proposal. The workspace is not populated until the proposal is applied.',
74
+ '8. Keep the installed guidance enabled so agents orient before non-trivial work and propose only new durable project knowledge afterward.',
75
+ '9. Check local configuration and public service discovery if needed:',
56
76
  ...doctorCommands,
57
77
  `Guide: ${BRAIN_DOCS_URL}/quickstart`,
58
78
  '',
79
+ 'Safe to rerun: init restores the selected release defaults for the reserved brain server entry and BrainMCP-managed instructions. It preserves unrelated servers and text outside shared managed blocks, and backs up changed existing files.',
59
80
  'No API keys or OAuth secrets were written to configuration files.',
60
81
  ].join('\n');
61
82
  }
@@ -187,13 +208,10 @@ function vscodeUserConfigPath(home, env, platform) {
187
208
  }
188
209
  function upsertGuidance(existing, client, scope, workspace) {
189
210
  const preamble = guidancePreamble(client, scope);
190
- const normalized = preamble && existing
191
- ? collapseGeneratedPreambles(existing, preamble)
192
- : existing;
193
- const managed = upsertMarkdownBlock(normalized, renderGuidance(client, workspace));
194
- if (!preamble || normalized !== undefined)
195
- return managed;
196
- return `${preamble}\n\n${managed}`;
211
+ if (preamble) {
212
+ return `${preamble}\n\n${renderGuidance(client, workspace)}`;
213
+ }
214
+ return upsertMarkdownBlock(existing, renderGuidance(client, workspace));
197
215
  }
198
216
  function removeGuidance(existing, client, scope) {
199
217
  const preamble = guidancePreamble(client, scope);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,9 @@ export type ClientTarget = {
12
12
  /** Top-level server map key: VS Code uses `servers`, everything else `mcpServers`. */
13
13
  configRootKey: 'mcpServers' | 'servers';
14
14
  };
15
- export declare const MARKER_START = "<!-- brainmcp:managed:start version=2026.07.10 -->";
15
+ export declare const MARKER_START = "<!-- brainmcp:managed:start version=2026.08.10 -->";
16
16
  export declare const MARKER_END = "<!-- brainmcp:managed:end -->";
17
- export declare const TOML_MARKER_START = "# brainmcp:managed:start version=2026.07.10";
17
+ export declare const TOML_MARKER_START = "# brainmcp:managed:start version=2026.08.10";
18
18
  export declare const TOML_MARKER_END = "# brainmcp:managed:end";
19
19
  export declare function targetFor(client: ClientId, scope: Scope): ClientTarget;
20
20
  export declare function clientLabel(client: ClientId): string;
@@ -1,4 +1,4 @@
1
- import { BRAIN_MCP_ENDPOINT, MCP_CLIENT_PROFILES, VSCODE_USER_INSTRUCTIONS_FRONTMATTER, buildCodexConfigToml, buildProjectInstructionBlock, renderCursorMdc, } from '../agent-config.js';
1
+ import { BRAIN_MCP_ENDPOINT, GUIDANCE_VERSION, MCP_CLIENT_PROFILES, VSCODE_USER_INSTRUCTIONS_FRONTMATTER, buildCodexConfigToml, buildProjectInstructionBlock, renderCursorMdc, } from '../agent-config.js';
2
2
  export const BRAIN_ENDPOINT = BRAIN_MCP_ENDPOINT;
3
3
  export const CLIENT_IDS = ['claude-code', 'cursor', 'codex', 'vscode', 'generic'];
4
4
  export function assertClientId(value) {
@@ -6,9 +6,9 @@ export function assertClientId(value) {
6
6
  return value;
7
7
  throw new Error(`Unknown --client "${value}". Expected one of: ${CLIENT_IDS.join(', ')}.`);
8
8
  }
9
- export const MARKER_START = '<!-- brainmcp:managed:start version=2026.07.10 -->';
9
+ export const MARKER_START = `<!-- brainmcp:managed:start version=${GUIDANCE_VERSION} -->`;
10
10
  export const MARKER_END = '<!-- brainmcp:managed:end -->';
11
- export const TOML_MARKER_START = '# brainmcp:managed:start version=2026.07.10';
11
+ export const TOML_MARKER_START = `# brainmcp:managed:start version=${GUIDANCE_VERSION}`;
12
12
  export const TOML_MARKER_END = '# brainmcp:managed:end';
13
13
  export function targetFor(client, scope) {
14
14
  const home = scope === 'user';
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,oCAAoC,EACpC,oBAAoB,EACpB,4BAA4B,EAC5B,eAAe,GAEhB,MAAM,uBAAuB,CAAC;AAK/B,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAEjD,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAEvG,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAK,UAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAiB,CAAC;IAChF,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,uBAAuB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7F,CAAC;AAWD,MAAM,CAAC,MAAM,YAAY,GAAG,uCAAuC,gBAAgB,MAAM,CAAC;AAC1F,MAAM,CAAC,MAAM,UAAU,GAAG,+BAA+B,CAAC;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,oCAAoC,gBAAgB,EAAE,CAAC;AACxF,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAExD,MAAM,UAAU,SAAS,CAAC,MAAgB,EAAE,KAAY;IACtD,MAAM,IAAI,GAAG,KAAK,KAAK,MAAM,CAAC;IAC9B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,OAAO;gBACL,MAAM;gBACN,UAAU,EAAE,kBAAkB;gBAC9B,YAAY,EAAE,sCAAsC;gBACpD,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,YAAY;aAC5B,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO;gBACL,MAAM;gBACN,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW;gBAC/C,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW;gBACtD,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,YAAY;aAC5B,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,MAAM;gBACN,UAAU,EAAE,oBAAoB;gBAChC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW;gBACrD,YAAY,EAAE,MAAM;gBACpB,aAAa,EAAE,YAAY;aAC5B,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO;gBACL,MAAM;gBACN,iEAAiE;gBACjE,0CAA0C;gBAC1C,UAAU,EAAE,kBAAkB;gBAC9B,YAAY,EAAE,IAAI;oBAChB,CAAC,CAAC,gDAAgD;oBAClD,CAAC,CAAC,WAAW;gBACf,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,SAAS;aACzB,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,MAAM;gBACN,UAAU,EAAE,WAAW;gBACvB,YAAY,EAAE,WAAW;gBACzB,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,YAAY;aAC5B,CAAC;IACN,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAgB;IAC1C,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAgB,EAAE,KAAY;IAC7D,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1F,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC5C,OAAO,oCAAoC,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAgB,EAAE,WAAoB;IACnE,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1F,OAAO,GAAG,YAAY,KAAK,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,UAAU,IAAI,CAAC;IAC1F,CAAC;IACD,OAAO,GAAG,YAAY,KAAK,4BAA4B,CAAC,EAAE,WAAW,EAAE,CAAC,KAAK,UAAU,IAAI,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAgB;IAChD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,0EAA0E;YAC1E,2DAA2D;YAC3D,OAAO;gBACL,GAAG,EAAE,kBAAkB;gBACvB,IAAI,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE;aAC/D,CAAC;QACJ,KAAK,aAAa,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,sEAAsE;YACtE,yEAAyE;YACzE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC;IACrD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAgB;IAC/C,gFAAgF;IAChF,KAAK,MAAM,CAAC;IACZ,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9C,OAAO,GAAG,iBAAiB,KAAK,IAAI,KAAK,eAAe,IAAI,CAAC;AAC/D,CAAC"}
@@ -1,20 +1,33 @@
1
1
  import { brainServerConfig, renderTomlServer, MARKER_END, MARKER_START, TOML_MARKER_END, TOML_MARKER_START } from './config.js';
2
+ const MARKDOWN_START_PREFIX = '<!-- brainmcp:managed:start';
3
+ const TOML_START_PREFIX = '# brainmcp:managed:start';
4
+ const MARKDOWN_START_PATTERN = /^<!-- brainmcp:managed:start[^\r\n]*-->$/gm;
5
+ const TOML_START_PATTERN = /^# brainmcp:managed:start[^\r\n]*$/gm;
2
6
  export function hasManagedBlock(text, format) {
3
- return text.includes(format === 'toml' ? TOML_MARKER_START : MARKER_START);
7
+ return managedStarts(text, format).length > 0;
4
8
  }
5
9
  export function assertNoConflictingManagedBlock(text, format) {
6
10
  const [start, end] = format === 'toml' ? [TOML_MARKER_START, TOML_MARKER_END] : [MARKER_START, MARKER_END];
7
- const startCount = text.split(start).length - 1;
11
+ const prefix = format === 'toml' ? TOML_START_PREFIX : MARKDOWN_START_PREFIX;
12
+ const starts = managedStarts(text, format);
13
+ const rawStartCount = text.split(prefix).length - 1;
8
14
  const endCount = text.split(end).length - 1;
9
- if ((startCount !== 0 || endCount !== 0) && (startCount !== 1 || endCount !== 1 || text.indexOf(end) < text.indexOf(start))) {
15
+ const actualStart = starts[0];
16
+ const validSingleBlock = rawStartCount === 1 &&
17
+ starts.length === 1 &&
18
+ endCount === 1 &&
19
+ actualStart !== undefined &&
20
+ text.indexOf(end) > text.indexOf(actualStart);
21
+ if ((rawStartCount !== 0 || endCount !== 0) && !validSingleBlock) {
10
22
  throw new Error(`Refusing to modify conflicting manual BrainMCP markers. Repair ${start} / ${end} first.`);
11
23
  }
12
24
  }
13
25
  export function upsertMarkdownBlock(existing, block) {
14
26
  const current = existing ?? '';
15
27
  assertNoConflictingManagedBlock(current, 'markdown');
16
- if (hasManagedBlock(current, 'markdown')) {
17
- return current.replace(new RegExp(`${escapeRegex(MARKER_START)}[\\s\\S]*?${escapeRegex(MARKER_END)}\\n?`), block);
28
+ const existingStart = managedStarts(current, 'markdown')[0];
29
+ if (existingStart) {
30
+ return current.replace(new RegExp(`${escapeRegex(existingStart)}[\\s\\S]*?${escapeRegex(MARKER_END)}\\n?`), block);
18
31
  }
19
32
  return `${current}${current && !current.endsWith('\n') ? '\n' : ''}${current ? '\n' : ''}${block}`;
20
33
  }
@@ -22,30 +35,40 @@ export function removeMarkdownBlock(existing) {
22
35
  if (existing === undefined)
23
36
  return undefined;
24
37
  assertNoConflictingManagedBlock(existing, 'markdown');
25
- const result = existing.replace(new RegExp(`\\n?${escapeRegex(MARKER_START)}[\\s\\S]*?${escapeRegex(MARKER_END)}\\n?`), '').replace(/\n{3,}/g, '\n\n');
38
+ const existingStart = managedStarts(existing, 'markdown')[0];
39
+ if (!existingStart)
40
+ return existing;
41
+ const result = existing.replace(new RegExp(`\\n?${escapeRegex(existingStart)}[\\s\\S]*?${escapeRegex(MARKER_END)}\\n?`), '').replace(/\n{3,}/g, '\n\n');
26
42
  return result.trim() ? result : undefined;
27
43
  }
28
44
  export function upsertTomlBlock(existing, client) {
29
45
  const current = existing ?? '';
30
46
  assertNoConflictingManagedBlock(current, 'toml');
31
47
  const block = renderTomlServer(client);
32
- if (hasManagedBlock(current, 'toml')) {
33
- return current.replace(new RegExp(`${escapeRegex(TOML_MARKER_START)}[\\s\\S]*?${escapeRegex(TOML_MARKER_END)}\\n?`), block);
34
- }
35
- if (/\[mcp_servers\.brain\]/.test(current)) {
36
- throw new Error('Refusing to overwrite a manually-managed [mcp_servers.brain] block. Remove it or use BrainMCP markers.');
48
+ const existingStart = managedStarts(current, 'toml')[0];
49
+ if (existingStart) {
50
+ return current.replace(new RegExp(`${escapeRegex(existingStart)}[\\s\\S]*?${escapeRegex(TOML_MARKER_END)}\\n?`), block);
37
51
  }
38
- return `${current}${current && !current.endsWith('\n') ? '\n' : ''}${current ? '\n' : ''}${block}`;
52
+ return replaceTomlBrainTables(current, block);
39
53
  }
40
54
  export function removeTomlBlock(existing) {
41
55
  if (existing === undefined)
42
56
  return undefined;
43
57
  assertNoConflictingManagedBlock(existing, 'toml');
44
- const result = existing.replace(new RegExp(`\\n?${escapeRegex(TOML_MARKER_START)}[\\s\\S]*?${escapeRegex(TOML_MARKER_END)}\\n?`), '').replace(/\n{3,}/g, '\n\n');
58
+ const existingStart = managedStarts(existing, 'toml')[0];
59
+ if (!existingStart)
60
+ return existing;
61
+ const result = existing.replace(new RegExp(`\\n?${escapeRegex(existingStart)}[\\s\\S]*?${escapeRegex(TOML_MARKER_END)}\\n?`), '').replace(/\n{3,}/g, '\n\n');
45
62
  return result.trim() ? result : undefined;
46
63
  }
64
+ function managedStarts(text, format) {
65
+ const pattern = format === 'toml' ? TOML_START_PATTERN : MARKDOWN_START_PATTERN;
66
+ pattern.lastIndex = 0;
67
+ return Array.from(text.matchAll(pattern), (match) => match[0]);
68
+ }
47
69
  export function upsertJsonServer(existing, client, rootKey = 'mcpServers') {
48
70
  const source = existing?.trim() ? existing : `{\n "${rootKey}": {}\n}\n`;
71
+ const desired = brainServerConfig(client);
49
72
  const parsed = parseJsonc(source);
50
73
  const servers = parsed[rootKey];
51
74
  if (servers !== undefined && (typeof servers !== 'object' || servers === null || Array.isArray(servers))) {
@@ -58,17 +81,19 @@ export function upsertJsonServer(existing, client, rootKey = 'mcpServers') {
58
81
  if (servers !== undefined && !serverMap)
59
82
  throw new Error(`Could not locate the ${rootKey} object.`);
60
83
  const existingBrain = servers?.brain;
61
- if (existingBrain !== undefined && !isBrainConfig(existingBrain)) {
62
- throw new Error('Refusing to overwrite a manually-managed "brain" MCP server entry.');
63
- }
64
84
  if (existingBrain !== undefined) {
65
- if (serverMap)
66
- findObjectPropertyObject(source, serverMap.valueOpen, 'brain');
67
- return existing ?? source;
85
+ if (!serverMap)
86
+ throw new Error(`Could not locate the ${rootKey} object.`);
87
+ const property = findObjectProperty(source, serverMap.valueOpen, 'brain');
88
+ if (!property)
89
+ throw new Error('Could not locate the brain MCP server entry.');
90
+ if (sameJsonValue(existingBrain, desired))
91
+ return existing ?? source;
92
+ return replaceJsonPropertyValue(source, property, desired);
68
93
  }
69
94
  if (servers !== undefined)
70
- return insertJsonServer(source, brainServerConfig(client), rootKey);
71
- return insertJsonRootMap(source, rootKey, { brain: brainServerConfig(client) });
95
+ return insertJsonServer(source, desired, rootKey);
96
+ return insertJsonRootMap(source, rootKey, { brain: desired });
72
97
  }
73
98
  export function removeJsonServer(existing, rootKey = 'mcpServers') {
74
99
  if (existing === undefined)
@@ -126,6 +151,38 @@ function sameJsonValue(left, right) {
126
151
  function escapeRegex(value) {
127
152
  return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
128
153
  }
154
+ /**
155
+ * Re-running init owns the reserved Codex table name and restores its canonical
156
+ * value, even when old markers were removed. Unrelated TOML tables stay intact.
157
+ */
158
+ function replaceTomlBrainTables(current, block) {
159
+ const headerPattern = /^[\t ]*\[\[?([^\]\r\n]+)\]\]?[\t ]*(?:#.*)?$/gm;
160
+ const headers = Array.from(current.matchAll(headerPattern), (match) => ({
161
+ start: match.index,
162
+ name: match[1]?.trim() ?? '',
163
+ }));
164
+ const ranges = headers.flatMap((header, index) => {
165
+ if (header.name !== 'mcp_servers.brain' && !header.name.startsWith('mcp_servers.brain.'))
166
+ return [];
167
+ return [{ start: header.start, end: headers[index + 1]?.start ?? current.length }];
168
+ });
169
+ const mergedRanges = ranges.reduce((merged, range) => {
170
+ const previous = merged.at(-1);
171
+ if (previous && range.start <= previous.end) {
172
+ previous.end = Math.max(previous.end, range.end);
173
+ }
174
+ else {
175
+ merged.push({ ...range });
176
+ }
177
+ return merged;
178
+ }, []);
179
+ let repaired = current;
180
+ for (const range of mergedRanges.reverse()) {
181
+ repaired = `${repaired.slice(0, range.start)}${repaired.slice(range.end)}`;
182
+ }
183
+ repaired = repaired.replace(/\n{3,}/g, '\n\n').trimEnd();
184
+ return `${repaired}${repaired ? '\n\n' : ''}${block}`;
185
+ }
129
186
  /** Adds a server without reformatting existing JSONC comments or sibling entries. */
130
187
  function insertJsonServer(source, server, rootKey) {
131
188
  const root = rootObjectOpen(source);
@@ -160,8 +217,8 @@ function insertJsonRootMap(source, rootKey, value) {
160
217
  const comma = source.slice(open + 1, end).trimEnd().endsWith(',') ? '' : ',';
161
218
  return `${source.slice(0, end)}${comma}\n${entryIndent}${rendered}${source.slice(end)}`;
162
219
  }
163
- /** Finds an object-valued property at the current object's top level, ignoring strings/comments. */
164
- function findObjectPropertyObject(source, objectOpen, propertyName) {
220
+ /** Finds any JSON-valued property at the current object's top level. */
221
+ function findObjectProperty(source, objectOpen, propertyName) {
165
222
  const objectClose = matchingBrace(source, objectOpen);
166
223
  let found;
167
224
  let index = objectOpen + 1;
@@ -181,21 +238,41 @@ function findObjectPropertyObject(source, objectOpen, propertyName) {
181
238
  const colon = skipJsoncTrivia(source, keyEnd + 1, objectClose);
182
239
  if (source[colon] !== ':')
183
240
  throw new Error('Invalid JSON/JSONC object property.');
184
- const valueOpen = skipJsoncTrivia(source, colon + 1, objectClose);
241
+ const valueStart = skipJsoncTrivia(source, colon + 1, objectClose);
185
242
  if (key === propertyName) {
186
- if (source[valueOpen] !== '{')
187
- throw new Error(`${propertyName} must be an object.`);
188
243
  if (found)
189
244
  throw new Error(`Duplicate ${propertyName} properties are ambiguous; remove the duplicate before continuing.`);
190
- found = { keyStart, valueOpen, valueClose: matchingBrace(source, valueOpen) };
245
+ found = {
246
+ keyStart,
247
+ valueStart,
248
+ valueEnd: jsonValueEnd(source, valueStart, objectClose),
249
+ };
191
250
  }
192
- const delimiter = valueDelimiter(source, valueOpen, objectClose);
251
+ const delimiter = valueDelimiter(source, valueStart, objectClose);
193
252
  if (delimiter >= objectClose)
194
253
  return found;
195
254
  index = delimiter + 1;
196
255
  }
197
256
  return found;
198
257
  }
258
+ function replaceJsonPropertyValue(source, property, value) {
259
+ const indent = lineIndentAt(source, property.keyStart);
260
+ const rendered = JSON.stringify(value, null, 2).replace(/\n/g, `\n${indent}`);
261
+ return `${source.slice(0, property.valueStart)}${rendered}${source.slice(property.valueEnd + 1)}`;
262
+ }
263
+ /** Finds an object-valued property at the current object's top level, ignoring strings/comments. */
264
+ function findObjectPropertyObject(source, objectOpen, propertyName) {
265
+ const property = findObjectProperty(source, objectOpen, propertyName);
266
+ if (!property)
267
+ return undefined;
268
+ if (source[property.valueStart] !== '{')
269
+ throw new Error(`${propertyName} must be an object.`);
270
+ return {
271
+ keyStart: property.keyStart,
272
+ valueOpen: property.valueStart,
273
+ valueClose: property.valueEnd,
274
+ };
275
+ }
199
276
  /** Removes one top-level object property without reformatting its siblings or their comments. */
200
277
  function removeObjectProperty(source, objectOpen, propertyName) {
201
278
  const property = findObjectPropertyObject(source, objectOpen, propertyName);
@@ -235,6 +312,23 @@ function jsonStringEnd(source, start) {
235
312
  }
236
313
  throw new Error('Unterminated JSON string.');
237
314
  }
315
+ function jsonValueEnd(source, start, objectClose) {
316
+ if (source[start] === '{')
317
+ return matchingBrace(source, start);
318
+ if (source[start] === '[')
319
+ return matchingBracket(source, start);
320
+ if (source[start] === '"')
321
+ return jsonStringEnd(source, start);
322
+ let index = start;
323
+ while (index < objectClose &&
324
+ !/[\s,}]/.test(source[index]) &&
325
+ !(source[index] === '/' && (source[index + 1] === '/' || source[index + 1] === '*'))) {
326
+ index += 1;
327
+ }
328
+ if (index === start)
329
+ throw new Error('Invalid JSON/JSONC property value.');
330
+ return index - 1;
331
+ }
238
332
  function valueDelimiter(source, start, objectClose) {
239
333
  let objectDepth = 0;
240
334
  let arrayDepth = 0;
@@ -429,6 +523,12 @@ function removeTrailingCommas(source) {
429
523
  return output;
430
524
  }
431
525
  function matchingBrace(source, open) {
526
+ return matchingContainer(source, open, '{', '}', 'object');
527
+ }
528
+ function matchingBracket(source, open) {
529
+ return matchingContainer(source, open, '[', ']', 'array');
530
+ }
531
+ function matchingContainer(source, open, openCharacter, closeCharacter, label) {
432
532
  let depth = 0;
433
533
  let quote = false;
434
534
  let escaped = false;
@@ -470,11 +570,11 @@ function matchingBrace(source, open) {
470
570
  }
471
571
  if (character === '"')
472
572
  quote = true;
473
- else if (character === '{')
573
+ else if (character === openCharacter)
474
574
  depth += 1;
475
- else if (character === '}' && --depth === 0)
575
+ else if (character === closeCharacter && --depth === 0)
476
576
  return index;
477
577
  }
478
- throw new Error('Unterminated JSON object.');
578
+ throw new Error(`Unterminated JSON ${label}.`);
479
579
  }
480
580
  //# sourceMappingURL=managed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"managed.js","sourceRoot":"","sources":["../../src/lib/managed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managed.js","sourceRoot":"","sources":["../../src/lib/managed.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brainmcp/brainmcp",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Safely configure BrainMCP guidance and MCP connections across agent projects",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,51 +0,0 @@
1
- /** Emit stub — replaced by bundled agent-config.js after `tsc`. */
2
- export type McpClientProfileId = 'claude-code' | 'cursor' | 'codex' | 'vscode' | 'generic';
3
- export declare const BRAIN_MCP_ENDPOINT = "https://mcp.brainmcp.ai/mcp";
4
- export declare const BRAIN_DOCS_URL = "https://www.brainmcp.ai/docs";
5
- export declare const BRAINMCP_CLI_PACKAGE_SPEC = "@brainmcp/brainmcp@latest";
6
- export declare const BRAINMCP_GLOBAL_CLIENTS: readonly ["claude-code", "cursor", "codex", "vscode"];
7
- export declare const GUIDANCE_VERSION = "2026.07.10";
8
- export declare const VSCODE_USER_INSTRUCTIONS_FRONTMATTER = "";
9
- export declare const MCP_CLIENT_PROFILES: Record<McpClientProfileId, {
10
- id: McpClientProfileId;
11
- label: string;
12
- oauthClientId?: string;
13
- supportsProjectInstructions: boolean;
14
- supportsPlugins: boolean;
15
- supportsHooks: boolean;
16
- notes: string;
17
- }>;
18
- export declare function buildProjectInstructionBlock(_options?: {
19
- workspaceId?: string;
20
- includeEndpoint?: boolean;
21
- }): string;
22
- export declare function renderCursorMdc(_options?: {
23
- workspaceId?: string;
24
- alwaysApply?: boolean;
25
- }): string;
26
- export declare function buildCursorMcpJson(_options?: {
27
- oauthClientId?: string;
28
- }): string;
29
- export declare function buildClaudeCodeMcpAddCommand(): string;
30
- export declare function buildBrainmcpInitCommand(_options?: {
31
- workspaceId?: string;
32
- client?: McpClientProfileId;
33
- all?: boolean;
34
- scope?: 'project' | 'user';
35
- invoke?: 'npx' | 'global';
36
- yes?: boolean;
37
- }): string;
38
- export declare function buildBrainmcpDoctorCommand(_options?: {
39
- workspaceId?: string;
40
- client?: McpClientProfileId;
41
- scope?: 'project' | 'user';
42
- invoke?: 'npx' | 'global';
43
- }): string;
44
- export declare function buildBrainmcpGlobalInstallCommand(): string;
45
- export declare function buildBrainmcpUserScopeSetupScript(_options?: {
46
- workspaceId?: string;
47
- }): string;
48
- export declare function buildAgentSkillMarkdown(_options?: {
49
- workspaceId?: string;
50
- }): string;
51
- export declare function buildCodexConfigToml(): string;
@@ -1,43 +0,0 @@
1
- export const BRAIN_MCP_ENDPOINT = 'https://mcp.brainmcp.ai/mcp';
2
- export const BRAIN_DOCS_URL = 'https://www.brainmcp.ai/docs';
3
- export const BRAINMCP_CLI_PACKAGE_SPEC = '@brainmcp/brainmcp@latest';
4
- export const BRAINMCP_GLOBAL_CLIENTS = [
5
- 'claude-code',
6
- 'cursor',
7
- 'codex',
8
- 'vscode',
9
- ];
10
- export const GUIDANCE_VERSION = '2026.07.10';
11
- export const VSCODE_USER_INSTRUCTIONS_FRONTMATTER = '';
12
- export const MCP_CLIENT_PROFILES = {};
13
- export function buildProjectInstructionBlock(_options) {
14
- return '';
15
- }
16
- export function renderCursorMdc(_options) {
17
- return '';
18
- }
19
- export function buildCursorMcpJson(_options) {
20
- return '{}';
21
- }
22
- export function buildClaudeCodeMcpAddCommand() {
23
- return '';
24
- }
25
- export function buildBrainmcpInitCommand(_options) {
26
- return '';
27
- }
28
- export function buildBrainmcpDoctorCommand(_options) {
29
- return '';
30
- }
31
- export function buildBrainmcpGlobalInstallCommand() {
32
- return '';
33
- }
34
- export function buildBrainmcpUserScopeSetupScript(_options) {
35
- return '';
36
- }
37
- export function buildAgentSkillMarkdown(_options) {
38
- return '';
39
- }
40
- export function buildCodexConfigToml() {
41
- return '';
42
- }
43
- //# sourceMappingURL=agent-config-stub.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-config-stub.js","sourceRoot":"","sources":["../../src/types/agent-config-stub.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AAChE,MAAM,CAAC,MAAM,cAAc,GAAG,8BAA8B,CAAC;AAC7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAC;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,aAAa;IACb,QAAQ;IACR,OAAO;IACP,QAAQ;CACwC,CAAC;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAC7C,MAAM,CAAC,MAAM,oCAAoC,GAAG,EAAE,CAAC;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAWlC,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,QAG5C;IACC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAA0D;IACxF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAqC;IACtE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAOxC;IACC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAK1C;IACC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,QAAmC;IACnF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAmC;IACzE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,EAAE,CAAC;AACZ,CAAC"}