@exaudeus/memory-mcp 1.9.1 → 1.9.2

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.
Files changed (2) hide show
  1. package/dist/index.js +11 -11
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -215,7 +215,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
215
215
  // --- Retrieval ---
216
216
  {
217
217
  name: 'brief',
218
- description: `Session start for a project. Returns your preferences (global), gotchas, and recent work for this project and branch. Also surfaces stale entries that need review. Call once at the beginning of a conversation. Lobe names: ${currentLobeNames.join(', ') || 'none configured'}. Example: brief(lobe: "${currentLobeNames[0] ?? 'my-project'}")`,
218
+ description: `Session-start briefing for a project. Returns everything stored via learn/gotcha/convention/prefer — preferences, gotchas, stale entries, counts. Call once at conversation start. Usage: {"lobe": "${currentLobeNames[0] ?? 'my-project'}"}`,
219
219
  inputSchema: {
220
220
  type: 'object',
221
221
  properties: {
@@ -226,14 +226,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
226
226
  },
227
227
  {
228
228
  name: 'recall',
229
- description: `Search stored knowledge by relevance within a project. BEFORE starting a task, describe what you are about to do in natural language and get relevant knowledge back (semantic + keyword search). Example: recall(lobe: "${currentLobeNames[0] ?? 'my-project'}", context: "how does auth token refresh work") or recall(lobe: "${currentLobeNames[0] ?? 'my-project'}", context: "refactoring the payment webhook handler")`,
229
+ description: `Search your stored memory entries (from learn/gotcha/convention/prefer) architecture notes, conventions, gotchas, decisions by relevance using semantic + keyword matching. Does NOT search the codebase itself. Use BEFORE starting a task to surface prior knowledge. Usage: {"context": "auth token refresh", "lobe": "${currentLobeNames[0] ?? 'my-project'}"}`,
230
230
  inputSchema: {
231
231
  type: 'object',
232
232
  properties: {
233
233
  lobe: lobeProperty,
234
234
  context: {
235
235
  type: 'string',
236
- description: 'Describe what you are about to do, in natural language.',
236
+ description: 'The topic or area you need knowledge about. Describe in natural language — e.g. "auth token refresh", "how modules communicate", "payment webhook handler".',
237
237
  },
238
238
  maxResults: {
239
239
  type: 'number',
@@ -246,7 +246,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
246
246
  },
247
247
  {
248
248
  name: 'gotchas',
249
- description: `Pitfalls in a project, optionally scoped to an area. Check BEFORE making changes to avoid known traps. Example: gotchas(lobe: "${currentLobeNames[0] ?? 'my-project'}", area: "auth") or gotchas(lobe: "${currentLobeNames[0] ?? 'my-project'}") for all gotchas.`,
249
+ description: `Retrieve stored gotchas (pitfalls, traps, surprising behaviors) for a project. Check BEFORE making changes. Optionally filter by area. Usage: {"lobe": "${currentLobeNames[0] ?? 'my-project'}", "area": "auth"} or {"lobe": "${currentLobeNames[0] ?? 'my-project'}"} for all.`,
250
250
  inputSchema: {
251
251
  type: 'object',
252
252
  properties: {
@@ -261,7 +261,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
261
261
  },
262
262
  {
263
263
  name: 'conventions',
264
- description: `Coding patterns and standards in a project, optionally scoped to an area. Check BEFORE writing new code to follow established patterns. Example: conventions(lobe: "${currentLobeNames[0] ?? 'my-project'}", area: "testing") or conventions(lobe: "${currentLobeNames[0] ?? 'my-project'}") for all conventions.`,
264
+ description: `Retrieve stored conventions (coding patterns, naming rules, architectural standards) for a project. Check BEFORE writing code. Optionally filter by area. Usage: {"lobe": "${currentLobeNames[0] ?? 'my-project'}", "area": "testing"} or {"lobe": "${currentLobeNames[0] ?? 'my-project'}"} for all.`,
265
265
  inputSchema: {
266
266
  type: 'object',
267
267
  properties: {
@@ -277,7 +277,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
277
277
  // --- Storage ---
278
278
  {
279
279
  name: 'gotcha',
280
- description: `Flag a pitfall you hit what you expected vs what actually happened. Gets priority in brief and recall results. Returns related knowledge you might want to review. Example: gotcha(lobe: "${currentLobeNames[0] ?? 'my-project'}", observation: "Gradle cache must be cleaned after Tuist changes or builds silently use stale artifacts")`,
280
+ description: `Store a pitfall, surprising behavior, or trap you discovered in the codebase. Persists across sessions, surfaces in brief() and recall(). Write naturally; first sentence becomes the title. Usage: {"lobe": "${currentLobeNames[0] ?? 'my-project'}", "observation": "Gradle cache must be cleaned after Tuist changes or builds silently use stale artifacts"}`,
281
281
  inputSchema: {
282
282
  type: 'object',
283
283
  properties: {
@@ -298,7 +298,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
298
298
  },
299
299
  {
300
300
  name: 'convention',
301
- description: `Record a codebase pattern you observed — how the code is structured, naming rules, architectural decisions. For personal rules or preferences, use prefer() instead. Returns related knowledge. Example: convention(lobe: "${currentLobeNames[0] ?? 'my-project'}", observation: "All ViewModels use StateFlow for UI state. LiveData is banned.")`,
301
+ description: `Store a coding pattern or standard the codebase follows. Persists across sessions, surfaces in brief() and recall(). Write naturally; first sentence becomes the title. Usage: {"lobe": "${currentLobeNames[0] ?? 'my-project'}", "observation": "All ViewModels use StateFlow for UI state. LiveData is banned."}`,
302
302
  inputSchema: {
303
303
  type: 'object',
304
304
  properties: {
@@ -319,7 +319,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
319
319
  },
320
320
  {
321
321
  name: 'learn',
322
- description: `Store architecture, dependencies, decisions, progress, or any knowledge not covered by gotcha() or convention(). Use this as the catch-all for insights worth remembering. Returns related knowledge. Example: learn(lobe: "${currentLobeNames[0] ?? 'my-project'}", observation: "Payments module depends on auth for tokens only — no other cross-module dependency")`,
322
+ description: `Store codebase knowledge — architecture, module boundaries, dependencies, or any insight not covered by gotcha/convention. Catch-all for durable project knowledge. Persists across sessions, surfaces in brief() and recall(). Write naturally; first sentence becomes the title. Usage: {"lobe": "${currentLobeNames[0] ?? 'my-project'}", "observation": "Payments module depends on auth for tokens only — no other cross-module dependency"}`,
323
323
  inputSchema: {
324
324
  type: 'object',
325
325
  properties: {
@@ -340,7 +340,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
340
340
  },
341
341
  {
342
342
  name: 'prefer',
343
- description: `When your user corrects you or states a working-style rule, record it here. Persists globally by default and is surfaced in every brief(). Optionally scope to a specific project. Example: prefer(rule: "Never use !! operator") or prefer(rule: "Use Anvil for DI", lobe: "${currentLobeNames[0] ?? 'my-project'}")`,
343
+ description: `Store a user preference or working-style rule when the user corrects you or states how they want things done. Highest trust, surfaced in every brief(). Omit lobe for global. Usage: {"rule": "Never use !! operator"} or {"rule": "Use Anvil for DI", "lobe": "${currentLobeNames[0] ?? 'my-project'}"}`,
344
344
  inputSchema: {
345
345
  type: 'object',
346
346
  properties: {
@@ -359,7 +359,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
359
359
  // --- Maintenance ---
360
360
  {
361
361
  name: 'fix',
362
- description: `Correct or delete a memory entry. IDs appear in brief(), recall(), gotchas(), and conventions() results. Pass correction to update content; omit correction to delete the entry entirely. Example: fix(id: "gotcha-a1b2c3d4", correction: "Fixed in v2.3 cache is auto-cleaned now") or fix(id: "gotcha-a1b2c3d4") to delete.`,
362
+ description: `Correct or delete a stored memory entry. IDs appear in brief/recall/gotchas/conventions results. Pass correction to update; omit correction to delete. Usage: {"id": "gotcha-3f7a", "correction": "Updated: cache must be cleaned after ANY dependency change"} or {"id": "gotcha-3f7a"} to delete.`,
363
363
  inputSchema: {
364
364
  type: 'object',
365
365
  properties: {
@@ -384,7 +384,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
384
384
  // but are hidden from tool discovery. Agents use the new v2 tools above.
385
385
  {
386
386
  name: 'memory_bootstrap',
387
- description: 'First-time setup: scan repo structure, README, and build system to seed initial knowledge. Run once per new codebase. If the lobe does not exist yet, provide "root" to auto-add it to memory-config.json and proceed without a manual restart.',
387
+ description: 'First-time setup: scans repo structure, README, and build system to seed initial memory. Run once per project. Provide "root" to auto-create a new lobe.',
388
388
  inputSchema: {
389
389
  type: 'object',
390
390
  properties: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exaudeus/memory-mcp",
3
- "version": "1.9.1",
3
+ "version": "1.9.2",
4
4
  "description": "Codebase memory MCP server - persistent, evolving knowledge for AI coding agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",