redis / redis/agent-memory-server

Allow custom/extensible memory_type values beyond episodic/semantic/message

Open
#179 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
316
Forks
63
Avg merge
14d 23h
Merged PRs (30d)
1

Description

Problem

The MemoryTypeEnum is hardcoded to ["episodic", "semantic", "message"] and rejects any other values. In practice, agents need additional memory types like pattern, decision, gotcha, tip to categorize knowledge more precisely.

Current behavior: creating a memory with memory_type="pattern" raises a validation error.

Proposal

Either:

  1. Make memory_type a free-form string with the current values as documented conventions (not enforced enum)
  2. Extend the enum to include commonly useful types: pattern, decision, gotcha, tip, procedure
  3. Allow configuration of additional memory types via server config

Option 1 is simplest and most flexible — agents are better at categorizing when not constrained to a small enum.

Context

The MCP tool description already documents semantic vs episodic well. Agents naturally want to tag memories with richer types ([gotcha], [pattern], [decision]) that aid retrieval. The validation blocks this without adding safety value — memory_type is metadata, not a control field.

Files

agent_memory_server/long_term_memory.pyMemoryTypeEnum class

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in agent_memory_server/long_term_memory.py at the MemoryTypeEnum class and trace where memory_type validation is applied when creating a memory. Compare the proposed free-form, extended-enum, and server-configuration approaches before choosing a direction. Done means the accepted memory types match the decided behavior and the current documented conventions remain supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ai, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.