@cerefox/memory 0.5.1 → 0.5.2

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.
@@ -7179,7 +7179,7 @@ var exports_meta = {};
7179
7179
  __export(exports_meta, {
7180
7180
  PKG_VERSION: () => PKG_VERSION
7181
7181
  });
7182
- var PKG_VERSION = "0.5.1";
7182
+ var PKG_VERSION = "0.5.2";
7183
7183
  var init_meta = () => {};
7184
7184
 
7185
7185
  // ../../node_modules/.bun/tslib@2.8.1/node_modules/tslib/tslib.js
@@ -24,9 +24,14 @@ the canonical configuration recipe per MCP client.
24
24
  3 of MCP discoverability — agents can now retrieve
25
25
  `AGENT_QUICK_REFERENCE.md` content over MCP without filesystem
26
26
  access.
27
- - **`cerefox mcp` (Python CLI) is a soft wrapper**: tries to delegate
28
- to `npx --package=@cerefox/memory cerefox-mcp` first; falls back to the legacy
29
- Python implementation if npm/Bun isn't available.
27
+ - **`cerefox mcp` (Python CLI)** starts the in-tree Python MCP server.
28
+ (v0.4–v0.5.1 advertised a "soft wrapper" that tried to delegate to the
29
+ npm package's TS MCP server via npx, but the probe was unreliable
30
+ under `uv run`-launched MCP-client contexts and caused infinite
31
+ recursion. v0.5.2 stripped the wrapper; the Python path is now
32
+ always the Python server, and the npm/TS path is configured
33
+ explicitly. See `docs/guides/migration-v0.5.md` § "v0.5.2 fixed the
34
+ soft wrapper" for the migration story.)
30
35
 
31
36
  ## The optional one-time upgrade
32
37
 
@@ -38,11 +43,18 @@ npm install -g @cerefox/memory
38
43
  bun install -g @cerefox/memory
39
44
  ```
40
45
 
41
- After this, your existing `cerefox mcp` configs automatically use the
42
- TS server (the soft wrapper detects the package and delegates).
46
+ After this, the npm `cerefox` is on your PATH. To actually have your
47
+ MCP client use the TS server, you need to **update your MCP client
48
+ config explicitly** — v0.5.2 removed the auto-delegation. The
49
+ canonical config invokes the npm bin directly; see the next section.
43
50
 
44
- You can also point your MCP client directly at `cerefox-mcp` (the bin
45
- shipped by the package) and bypass the Python wrapper entirely:
51
+ (v0.4–v0.5.1 *thought* it had auto-delegation, but the soft wrapper
52
+ was unreliable under `uv run`-launched contexts and caused infinite
53
+ recursion when the MCP client launched it. v0.5.2 took the simpler
54
+ "each path is explicit" stance.)
55
+
56
+ You can also point your MCP client directly at `cerefox mcp` (the
57
+ TS-CLI subcommand) and bypass the Python path entirely:
46
58
 
47
59
  ### Claude Code
48
60
 
@@ -149,6 +149,53 @@ cerefox configure-agent --tool claude-code # apply
149
149
 
150
150
  ---
151
151
 
152
+ ## v0.5.2 fixed the soft wrapper
153
+
154
+ v0.4.0 through v0.5.1 advertised that `cerefox mcp` (the Python CLI's
155
+ subcommand, used by configs of the form `uv run --directory /path/to/cerefox cerefox mcp`)
156
+ was a "soft wrapper": it would try to delegate to the npm package's
157
+ TS MCP server via `npx --no-install --package=@cerefox/memory cerefox`
158
+ and fall back to the in-tree Python server otherwise.
159
+
160
+ **The probe was unreliable under `uv run`-launched MCP-client contexts.**
161
+ `uv run` puts the project's `.venv/bin/` first on PATH. When the npm
162
+ cache only has v0.4.x (which doesn't ship a `cerefox` bin name), npx
163
+ falls back to PATH and finds `.venv/bin/cerefox` — the Python CLI
164
+ itself — making the probe report success. The execvp then PATH-falls
165
+ back to the same `.venv/bin/cerefox`, which calls `_run_mcp()` again
166
+ → infinite recursion → MCP client times out with "Could not attach
167
+ to MCP server cerefox."
168
+
169
+ **v0.5.2 stripped the wrapper.** `cerefox mcp` always starts the
170
+ in-tree Python MCP server. To use the TS MCP server, configure your
171
+ client to invoke it explicitly:
172
+
173
+ ```json
174
+ "command": "npx",
175
+ "args": ["-y", "--package=@cerefox/memory", "cerefox", "mcp"]
176
+ ```
177
+
178
+ or, if you have `@cerefox/memory` installed globally:
179
+
180
+ ```json
181
+ "command": "cerefox",
182
+ "args": ["mcp"]
183
+ ```
184
+
185
+ The two paths (Python via `uv run`, TS via `cerefox mcp` on PATH or
186
+ via `npx`) are functionally equivalent — same 10 MCP tools, same wire
187
+ shapes. Pick whichever fits your environment, but the choice is now
188
+ explicit instead of "magic delegation".
189
+
190
+ > **Affected configs**: if your Claude Desktop / Claude Code / Cursor
191
+ > config invokes `uv run … cerefox mcp` AND you saw "Could not attach
192
+ > to MCP server cerefox" after restarting your client on
193
+ > @cerefox/memory v0.5.1 or earlier, this is the bug. Upgrade to
194
+ > v0.5.2+ (pull `main` and `uv sync`) — the Python MCP server boots
195
+ > directly and your existing config works again.
196
+
197
+ ---
198
+
152
199
  ## Known gotchas
153
200
 
154
201
  ### `npx` from inside an npm workspace
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cerefox/memory",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "Cerefox — user-owned shared memory for AI agents. The local TypeScript runtime: stdio MCP server in v0.4; CLI binary added in v0.5; in-process web server in v0.6; ingestion pipeline in v0.7.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/fstamatelopoulos/cerefox",