better-mem0-mcp 1.1.0b18__tar.gz → 1.1.0b20__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/CHANGELOG.md +14 -0
  2. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/PKG-INFO +1 -1
  3. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/pyproject.toml +1 -1
  4. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/src/better_mem0_mcp/docs/memory.md +14 -1
  5. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/src/better_mem0_mcp/server.py +16 -9
  6. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/uv.lock +1 -1
  7. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/.dockerignore +0 -0
  8. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/.editorconfig +0 -0
  9. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/.github/scripts/check-ci-cd-status.sh +0 -0
  10. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/.github/scripts/merge-with-auto-resolve.sh +0 -0
  11. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/.github/workflows/cd.yml +0 -0
  12. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/.github/workflows/ci.yml +0 -0
  13. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/.gitignore +0 -0
  14. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/.mise.toml +0 -0
  15. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/.pre-commit-config.yaml +0 -0
  16. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/.python-version +0 -0
  17. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/.releaserc.json +0 -0
  18. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/.vscode/better-mem0-mcp.code-workspace +0 -0
  19. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/CONTRIBUTING.md +0 -0
  20. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/Dockerfile +0 -0
  21. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/LICENSE +0 -0
  22. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/README.md +0 -0
  23. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/SECURITY.md +0 -0
  24. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/package-lock.json +0 -0
  25. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/package.json +0 -0
  26. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/scripts/clean-venv.mjs +0 -0
  27. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/src/better_mem0_mcp/__init__.py +0 -0
  28. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/src/better_mem0_mcp/__main__.py +0 -0
  29. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/src/better_mem0_mcp/config.py +0 -0
  30. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/src/better_mem0_mcp/graph.py +0 -0
  31. {better_mem0_mcp-1.1.0b18 → better_mem0_mcp-1.1.0b20}/src/better_mem0_mcp/py.typed +0 -0
@@ -1,3 +1,17 @@
1
+ # [1.1.0-beta.20](https://github.com/n24q02m/better-mem0-mcp/compare/v1.1.0-beta.19...v1.1.0-beta.20) (2026-01-05)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * correct search response parsing and improve documentation ([d4d4753](https://github.com/n24q02m/better-mem0-mcp/commit/d4d4753a7d0d3c8eb23ef15c051a7bcb1b000310))
7
+
8
+ # [1.1.0-beta.19](https://github.com/n24q02m/better-mem0-mcp/compare/v1.1.0-beta.18...v1.1.0-beta.19) (2026-01-05)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * correct Mem0 API response parsing for search and get_all ([8a612b1](https://github.com/n24q02m/better-mem0-mcp/commit/8a612b1443c59c229e7583ffedced6d38f1b13d1))
14
+
1
15
  # [1.1.0-beta.18](https://github.com/n24q02m/better-mem0-mcp/compare/v1.1.0-beta.17...v1.1.0-beta.18) (2026-01-05)
2
16
 
3
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: better-mem0-mcp
3
- Version: 1.1.0b18
3
+ Version: 1.1.0b20
4
4
  Summary: Zero-setup MCP Server for AI memory - works with Neon/Supabase
5
5
  Project-URL: Homepage, https://github.com/n24q02m/better-mem0-mcp
6
6
  Project-URL: Repository, https://github.com/n24q02m/better-mem0-mcp.git
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "better-mem0-mcp"
3
- version = "1.1.0-beta.18"
3
+ version = "1.1.0-beta.20"
4
4
  description = "Zero-setup MCP Server for AI memory - works with Neon/Supabase"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -17,6 +17,8 @@ Save information to long-term memory. Mem0 automatically:
17
17
  {"action": "add", "content": "User prefers dark mode and uses FastAPI"}
18
18
  ```
19
19
 
20
+ **Response:** `Saved: {results: [{id, memory, event}]}`
21
+
20
22
  ### search
21
23
  Semantic search across stored memories. Combines vector search with graph context.
22
24
 
@@ -24,6 +26,8 @@ Semantic search across stored memories. Combines vector search with graph contex
24
26
  {"action": "search", "query": "coding preferences", "limit": 5}
25
27
  ```
26
28
 
29
+ **Response:** Formatted list of matching memories with optional graph context.
30
+
27
31
  ### list
28
32
  Get all stored memories for a user.
29
33
 
@@ -31,6 +35,8 @@ Get all stored memories for a user.
31
35
  {"action": "list"}
32
36
  ```
33
37
 
38
+ **Response:** `Memories (N): - [id] memory text`
39
+
34
40
  ### delete
35
41
  Remove a memory by ID.
36
42
 
@@ -38,10 +44,17 @@ Remove a memory by ID.
38
44
  {"action": "delete", "memory_id": "abc12345-..."}
39
45
  ```
40
46
 
47
+ **Response:** `Deleted: {memory_id}`
48
+
41
49
  ## Parameters
42
50
  - `action` - Required: add, search, list, delete
43
51
  - `content` - Required for add: information to remember
44
52
  - `query` - Required for search: what to search for
45
53
  - `memory_id` - Required for delete: ID of memory to remove
46
54
  - `limit` - Optional for search: max results (default: 5)
47
- - `user_id` - Optional: scope memories to a specific user
55
+ - `user_id` - Optional: scope memories to a specific user (default: "default")
56
+
57
+ ## Technical Notes
58
+ - Mem0 API returns `{"results": [...]}` for both `search()` and `get_all()`
59
+ - Graph context is automatically included in search results when available
60
+ - Embeddings use 1536 dimensions for pgvector HNSW compatibility
@@ -108,21 +108,24 @@ async def memory(
108
108
  if not query:
109
109
  return "Error: 'query' required for search action"
110
110
 
111
- # Vector search
112
- results = _memory.search(query, user_id=user_id, limit=limit)
111
+ # Vector search - returns {"results": [...]} (same as get_all)
112
+ response = _memory.search(query, user_id=user_id, limit=limit)
113
+ memories = (
114
+ response.get("results", []) if isinstance(response, dict) else response
115
+ )
113
116
 
114
117
  # Add graph context
115
118
  graph_context = ""
116
119
  if _graph:
117
120
  graph_context = _graph.get_context(query, user_id)
118
121
 
119
- if not results and not graph_context:
122
+ if not memories and not graph_context:
120
123
  return "No memories found."
121
124
 
122
125
  output = ""
123
- if results:
126
+ if memories:
124
127
  output = "Memories:\n" + "\n".join(
125
- [f"- {r.get('memory', str(r))}" for r in results]
128
+ [f"- {m.get('memory', str(m))}" for m in memories]
126
129
  )
127
130
  if graph_context:
128
131
  output += f"\n\n{graph_context}"
@@ -130,13 +133,17 @@ async def memory(
130
133
  return output
131
134
 
132
135
  elif action == "list":
133
- results = _memory.get_all(user_id=user_id)
136
+ # get_all returns {"results": [...]} or list directly
137
+ response = _memory.get_all(user_id=user_id)
138
+ memories = (
139
+ response.get("results", []) if isinstance(response, dict) else response
140
+ )
134
141
 
135
- if not results:
142
+ if not memories:
136
143
  return "No memories stored."
137
144
 
138
- lines = [f"- [{r['id'][:8]}] {r['memory']}" for r in results]
139
- return f"Memories ({len(results)}):\n" + "\n".join(lines)
145
+ lines = [f"- [{m['id'][:8]}] {m['memory']}" for m in memories]
146
+ return f"Memories ({len(memories)}):\n" + "\n".join(lines)
140
147
 
141
148
  elif action == "delete":
142
149
  if not memory_id:
@@ -136,7 +136,7 @@ wheels = [
136
136
 
137
137
  [[package]]
138
138
  name = "better-mem0-mcp"
139
- version = "1.1.0b16"
139
+ version = "1.1.0b18"
140
140
  source = { editable = "." }
141
141
  dependencies = [
142
142
  { name = "google-genai" },