Problem
The amend MCP tool fails when passed the raw_id returned by remember. It only accepts the encoded memory_id, which is different.
Reproduction
- Store a memory:
remember("some content") → raw_id: 2326fc81-d7f9-4d6e-98b2-2578937bfc9c
- Try to amend with that ID:
amend(memory_id="2326fc81-d7f9-4d6e-98b2-2578937bfc9c", corrected_content="updated")
- Error:
sql: no rows in result set
Root cause
amend looks up by encoded memory_id (a221ca55-86c0-494c-a920-f66feb0d26bb), but the user naturally passes the raw_id that remember returned. check_memory accepts raw_id as a parameter — amend should too.
Expected behavior
amend should accept either raw_id or memory_id and resolve to the correct memory. Or at minimum, the error message should say "memory not found — did you pass a raw_id? Use check_memory to find the encoded memory_id."
Workaround
Use check_memory(raw_id=...) first to get the encoded memory_id, then pass that to amend.
Problem
The
amendMCP tool fails when passed theraw_idreturned byremember. It only accepts the encodedmemory_id, which is different.Reproduction
sql: no rows in result setRoot cause
amendlooks up by encoded memory_id (a221ca55-86c0-494c-a920-f66feb0d26bb), but the user naturally passes the raw_id thatrememberreturned.check_memoryacceptsraw_idas a parameter —amendshould too.Expected behavior
amendshould accept eitherraw_idormemory_idand resolve to the correct memory. Or at minimum, the error message should say "memory not found — did you pass a raw_id? Use check_memory to find the encoded memory_id."Workaround
Use
check_memory(raw_id=...)first to get the encoded memory_id, then pass that toamend.