memory_restore
Retrieve and restore prior session data in MCP-enabled LLMs to ensure continuity, learning retention, and context alignment across interactions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/modules/MemoryManagement.js:73-96 (registration)Registers the 'memory_restore' tool with the server, providing description, input schema, and a handler that delegates to handleRestore.registerRestoreTool(server) { server.registerTool( 'memory_restore', 'Restore the memory system from a backup', { type: 'object', properties: { backupName: { type: 'string', description: 'Name of the backup to restore', }, replaceExisting: { type: 'boolean', description: 'Replace existing facts or merge with backup', default: false, }, }, required: ['backupName'], }, async (args) => { return await this.handleRestore(args); } ); }
- Handler function that extracts arguments, calls restoreFromBackup, and formats success or error response.async handleRestore(args) { try { const { backupName, replaceExisting = false } = args; const restoreResult = await this.restoreFromBackup(backupName, replaceExisting); return { content: [ { type: 'text', text: `📥 **Restore Complete**\n\n**Backup:** ${backupName}\n**Facts Restored:** ${restoreResult.factsRestored}\n**Mode:** ${replaceExisting ? 'Replace' : 'Merge'}\n**Total Facts:** ${restoreResult.totalFacts}`, }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error restoring backup: ${error.message}`, }, ], isError: true, }; } }
- JSON schema defining the input parameters for the memory_restore tool: backupName (required string), replaceExisting (optional boolean).{ type: 'object', properties: { backupName: { type: 'string', description: 'Name of the backup to restore', }, replaceExisting: { type: 'boolean', description: 'Replace existing facts or merge with backup', default: false, }, }, required: ['backupName'], },
- Core helper method for restoring from backup; currently a stub returning mock data.async restoreFromBackup(backupName, replaceExisting = false) { try { return { factsRestored: 0, totalFacts: 0, mode: replaceExisting ? 'replace' : 'merge', }; } catch (error) { throw new Error(`Failed to restore from backup: ${error.message}`); } }