Reported issues for Memorix
Pod holds 18 of 23 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to Memorix.
Most discussed
MCP spec conformance: 10 requirement(s) violated (via @hasmcp/mcp-spec-test) — spec 2026-07-28
Running npx -y memorix serve against the @hasmcp/mcp-spec-test conformance suite pinned to MCP spec revision 2026-07-28, the server does not implement the new pre-handshake server/discover method (it returns a JSON-RPC -32601 Method not found error, or in some runs the process/socket doesn't respond within the timeout), and the official-SDK client fails to complete the initialize handshake for this revision. By contrast, this same server tested cleanly against the older **2025-11-2
Read the thread · 2026-08-24 · open · external user · 3 comments
HTTP control plane wedges /health on 40k+ observation stores
Description
On hosts with a large local store (~40k–64k observations and a ~305MB Jina embedding cache), memorix serve-http accepts TCP on :3211 but /health and MCP initialize time out for tens of seconds. LaunchAgents / watchdogs that probe /health or initialize in 15s then kill a process that is still warming up, which looks like a crash loop.
This is the HTTP control-plane form of #27 (closed). 1.6.0 still hydrates the corpus and parses the on-disk embedding cache on the HTTP
Read the thread · 2026-08-17 · closed · outside contributor · 3 comments
HTTP control plane binds project to server cwd, not client workspace
Description
In HTTP / control-plane mode, project-scoped tools bind to the server process cwd (often $HOME when started via LaunchAgent / memorix background start), not the client workspace.
Grok, Cursor, and other HTTP clients then get:
Cannot build project context for the current project yet.
No git project could be resolved from "<home>".
This client did not provide a usable workspace root, so project-scoped tools are disabled...
memorix_search (project scope), `memor
Read the thread · 2026-08-14 · closed · outside contributor · 3 comments
HTTP MCP idle session close (30min) is silent; clients hang or handshake-fail
Description
The HTTP control plane closes idle MCP sessions after 30 minutes (MEMORIX_SESSION_TIMEOUT_MS, logged as HTTP session idle timeout: 30min). The close is only written to background.log. MCP clients (Grok, Claude, Codex) do not get a visible protocol error, so:
- in-flight or next tool calls hang or
handshake_failed - the chat looks stalled and then just ends
- users report “Memorix froze the chat for ~30 minutes”
This matches the log line:
[memorix] Session <id>
[Read the thread](https://github.com/AVIDS2/memorix/issues/197) · 2026-08-14 · closed · outside contributor · 2 comments
### memorix_store can hang until MCP client timeout (observed 6000s)
## Description
`memorix_store` can fail to return a tool result for the full lifetime of the MCP client timeout. In Grok this default is **6000 seconds**. Two production sessions recorded:
- `2026-08-10T21:40:08Z` → `2026-08-10T23:20:08Z` — `memorix_store` `duration_ms=6000002` `success=false` — `MCP tool 'memorix_store' timed out after 6000 seconds`
- `2026-08-12T12:01:00Z` → `2026-08-12T13:41:00Z` — same error, `duration_ms=6000010`
Successful stores in the same sessions typically complete
[Read the thread](https://github.com/AVIDS2/memorix/issues/196) · 2026-08-14 · closed · outside contributor · 3 comments
### 如何配置和解决 memorix.memorix_project_context() 超时问题
Memorix 版本号: 1.1.8
在codex cli中配置, 使用stdio方式启动
config.toml 配置
[mcp_servers.memorix] command = "memorix" args = ["serve"]
[mcp_servers.memorix.tools.memorix_project_context] approval_mode = "approve"
[mcp_servers.memorix.tools.memorix_store] approval_mode = "approve"
[mcp_servers.memorix.tools.memorix_search] approval_mode = "approve"
[mcp_servers.memorix.tools.memorix_detail] approval_mode = "approve"
现在由于单个项目中active的条数太多了, 会导致新开会话使用 memorix_project_context() 超时.
memorix retenti
[Read the thread](https://github.com/AVIDS2/memorix/issues/124) · 2026-07-13 · closed · external user · 5 comments
### 在cursor出现因为stdio类型的MCP没有传递正确的当前项目目录地址,而出现.git目录寻址错误
<img width="2560" height="1390" alt="Image" src="https://github.com/user-attachments/assets/4c47109f-daa8-4224-9a9d-0c467edd4be6" />
我在cursor内使用最新的memorix时,总是出错,cursor MCP的报错日志如下:
```log
2026-04-10 18:12:38.562 [info] [V2] Handling CreateClient action
2026-04-10 18:12:38.562 [info] [V2 FSM] connection:connect_start: conn=idle,auth=unknown -> conn=connecting,auth=unknown
2026-04-10 18:12:39.735 [error] [memorix] Starting with cwd: C:\Users\pc
[memorix] Unable to establish a reliable git-backed
[Read the thread](https://github.com/AVIDS2/memorix/issues/75) · 2026-04-10 · closed · external user · 3 comments
### Startup should not block MCP availability on full embedding rebuild
## Summary
Starting the MCP server currently does a full `reindexObservations()` during startup and hot reload. On larger projects with API embeddings enabled, that couples MCP availability to corpus-wide embedding throughput.
In practice this can block the entire Memorix MCP from becoming available to clients like OpenCode, even though lexical/fulltext search could be ready immediately.
## Why this matters
For large corpora, startup currently does all of the following before the MCP is usable
[Read the thread](https://github.com/AVIDS2/memorix/issues/27) · 2026-03-27 · closed · outside contributor · 3 comments
## Most recent
### Server advertises MCP revision 2026-07-28 in server/discover but the pinned SDK does not implement it
## Summary
The HTTP server advertises MCP protocol revision `2026-07-28` in
`server/discover`, but the pinned SDK does not implement that revision. A client
that trusts the advertisement applies the strict 2026 schema and rejects every
`tools/list` response.
With Claude Code 2.1.245 this shows up as:
memorix: http://127.0.0.1:3211/mcp (HTTP) - ! Connected · tools fetch failed — Invalid result for tools/list: missing required resultType — servers implementing protocol revision 2026-07-28 M
Read the thread · 2026-08-25 · closed · outside contributor · 1 comment
HTTP transport rejects every tools/list from Claude Code with -32000 "Stateless MCP requests require Mcp-Project-Handle"
Summary
Since 1.8.0, Claude Code cannot use memorix over HTTP at all. Every tools/list
fails with -32000 Stateless MCP requests require Mcp-Project-Handle; initialize first., so the client shows Connected · tools fetch failed.
Environment
- memorix 1.8.0 – 1.8.3 (verified on 1.8.3)
- Claude Code 2.1.245
- transport:
memorix serve-http
Reproduction
memorix serve-http --port 3299 &
curl -sS -i -X POST http://127.0.0.1:3299/mcp \
-H 'Content-Type: application/json'
[Read the thread](https://github.com/AVIDS2/memorix/issues/255) · 2026-08-25 · closed · outside contributor · 1 comment
### Dashboard: Retention page should offer Archive action
## User pain
The Retention page already shows archive-candidate counts and scores, but archiving still requires CLI/MCP:
- `memorix retention archive`
- MCP `memorix_retention` with `action: "archive"`
Operators should not have to re-type that after the control plane has already listed the candidates.
## Current vs desired UX
**Current (v1.6.1)**
- Retention is **read-only scores** (`loadRetention()` in `src/dashboard/static/app.js`).
- Summary cards show active / stale / archive candidate
[Read the thread](https://github.com/AVIDS2/memorix/issues/229) · 2026-08-17 · closed · outside contributor · 0 comments
### Dashboard: add Deduplicate button (preview + apply)
## User pain
The dashboard already lists observations, but **deduplicate** is CLI/MCP-only. Operators who can see duplicates in the control plane still have to type:
- `memorix memory deduplicate`
- MCP `memorix_deduplicate`
That marks overlapping memories resolved. There is no dashboard button, no preview, and no POST endpoint to run it.
## Current vs desired UX
**Current (v1.6.1)**
- No Deduplicate button anywhere in the UI.
- Observations `[CLEANUP]` only toggles batch-select for manual
[Read the thread](https://github.com/AVIDS2/memorix/issues/227) · 2026-08-17 · closed · outside contributor · 0 comments
### Dashboard: add Consolidate / Dream button (preview + execute)
## User pain
Operators already open the web dashboard (control plane on `:3211`, or `memorix dashboard` on `:3210`) to inspect memory. Consolidation — docs nickname **Dream** — still requires leaving the UI and typing CLI/MCP by hand:
- `memorix memory consolidate --action preview|execute`
- MCP `memorix_consolidate`
Background consolidation only runs on MCP startup when `auto_cleanup = true`. There is no way to trigger it from the dashboard.
## Current vs desired UX
**Current (v1.6.1)**
-
[Read the thread](https://github.com/AVIDS2/memorix/issues/226) · 2026-08-17 · closed · outside contributor · 0 comments
### HTTP/stdio without projectRoot still binds $HOME and can create a decoy ~/memorix.db
## Description
Follow-up to #198 (closed). HTTP and stdio clients that omit `projectRoot` still bind the **server cwd**. LaunchAgents and Cursor's stdio plugin often start with cwd `$HOME`. Memorix then:
1. Treats `$HOME` as the project (`No git project could be resolved from "/Users/…" / "/home/…"`).
2. Can create an empty decoy **`$HOME/memorix.db`** (4096 bytes, 0 observations) while the real store is `~/.memorix/data/memorix.db`.
Agents then search an empty store and conclude "Memorix has
[Read the thread](https://github.com/AVIDS2/memorix/issues/225) · 2026-08-17 · closed · outside contributor · 2 comments
### First memorix_session_start still takes 15-28s on 40k+ stores
## Description
After `/health` and MCP `initialize` are fast, the **first** `memorix_session_start` (and CLI `memory store`) still takes **15–28s** on a 40k–52k observation store. That is `initObservations` → `loadAll()` + lexical hydrate for the tool, not a hang.
Subsequent search/detail on the same HTTP process are milliseconds. The first tool in a cold control plane still feels broken to agents (Cursor / Claude / OpenCode timeouts of 10–15s).
## Steps to Reproduce
1. Restart `memorix back
[Read the thread](https://github.com/AVIDS2/memorix/issues/224) · 2026-08-17 · closed · outside contributor · 2 comments
### Cached-vector attach starves MCP initialize; OpenCode marks memorix failed
## Description
After HTTP is up and `/health` is green, `attachCachedVectors` updates tens of thousands of Orama documents with 1024-d vectors on the same event loop. Yields every 10/50 updates are not enough: the process sits at 60–70% CPU for many minutes.
MCP `initialize` then accepts the TCP connection but writes 0 bytes for 20s. OpenCode `mcp list` reports:
✗ mcpm_memorix failed http://127.0.0.1:3211/mcp
even though the config is correct and `/health` returns `ok`.
## Steps
[Read the thread](https://github.com/AVIDS2/memorix/issues/223) · 2026-08-17 · closed · outside contributor · 2 comments
### withTimeout does not abort in-flight LLM/embedding fetches
## Description
`withTimeout` (`src/timeout.ts` in 1.4.3) only races a timer against a Promise. It does **not** abort the underlying `fetch` / LLM / embedding work.
```js
function withTimeout(promise, ms, label) {
return new Promise((resolve, reject) => {
const timer = setTimeout(() => reject(new Error(`${label} timed out after ${ms}ms`)), ms);
promise.then(value => { clearTimeout(timer); resolve(value); }, error => { clearTimeout(timer); reject(error); });
});
}
After the wrap
Read the thread · 2026-08-14 · closed · outside contributor · 2 comments
Expose privacy-safe memory handoff receipts for cross-agent debugging
I saw #93 and the maintainer response about the important distinction between:
- MCP connection is configured correctly
- a memory write was actually requested by the agent / hook / CLI
- another agent searched the same project identity and got a result
That distinction seems worth making observable, because users understandably read “cross-agent memory” as “my Trae/Codex conversation will show up elsewhere automatically”. The current answer clarifies it well, but a small receipt/doctor artifa
Read the thread · 2026-05-21 · closed · external user · 2 comments
The remaining reports are on the project's issue tracker.