Skip to content

false acks #140

Description

@dylangrant

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions