Skip to main content
Glama

get_episodic_memory

Retrieve user episodic memories to access past events and experiences, enabling personalized AI interactions through historical context recall.

Instructions

Retrieve episodic memories for a user

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of memories to return
userIdYesUser identifier

Implementation Reference

  • Tool handler case for 'get_episodic_memory' that validates inputs, retrieves memories from MemoryStore, and returns them as JSON.
    case "get_episodic_memory": {
      const { userId, limit } = request.params.arguments as any;
      
      // Validate inputs
      ValidationUtils.validateUserId(userId);
      ValidationUtils.validateLimit(limit);
      
      const memories = memoryStore.getEpisodicMemory(userId, limit);
      return {
        content: [{
          type: "text",
          text: JSON.stringify(memories, null, 2)
        }]
      };
    }
  • Registration of the 'get_episodic_memory' tool in the listTools handler, including name, description, and input schema.
    {
      name: "get_episodic_memory",
      description: "Retrieve episodic memories for a user",
      inputSchema: {
        type: "object",
        properties: {
          userId: {
            type: "string",
            description: "User identifier"
          },
          limit: {
            type: "number",
            description: "Maximum number of memories to return"
          }
        },
        required: ["userId"]
      }
    },
  • Input schema definition for the 'get_episodic_memory' tool.
    inputSchema: {
      type: "object",
      properties: {
        userId: {
          type: "string",
          description: "User identifier"
        },
        limit: {
          type: "number",
          description: "Maximum number of memories to return"
        }
      },
      required: ["userId"]
    }
  • Core implementation in MemoryStore that filters episodic memories by userId, sorts by timestamp descending, and applies limit if provided.
    getEpisodicMemory(userId: string, limit?: number): EpisodicMemory[] {
      const memories = Array.from(this.episodicMemory.values())
        .filter(memory => memory.userId === userId)
        .sort((a, b) => b.timestamp - a.timestamp);
      
      return limit ? memories.slice(0, limit) : memories;
    }

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/cbuntingde/memory-mcp-server'

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