better-mem0-mcp 1.1.0b21__py3-none-any.whl → 1.1.0b23__py3-none-any.whl
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.
- better_mem0_mcp/config.py +14 -21
- {better_mem0_mcp-1.1.0b21.dist-info → better_mem0_mcp-1.1.0b23.dist-info}/METADATA +10 -11
- {better_mem0_mcp-1.1.0b21.dist-info → better_mem0_mcp-1.1.0b23.dist-info}/RECORD +6 -6
- {better_mem0_mcp-1.1.0b21.dist-info → better_mem0_mcp-1.1.0b23.dist-info}/WHEEL +0 -0
- {better_mem0_mcp-1.1.0b21.dist-info → better_mem0_mcp-1.1.0b23.dist-info}/entry_points.txt +0 -0
- {better_mem0_mcp-1.1.0b21.dist-info → better_mem0_mcp-1.1.0b23.dist-info}/licenses/LICENSE +0 -0
better_mem0_mcp/config.py
CHANGED
|
@@ -33,43 +33,36 @@ class Settings(BaseSettings):
|
|
|
33
33
|
embedder_models: str = "gemini/gemini-embedding-001"
|
|
34
34
|
|
|
35
35
|
def setup_api_keys(self) -> dict[str, list[str]]:
|
|
36
|
-
"""
|
|
37
|
-
|
|
36
|
+
"""Parse API_KEYS (format: ENV_VAR:key,...) and set env vars.
|
|
37
|
+
|
|
38
|
+
Example:
|
|
39
|
+
API_KEYS="GOOGLE_API_KEY:abc,GOOGLE_API_KEY:def,OPENAI_API_KEY:xyz"
|
|
38
40
|
|
|
39
41
|
Returns:
|
|
40
|
-
Dict mapping
|
|
42
|
+
Dict mapping env var name to list of API keys.
|
|
41
43
|
"""
|
|
42
|
-
|
|
43
|
-
"gemini": "GOOGLE_API_KEY",
|
|
44
|
-
"openai": "OPENAI_API_KEY",
|
|
45
|
-
"anthropic": "ANTHROPIC_API_KEY",
|
|
46
|
-
"groq": "GROQ_API_KEY",
|
|
47
|
-
"deepseek": "DEEPSEEK_API_KEY",
|
|
48
|
-
"mistral": "MISTRAL_API_KEY",
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
keys_by_provider: dict[str, list[str]] = {}
|
|
44
|
+
keys_by_env: dict[str, list[str]] = {}
|
|
52
45
|
|
|
53
46
|
for pair in self.api_keys.split(","):
|
|
54
47
|
pair = pair.strip()
|
|
55
48
|
if ":" not in pair:
|
|
56
49
|
continue
|
|
57
50
|
|
|
58
|
-
|
|
59
|
-
|
|
51
|
+
env_var, key = pair.split(":", 1)
|
|
52
|
+
env_var = env_var.strip()
|
|
60
53
|
key = key.strip()
|
|
61
54
|
|
|
62
55
|
if not key:
|
|
63
56
|
continue
|
|
64
57
|
|
|
65
|
-
|
|
58
|
+
keys_by_env.setdefault(env_var, []).append(key)
|
|
66
59
|
|
|
67
|
-
# Set first key of each
|
|
68
|
-
for
|
|
69
|
-
if
|
|
70
|
-
os.environ[
|
|
60
|
+
# Set first key of each env var (LiteLLM reads from env)
|
|
61
|
+
for env_var, keys in keys_by_env.items():
|
|
62
|
+
if keys:
|
|
63
|
+
os.environ[env_var] = keys[0]
|
|
71
64
|
|
|
72
|
-
return
|
|
65
|
+
return keys_by_env
|
|
73
66
|
|
|
74
67
|
def parse_database_url(self) -> dict:
|
|
75
68
|
"""Parse DATABASE_URL into connection parameters."""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: better-mem0-mcp
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.0b23
|
|
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
|
|
@@ -17,7 +17,7 @@ Classifier: Operating System :: OS Independent
|
|
|
17
17
|
Classifier: Programming Language :: Python :: 3
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.13
|
|
19
19
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
20
|
-
Requires-Python:
|
|
20
|
+
Requires-Python: ==3.13.*
|
|
21
21
|
Requires-Dist: google-genai>=1.0.0
|
|
22
22
|
Requires-Dist: litellm>=1.0.0
|
|
23
23
|
Requires-Dist: loguru>=0.7.0
|
|
@@ -64,7 +64,7 @@ Description-Content-Type: text/markdown
|
|
|
64
64
|
"args": ["better-mem0-mcp@latest"],
|
|
65
65
|
"env": {
|
|
66
66
|
"DATABASE_URL": "postgresql://user:pass@xxx.neon.tech/neondb?sslmode=require",
|
|
67
|
-
"API_KEYS": "
|
|
67
|
+
"API_KEYS": "GOOGLE_API_KEY:AIza..."
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
@@ -81,7 +81,7 @@ Description-Content-Type: text/markdown
|
|
|
81
81
|
"args": ["run", "-i", "--rm", "-e", "DATABASE_URL", "-e", "API_KEYS", "n24q02m/better-mem0-mcp:latest"],
|
|
82
82
|
"env": {
|
|
83
83
|
"DATABASE_URL": "postgresql://...",
|
|
84
|
-
"API_KEYS": "
|
|
84
|
+
"API_KEYS": "GOOGLE_API_KEY:AIza..."
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
}
|
|
@@ -99,24 +99,23 @@ Ask your AI: "Remember that I prefer dark mode and use FastAPI"
|
|
|
99
99
|
| Variable | Required | Description |
|
|
100
100
|
|----------|----------|-------------|
|
|
101
101
|
| `DATABASE_URL` | Yes | PostgreSQL with pgvector extension |
|
|
102
|
-
| `API_KEYS` | Yes | `
|
|
102
|
+
| `API_KEYS` | Yes | `ENV_VAR:key` pairs, comma-separated |
|
|
103
103
|
| `LLM_MODELS` | No | Model fallback chain |
|
|
104
104
|
| `EMBEDDER_MODELS` | No | Embedding model chain |
|
|
105
105
|
|
|
106
|
-
### Supported Providers
|
|
106
|
+
### Supported LiteLLM Providers
|
|
107
107
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
### Examples
|
|
108
|
+
Use environment variable names from [LiteLLM docs](https://docs.litellm.ai/):
|
|
109
|
+
`GOOGLE_API_KEY`, `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GROQ_API_KEY`, etc.
|
|
111
110
|
|
|
112
111
|
**Single provider:**
|
|
113
112
|
```bash
|
|
114
|
-
API_KEYS=
|
|
113
|
+
API_KEYS=GOOGLE_API_KEY:AIza...
|
|
115
114
|
```
|
|
116
115
|
|
|
117
116
|
**Multi-key with fallback:**
|
|
118
117
|
```bash
|
|
119
|
-
API_KEYS=
|
|
118
|
+
API_KEYS=GOOGLE_API_KEY:AIza-1,GOOGLE_API_KEY:AIza-2,OPENAI_API_KEY:sk-xxx
|
|
120
119
|
LLM_MODELS=gemini/gemini-3-flash-preview,openai/gpt-4o-mini
|
|
121
120
|
EMBEDDER_MODELS=gemini/gemini-embedding-001,openai/text-embedding-3-small
|
|
122
121
|
```
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
better_mem0_mcp/__init__.py,sha256=fcqgbz2HvMCPidqqoPvtRky5pGIHP2w9oVim7UQkuBc,106
|
|
2
2
|
better_mem0_mcp/__main__.py,sha256=IeeRidmZF4oBaamjQM6FUbhXpsSdE4sQF_6y_D2GEE4,116
|
|
3
|
-
better_mem0_mcp/config.py,sha256=
|
|
3
|
+
better_mem0_mcp/config.py,sha256=cqLGzxYno7SgRMn7Y8GOBR0P4CrBuFjsmFpK6eGZhs0,5312
|
|
4
4
|
better_mem0_mcp/graph.py,sha256=rE9z6XECiAktEqDNgmwqCpFpvKSn3azO9H4sRBhj8UU,6195
|
|
5
5
|
better_mem0_mcp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
better_mem0_mcp/server.py,sha256=QYLP46pz0U9gkxQKB_g8FMga77ywElMMjSCU-hGZQ-M,5499
|
|
7
7
|
better_mem0_mcp/docs/memory.md,sha256=198dDuAGccG5Ca7rhEXIU03ZhxNKK44B_Brl2glurGc,1608
|
|
8
|
-
better_mem0_mcp-1.1.
|
|
9
|
-
better_mem0_mcp-1.1.
|
|
10
|
-
better_mem0_mcp-1.1.
|
|
11
|
-
better_mem0_mcp-1.1.
|
|
12
|
-
better_mem0_mcp-1.1.
|
|
8
|
+
better_mem0_mcp-1.1.0b23.dist-info/METADATA,sha256=wzxhitb86HRdHqbGPMAQ4d40TgKCRcfqT1vT_SYSspM,4679
|
|
9
|
+
better_mem0_mcp-1.1.0b23.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
10
|
+
better_mem0_mcp-1.1.0b23.dist-info/entry_points.txt,sha256=2b7E3D6yo94mQXP2Ms0bhUlWkK9f664f0GrstImOq30,57
|
|
11
|
+
better_mem0_mcp-1.1.0b23.dist-info/licenses/LICENSE,sha256=d7xQ6sRyeGus6gnvwgqiQtSY7XdFw0Jd0w5-Co_xHnk,1064
|
|
12
|
+
better_mem0_mcp-1.1.0b23.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|