Environment
- neo4j-agent-memory: 0.5.0
- Backend: NAMS hosted (memory.neo4jlabs.com)
- MCP server launched via uvx from claude_desktop_config.json
- Python: 3.14.5 (pyenv)
- Platform: macOS
Bug 1: memory_store_message false-acks
memory_store_message returns {stored: true, id: , session_id: "dylan"}
but the message never appears in Neo4j. Verified via graph_query:
MATCH (m:Message) WHERE m.id = '' RETURN m
→ 0 rows
Also verified: GET /v1/conversations/dylan returns 404 ("conversation not found"),
suggesting the MCP layer is passing raw session aliases to the API instead of
resolving them to conversation UUIDs first.
Reproduced twice with different session_ids and content. Direct API writes
(via Python SDK outside MCP) persist correctly to the same workspace.
Bug 2: memory_add_entity throws "too many values to unpack (expected 2)"
Every call to memory_add_entity fails unconditionally regardless of payload size:
memory_add_entity(name="Test", entity_type="PERSON")
→ error: "too many values to unpack (expected 2)"
Suspected location based on traceback pattern:
/neo4j_agent_memory/memory/long_term.py (entity resolution/creation path)
Impact
Both write tools silently fail while read tools (memory_search, graph_query,
memory_get_entity) work correctly. The false-ack on store_message is
particularly dangerous as it causes silent data loss with no indication
to the caller.
Workaround
Direct Python SDK calls outside MCP work correctly. Using those as a
temporary fallback.
Environment
Bug 1: memory_store_message false-acks
memory_store_message returns {stored: true, id: , session_id: "dylan"}
but the message never appears in Neo4j. Verified via graph_query:
MATCH (m:Message) WHERE m.id = '' RETURN m
→ 0 rows
Also verified: GET /v1/conversations/dylan returns 404 ("conversation not found"),
suggesting the MCP layer is passing raw session aliases to the API instead of
resolving them to conversation UUIDs first.
Reproduced twice with different session_ids and content. Direct API writes
(via Python SDK outside MCP) persist correctly to the same workspace.
Bug 2: memory_add_entity throws "too many values to unpack (expected 2)"
Every call to memory_add_entity fails unconditionally regardless of payload size:
memory_add_entity(name="Test", entity_type="PERSON")
→ error: "too many values to unpack (expected 2)"
Suspected location based on traceback pattern:
/neo4j_agent_memory/memory/long_term.py (entity resolution/creation path)
Impact
Both write tools silently fail while read tools (memory_search, graph_query,
memory_get_entity) work correctly. The false-ack on store_message is
particularly dangerous as it causes silent data loss with no indication
to the caller.
Workaround
Direct Python SDK calls outside MCP work correctly. Using those as a
temporary fallback.