Skip to main content
Glama

set_short_term_memory

Store session-specific data with configurable expiration time to maintain context during AI interactions.

Instructions

Store data in short-term memory for a session

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYesMemory key
sessionIdYesSession identifier
ttlMinutesNoTime to live in minutes (default: 30)
valueYesMemory value (any JSON-serializable data)

Implementation Reference

  • MCP tool handler case for 'set_short_term_memory': validates input parameters and delegates storage to MemoryStore.
    case "set_short_term_memory": {
      const { sessionId, key, value, ttlMinutes = 30 } = request.params.arguments as any;
      
      // Validate inputs
      ValidationUtils.validateSessionId(sessionId);
      ValidationUtils.validateMemoryKey(key);
      ValidationUtils.validateTTLMinutes(ttlMinutes);
      
      memoryStore.setShortTermMemory(sessionId, key, value, ttlMinutes);
      return {
        content: [{
          type: "text",
          text: `Stored short-term memory for session ${sessionId}: ${key}`
        }]
      };
    }
  • Tool specification including name, description, and input schema for 'set_short_term_memory' returned in ListTools.
    {
      name: "set_short_term_memory",
      description: "Store data in short-term memory for a session",
      inputSchema: {
        type: "object",
        properties: {
          sessionId: {
            type: "string",
            description: "Session identifier"
          },
          key: {
            type: "string",
            description: "Memory key"
          },
          value: {
            description: "Memory value (any JSON-serializable data)"
          },
          ttlMinutes: {
            type: "number",
            description: "Time to live in minutes (default: 30)",
            default: 30
          }
        },
        required: ["sessionId", "key", "value"]
      }
    },
  • Core implementation of short-term memory storage with TTL expiration handling in MemoryStore class.
    setShortTermMemory(sessionId: string, key: string, value: any, ttlMinutes?: number): void {
      const ttl = ttlMinutes || this.config.defaultTTLMinutes || 30;
      const expiresAt = Date.now() + (ttl * 60 * 1000);
      const existing = this.shortTermMemory.get(sessionId);
      
      if (existing && existing.expiresAt > Date.now()) {
        existing.data[key] = value;
        existing.expiresAt = expiresAt;
      } else {
        this.shortTermMemory.set(sessionId, {
          sessionId,
          data: { [key]: value },
          timestamp: Date.now(),
          expiresAt
        });
      }
    }

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