@agentbrain/mcp-server 1.4.37 → 1.4.38

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.
@@ -7,6 +7,7 @@ export interface SaveContextInput {
7
7
  export interface SaveContextOutput {
8
8
  success: boolean;
9
9
  files_written: string[];
10
+ agent_detected: 'cursor' | 'windsurf' | 'claude' | 'unknown';
10
11
  message: string;
11
12
  }
12
13
  export declare function saveContext(input: SaveContextInput): Promise<SaveContextOutput>;
@@ -1 +1 @@
1
- {"version":3,"file":"save-context.d.ts","sourceRoot":"","sources":["../../src/tools/save-context.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiErF;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;CA0B7B,CAAA"}
1
+ {"version":3,"file":"save-context.d.ts","sourceRoot":"","sources":["../../src/tools/save-context.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,cAAc,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC5D,OAAO,EAAE,MAAM,CAAA;CAChB;AAwGD,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwHrF;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;CA0B7B,CAAA"}
@@ -1,9 +1,9 @@
1
1
  // MCP tool: save_context - save agent-generated context to disk
2
- import { writeFile, mkdir } from 'node:fs/promises';
2
+ import { writeFile, mkdir, readFile } from 'node:fs/promises';
3
3
  import { existsSync } from 'node:fs';
4
4
  import { join, resolve } from 'node:path';
5
5
  import { homedir } from 'node:os';
6
- import { getGitHash, injectIntoAllAgents } from '@agentbrain/core';
6
+ import { getGitHash, ensureGitignore } from '@agentbrain/core';
7
7
  /**
8
8
  * Expand path: handles ~, relative paths, etc.
9
9
  */
@@ -13,25 +13,112 @@ function expandPath(path) {
13
13
  }
14
14
  return resolve(path);
15
15
  }
16
+ /**
17
+ * Detect agent type from filesystem
18
+ */
19
+ function detectAgentType(repoPath) {
20
+ if (existsSync(join(repoPath, '.cursor'))) {
21
+ return 'cursor';
22
+ }
23
+ if (existsSync(join(repoPath, '.windsurf'))) {
24
+ return 'windsurf';
25
+ }
26
+ if (existsSync(join(repoPath, 'CLAUDE.md'))) {
27
+ return 'claude';
28
+ }
29
+ return 'unknown';
30
+ }
31
+ /**
32
+ * Get agent file content
33
+ */
34
+ function getAgentFileContent(isModernFormat) {
35
+ const baseContent = `## AgentBrain Context
36
+ @.agentbrain/context.md
37
+ @.agentbrain/patterns.md
38
+ @.agentbrain/dependency-map.md
39
+
40
+ ## Workflow
41
+ - Always read context at session start via load_context()
42
+ - Before any task: load_spec() or agentbrain spec "task"
43
+ - After commits: context auto-updates via git hook
44
+ - If stuck in a loop: detect_doom_loop() or agentbrain doom
45
+ - End of session: save_handoff() or agentbrain handoff
46
+ - If context feels stale: agentbrain init
47
+
48
+ ## MCP Tools
49
+ - load_context() — full codebase context
50
+ - load_spec() — spec for current task
51
+ - detect_doom_loop() — check for stuck patterns
52
+ - save_handoff() — end of session handoff
53
+ - setup_repo() — first time MCP setup
54
+ - save_context() — save agent-generated context`;
55
+ if (isModernFormat) {
56
+ return `---
57
+ description: AgentBrain codebase context and workflow
58
+ alwaysApply: true
59
+ ---
60
+
61
+ ${baseContent}`;
62
+ }
63
+ return baseContent;
64
+ }
65
+ /**
66
+ * Check if agent file already contains AgentBrain section
67
+ */
68
+ async function hasAgentBrainSection(filePath) {
69
+ if (!existsSync(filePath)) {
70
+ return false;
71
+ }
72
+ const content = await readFile(filePath, 'utf-8');
73
+ return content.includes('── AgentBrain ──');
74
+ }
75
+ /**
76
+ * Append AgentBrain section to agent file
77
+ */
78
+ async function appendToAgentFile(filePath, content) {
79
+ const marker = '# ── AgentBrain ──────────────────────────────';
80
+ const endMarker = '# ── End AgentBrain ──────────────────────────';
81
+ if (await hasAgentBrainSection(filePath)) {
82
+ return; // Already has AgentBrain section
83
+ }
84
+ let existingContent = '';
85
+ if (existsSync(filePath)) {
86
+ existingContent = await readFile(filePath, 'utf-8');
87
+ }
88
+ const agentBrainSection = `\n${marker}\n${content}\n${endMarker}\n`;
89
+ await writeFile(filePath, existingContent + agentBrainSection, 'utf-8');
90
+ }
91
+ /**
92
+ * Create modern agent file (with frontmatter)
93
+ */
94
+ async function createModernAgentFile(filePath, content) {
95
+ const dir = join(filePath, '..');
96
+ if (!existsSync(dir)) {
97
+ await mkdir(dir, { recursive: true });
98
+ }
99
+ // Modern files get replaced entirely (they're auto-loaded)
100
+ await writeFile(filePath, content, 'utf-8');
101
+ }
16
102
  export async function saveContext(input) {
17
103
  const { repo_path, context, dependency_map, patterns } = input;
18
104
  // Expand path to handle ~, relative paths, etc.
19
105
  const expandedPath = expandPath(repo_path);
20
106
  const contextDir = join(expandedPath, '.agentbrain');
21
- // Create .agentbrain directory if it doesn't exist
107
+ const filesWritten = [];
108
+ // Step 1: Create .agentbrain directory if it doesn't exist
22
109
  if (!existsSync(contextDir)) {
23
110
  await mkdir(contextDir, { recursive: true });
24
111
  }
25
- // Write the three context files
112
+ // Step 2: Write the three context files
26
113
  const contextPath = join(contextDir, 'context.md');
27
114
  const depMapPath = join(contextDir, 'dependency-map.md');
28
115
  const patternsPath = join(contextDir, 'patterns.md');
29
116
  await writeFile(contextPath, context, 'utf-8');
30
117
  await writeFile(depMapPath, dependency_map, 'utf-8');
31
118
  await writeFile(patternsPath, patterns, 'utf-8');
32
- // Get current git hash
119
+ filesWritten.push('.agentbrain/context.md', '.agentbrain/dependency-map.md', '.agentbrain/patterns.md');
120
+ // Step 3: Get current git hash and write cache.json
33
121
  const gitHash = await getGitHash(expandedPath);
34
- // Create basic cache.json with git hash
35
122
  const cachePath = join(contextDir, 'cache.json');
36
123
  const cache = {
37
124
  gitHash,
@@ -55,17 +142,69 @@ export async function saveContext(input) {
55
142
  savedAt: new Date().toISOString(),
56
143
  };
57
144
  await writeFile(cachePath, JSON.stringify(cache, null, 2), 'utf-8');
58
- // Inject references into agent files if they exist
59
- await injectIntoAllAgents(expandedPath, gitHash);
145
+ filesWritten.push('.agentbrain/cache.json');
146
+ // Step 4: Update .gitignore
147
+ await ensureGitignore(expandedPath);
148
+ // Step 5: Detect agent type
149
+ const agentType = detectAgentType(expandedPath);
150
+ // Step 6: Create agent files based on detection
151
+ const modernContent = getAgentFileContent(true);
152
+ const legacyContent = getAgentFileContent(false);
153
+ if (agentType === 'cursor') {
154
+ // Create modern format
155
+ const modernPath = join(expandedPath, '.cursor', 'rules', 'agentbrain.mdc');
156
+ await createModernAgentFile(modernPath, modernContent);
157
+ filesWritten.push('.cursor/rules/agentbrain.mdc');
158
+ // Create legacy fallback
159
+ const legacyPath = join(expandedPath, '.cursorrules');
160
+ await appendToAgentFile(legacyPath, legacyContent);
161
+ filesWritten.push('.cursorrules');
162
+ }
163
+ else if (agentType === 'windsurf') {
164
+ // Create modern format (plain markdown, no frontmatter for Windsurf)
165
+ const modernPath = join(expandedPath, '.windsurf', 'rules', 'agentbrain.md');
166
+ await createModernAgentFile(modernPath, legacyContent); // Use legacyContent (no frontmatter)
167
+ filesWritten.push('.windsurf/rules/agentbrain.md');
168
+ // Create legacy fallback
169
+ const legacyPath = join(expandedPath, '.windsurfrules');
170
+ await appendToAgentFile(legacyPath, legacyContent);
171
+ filesWritten.push('.windsurfrules');
172
+ }
173
+ else if (agentType === 'claude') {
174
+ // Just create/append to CLAUDE.md
175
+ const claudePath = join(expandedPath, 'CLAUDE.md');
176
+ await appendToAgentFile(claudePath, legacyContent);
177
+ filesWritten.push('CLAUDE.md');
178
+ }
179
+ else {
180
+ // Unknown - create all legacy files as safe default
181
+ const claudePath = join(expandedPath, 'CLAUDE.md');
182
+ const cursorPath = join(expandedPath, '.cursorrules');
183
+ const windsurfPath = join(expandedPath, '.windsurfrules');
184
+ await appendToAgentFile(claudePath, legacyContent);
185
+ await appendToAgentFile(cursorPath, legacyContent);
186
+ await appendToAgentFile(windsurfPath, legacyContent);
187
+ filesWritten.push('CLAUDE.md', '.cursorrules', '.windsurfrules');
188
+ }
189
+ // Step 7: Generate message
190
+ let message = '';
191
+ if (agentType === 'cursor') {
192
+ message = `Detected Cursor (.cursor/ directory found). Created .cursor/rules/agentbrain.mdc (modern, always applied) and .cursorrules (legacy fallback).`;
193
+ }
194
+ else if (agentType === 'windsurf') {
195
+ message = `Detected Windsurf (.windsurf/ directory found). Created .windsurf/rules/agentbrain.md (modern, always applied) and .windsurfrules (legacy fallback).`;
196
+ }
197
+ else if (agentType === 'claude') {
198
+ message = `Detected Claude (CLAUDE.md found). Updated CLAUDE.md with AgentBrain context loading instructions.`;
199
+ }
200
+ else {
201
+ message = `Could not detect your agent type. Created CLAUDE.md, .cursorrules, and .windsurfrules as a safe default. If you're using Cursor, .cursor/rules/agentbrain.mdc gives better performance. If Windsurf, use .windsurf/rules/agentbrain.md instead.`;
202
+ }
60
203
  return {
61
204
  success: true,
62
- files_written: [
63
- '.agentbrain/context.md',
64
- '.agentbrain/dependency-map.md',
65
- '.agentbrain/patterns.md',
66
- '.agentbrain/cache.json',
67
- ],
68
- message: 'Context saved successfully. load_context will now work without an API key.',
205
+ files_written: filesWritten,
206
+ agent_detected: agentType,
207
+ message: `Context saved successfully. ${message} load_context will now work without an API key.`,
69
208
  };
70
209
  }
71
210
  export const saveContextSchema = {
@@ -1 +1 @@
1
- {"version":3,"file":"save-context.js","sourceRoot":"","sources":["../../src/tools/save-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"save-context.js","sourceRoot":"","sources":["../../src/tools/save-context.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentbrain/mcp-server",
3
- "version": "1.4.37",
3
+ "version": "1.4.38",
4
4
  "description": "Model Context Protocol server for AgentBrain - connect Claude, Cursor, and Windsurf to repository intelligence",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",