Skip to main content
Glama
QuixiAI

AGI MCP Server

by QuixiAI

archive_old_memories

Archive AI memories by age and importance criteria to manage persistent memory storage in the AGI MCP Server.

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

  • The core handler function that executes the archival logic: updates active memories older than specified days with low importance (< threshold) and low access count (<5) to 'archived' status, records changes, and returns the 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 []; } }
  • Input schema definition for the archive_old_memories tool, specifying parameters days_old and importance_threshold with defaults.
    { 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 } } }
  • mcp.js:634-639 (registration)
    Tool handler registration in the MCP server's switch statement: maps tool call to memoryManager.archiveOldMemories with argument defaults and returns JSON response.
    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 registration in the MCP server's ListTools response, identical to the one in memory-tools.js.
    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