save_memory
Store information to long-term memory with categorized keys for future retrieval in AI development workflows.
Instructions
remember|save|store|memorize|keep - Save to long-term memory
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Memory key/identifier | |
| value | Yes | Information to save | |
| category | No | Memory category |
Implementation Reference
- src/tools/memory/saveMemory.ts:24-39 (handler)The core execution function for the 'save_memory' tool. It destructures args, uses MemoryManager singleton to save the memory entry, and returns success or error message.export async function saveMemory(args: { key: string; value: string; category?: string }): Promise<ToolResult> { const { key: memoryKey, value: memoryValue, category = 'general' } = args; try { const memoryManager = MemoryManager.getInstance(); memoryManager.save(memoryKey, memoryValue, category); return { content: [{ type: 'text', text: `✓ Saved: ${memoryKey}\nCategory: ${category}` }] }; } catch (error) { return { content: [{ type: 'text', text: `✗ Error: ${error instanceof Error ? error.message : 'Unknown error'}` }] }; } }
- src/tools/memory/saveMemory.ts:6-22 (schema)The ToolDefinition object defining the name, description, input schema (with required key/value and optional category), and annotations for the 'save_memory' tool.export const saveMemoryDefinition: ToolDefinition = { name: 'save_memory', description: 'remember|save|store|memorize|keep - Save to long-term memory', inputSchema: { type: 'object', properties: { key: { type: 'string', description: 'Memory key/identifier' }, value: { type: 'string', description: 'Information to save' }, category: { type: 'string', description: 'Memory category', enum: ['project', 'personal', 'code', 'notes'] } }, required: ['key', 'value'] }, annotations: { title: 'Save Memory', audience: ['user', 'assistant'] } };
- src/index.ts:636-637 (registration)Registration and dispatch of the 'save_memory' handler within the central executeToolCall switch statement in the MCP server.case 'save_memory': return await saveMemory(args as any) as CallToolResult;
- src/index.ts:125-125 (registration)Inclusion of the saveMemoryDefinition in the tools array, making it discoverable via listTools MCP capability.saveMemoryDefinition,