Skip to main content
Glama

archive_old_memories

Automatically archive older, less important memories using age and importance thresholds to optimize memory management for AI systems with persistent context.

Instructions

Archive old memories based on age and importance criteria

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
days_oldNoMinimum age in days for archival
importance_thresholdNoMaximum importance for archival

Implementation Reference

  • Core implementation of the archiveOldMemories method in MemoryManager class. Updates qualifying active memories to 'archived' status based on age, importance, and access count criteria, records change events, and returns the list of archived memories.
    async archiveOldMemories(daysOld = 365, importanceThreshold = 0.3) { try { const cutoffDate = new Date(Date.now() - daysOld * 24 * 60 * 60 * 1000); const archivedMemories = await this.db .update(schema.memories) .set({ status: 'archived' }) .where( and( eq(schema.memories.status, 'active'), lt(schema.memories.createdAt, cutoffDate), lt(schema.memories.importance, importanceThreshold), lt(schema.memories.accessCount, 5) ) ) .returning({ id: schema.memories.id, content: schema.memories.content, type: schema.memories.type }); // Record archival events for (const memory of archivedMemories) { await this.db.insert(schema.memoryChanges).values({ memoryId: memory.id, changeType: 'archival', newValue: { reason: 'Archived due to age and low importance' } }); } return archivedMemories; } catch (error) { console.warn('Memory archival failed:', error.message); return []; } }
  • mcp.js:634-640 (handler)
    MCP server tool execution handler for 'archive_old_memories'. Parses input arguments with defaults and delegates to MemoryManager.archiveOldMemories, formats response as MCP content.
    case "archive_old_memories": const archivedMemories = await memoryManager.archiveOldMemories( args.days_old || 365, args.importance_threshold || 0.3 ); return { content: [{ type: "text", text: JSON.stringify(archivedMemories, null, 2) }] };
  • Tool schema definition returned by ListToolsRequestSchema handler, specifying input parameters and defaults for the archive_old_memories tool.
    { name: "archive_old_memories", description: "Archive old memories based on age and importance criteria", inputSchema: { type: "object", properties: { days_old: { type: "integer", description: "Minimum age in days for archival", default: 365 }, importance_threshold: { type: "number", description: "Maximum importance for archival", default: 0.3 } } } },
  • Identical tool schema definition in memory-tools.js, possibly for reference or alternative usage.
    { name: "archive_old_memories", description: "Archive old memories based on age and importance criteria", inputSchema: { type: "object", properties: { days_old: { type: "integer", description: "Minimum age in days for archival", default: 365 }, importance_threshold: { type: "number", description: "Maximum importance for archival", default: 0.3 } } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/QuixiAI/agi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server