Skip to main content
Glama

consolidate_working_memory

Combine multiple working memory entries into a single semantic memory to organize and preserve information for AI systems.

Instructions

Consolidate multiple working memories into a single semantic memory

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
working_memory_idsYesArray of working memory UUIDs to consolidate
consolidated_contentYesContent for the consolidated memory
consolidated_embeddingYesEmbedding for the consolidated memory

Implementation Reference

  • The core handler function that performs the consolidation: creates a new semantic memory, establishes consolidation relationships, marks originals as consolidated, and logs the event in a database transaction.
    async consolidateWorkingMemory(workingMemoryIds, consolidatedContent, consolidatedEmbedding) { try { const result = await this.db.transaction(async (tx) => { // Create consolidated memory const [consolidatedMemory] = await tx .insert(schema.memories) .values({ type: 'semantic', content: consolidatedContent, embedding: consolidatedEmbedding, importance: 0.8, status: 'active' }) .returning(); const consolidatedId = consolidatedMemory.id; // Create relationships from working memories to consolidated memory for (const workingId of workingMemoryIds) { await tx.insert(schema.memoryRelationships).values({ fromMemoryId: workingId, toMemoryId: consolidatedId, relationshipType: 'consolidation', strength: 1.0 }); // Mark working memory as consolidated await tx .update(schema.memories) .set({ status: 'consolidated' }) .where(eq(schema.memories.id, workingId)); } // Record consolidation event await tx.insert(schema.memoryChanges).values({ memoryId: consolidatedId, changeType: 'consolidation', newValue: { source_memories: workingMemoryIds } }); return consolidatedMemory; }); return result; } catch (error) { console.warn('Memory consolidation failed:', error.message); throw error; } }
  • Tool schema definition including input validation structure for the consolidate_working_memory tool.
    name: "consolidate_working_memory", description: "Consolidate multiple working memories into a single semantic memory", inputSchema: { type: "object", properties: { working_memory_ids: { type: "array", items: { type: "string" }, description: "Array of working memory UUIDs to consolidate" }, consolidated_content: { type: "string", description: "Content for the consolidated memory" }, consolidated_embedding: { type: "array", items: { type: "number" }, description: "Embedding for the consolidated memory" } }, required: ["working_memory_ids", "consolidated_content", "consolidated_embedding"] }
  • mcp.js:626-632 (registration)
    MCP server tool call handler registration: switch case that dispatches the tool call to the memoryManager's consolidateWorkingMemory method and formats the response.
    case "consolidate_working_memory": const consolidatedMemory = await memoryManager.consolidateWorkingMemory( args.working_memory_ids, args.consolidated_content, args.consolidated_embedding ); return { content: [{ type: "text", text: JSON.stringify(consolidatedMemory, null, 2) }] };
  • Tool schema provided in MCP server's listTools response for client validation.
    name: "consolidate_working_memory", description: "Consolidate multiple working memories into a single semantic memory", inputSchema: { type: "object", properties: { working_memory_ids: { type: "array", items: { type: "string" }, description: "Array of working memory UUIDs to consolidate" }, consolidated_content: { type: "string", description: "Content for the consolidated memory" }, consolidated_embedding: { type: "array", items: { type: "number" }, description: "Embedding for the consolidated memory" } }, required: ["working_memory_ids", "consolidated_content", "consolidated_embedding"] }

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