You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Any MCP client that supports streamable HTTP should point at the full MCP endpoint URL, not just the host:
205
+
206
+
```text
207
+
http://127.0.0.1:8001/mcp
208
+
```
209
+
210
+
Health checks are available separately at:
211
+
212
+
```text
213
+
http://127.0.0.1:8001/health
214
+
```
215
+
216
+
### Environment variables
217
+
218
+
#### Shared runtime
219
+
220
+
| Variable | Default | Used by | Notes |
221
+
|----------|---------|---------|-------|
222
+
|`GEMINI_API_KEY`| unset | core, API, MCP | Required for real embeddings; tests use deterministic embedders instead. |
223
+
|`EMBEDDING_DIMENSIONS`|`768`| core, API, MCP | Must match the dimensions of already-indexed vectors. Changing this requires reindexing into a fresh Chroma path. |
224
+
|`MEDIA_STORAGE_PATH`|`./data/media`| core | Base default for app-owned media storage. |
225
+
|`MEMORY_MEDIA_DIR`| falls back to `MEDIA_STORAGE_PATH`| API, MCP | Explicit media root for API and MCP processes. Prefer an absolute path for remote HTTP deployments. |
226
+
|`MEMORY_CHROMA_PATH`| falls back to `./chroma_db`| MCP | Explicit Chroma persistence path for the MCP server. Prefer an absolute path for remote HTTP deployments. |
|`MEMORY_ALLOWED_ORIGINS`|`http://localhost:3000,https://memory.agentclash.dev`| Comma-separated CORS allowlist for the FastAPI server. |
234
+
235
+
#### MCP transport
236
+
237
+
| Variable | Default | Notes |
238
+
|----------|---------|-------|
239
+
|`MEMORY_MCP_TRANSPORT`|`stdio`| One of `stdio` or `streamable-http`. |
240
+
|`MEMORY_MCP_HOST`|`127.0.0.1`| Bind host for streamable HTTP mode. |
241
+
|`MEMORY_MCP_PORT`|`8000`| Bind port for streamable HTTP mode. |
242
+
|`MEMORY_MCP_PATH`|`/mcp`| Mount path for the MCP endpoint. |
243
+
244
+
#### Forgetting and ranking tuning
245
+
246
+
| Variable | Default |
247
+
|----------|---------|
248
+
|`SEMANTIC_HALF_LIFE_DAYS`|`365`|
249
+
|`EPISODIC_HALF_LIFE_DAYS`|`30`|
250
+
|`PROCEDURAL_HALF_LIFE_DAYS`|`180`|
251
+
|`IMPORTANCE_FLOOR_THRESHOLD`|`0.8`|
252
+
|`IMPORTANCE_FLOOR_MULTIPLIER`|`3.0`|
253
+
|`ACCESS_NORMALIZATION_CONSTANT`|`50`|
254
+
|`SEMANTIC_PRUNE_THRESHOLD`|`0.1`|
255
+
|`SEMANTIC_FADE_THRESHOLD`|`0.2`|
256
+
|`EPISODIC_PRUNE_THRESHOLD`|`0.2`|
257
+
|`EPISODIC_FADE_THRESHOLD`|`0.35`|
258
+
|`PROCEDURAL_PRUNE_THRESHOLD`|`0.15`|
259
+
|`PROCEDURAL_FADE_THRESHOLD`|`0.3`|
260
+
|`SEMANTIC_DUPLICATE_THRESHOLD`|`0.95`|
261
+
|`FADE_FACTOR`|`0.5`|
262
+
|`FADE_FLOOR`|`0.01`|
263
+
|`PROCEDURAL_LOW_PERF_WILSON_THRESHOLD`|`0.1`|
264
+
|`PROCEDURAL_LOW_PERF_MIN_OUTCOMES`|`10`|
265
+
266
+
### Operational caveats
267
+
268
+
#### Remote media-path caveat
269
+
270
+
When an MCP tool call includes `media.file_path`, that path is resolved from the MCP server host's filesystem, not the caller's machine. For remote `streamable-http` deployments:
271
+
272
+
- use inline base64 media when the client cannot write to the server host
273
+
- or mount a shared filesystem and pass server-visible absolute paths
274
+
- set `MEMORY_CHROMA_PATH` and `MEMORY_MEDIA_DIR` to absolute paths to avoid working-directory drift
275
+
276
+
Relative paths are acceptable for local development but are intentionally treated as risky for remote HTTP deployments.
277
+
278
+
#### 768 to 1536 embedding migration
279
+
280
+
The default embedding size is `768`. Switching to `1536` is a reindex migration, not a live in-place flip:
281
+
282
+
1. Stop writers to the old store.
283
+
2. Point `EMBEDDING_DIMENSIONS=1536` at a fresh Chroma directory.
284
+
3. Re-ingest memories into that new directory so every stored vector is regenerated at `1536` dimensions.
285
+
4. Cut clients over only after the new store is fully rebuilt.
286
+
287
+
Do not change `EMBEDDING_DIMENSIONS` against an existing Chroma dataset and continue writing to it. Mixed vector sizes will break retrieval and store invariants.
0 commit comments