@cerefox/memory 0.5.4 → 0.7.0
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.
- package/dist/bin/cerefox.js +11038 -4439
- package/dist/frontend/assets/index-CPiXnnCV.js +124 -0
- package/dist/frontend/assets/index-CPiXnnCV.js.map +1 -0
- package/dist/frontend/assets/index-DoDJGRih.css +1 -0
- package/dist/frontend/index.html +14 -0
- package/docs/guides/migration-v0.5.md +169 -0
- package/docs/guides/quickstart.md +62 -182
- package/package.json +8 -2
- package/docs/guides/migration-v0.4.md +0 -260
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
# Migrating to Cerefox v0.4.0 (historical)
|
|
2
|
-
|
|
3
|
-
> ## ⚠ Historical document — do not use the snippets in this file
|
|
4
|
-
>
|
|
5
|
-
> This guide documents the **v0.4.0 → v0.4.3 migration window** (May 2026).
|
|
6
|
-
> The `cerefox-mcp` bin name referenced throughout was dropped in **v0.5.1**;
|
|
7
|
-
> the soft-wrapper described in some sections was removed in **v0.5.2**.
|
|
8
|
-
> The per-client config snippets below **will not work on @cerefox/memory v0.5+**.
|
|
9
|
-
>
|
|
10
|
-
> **If you're upgrading today, use the current guide instead:**
|
|
11
|
-
> → [`migration-v0.5.md`](migration-v0.5.md) — covers Python `cerefox` → v0.5.x
|
|
12
|
-
> AND v0.4.x → v0.5.x in a single document, with the v0.5.0/v0.5.1/v0.5.2/v0.5.3
|
|
13
|
-
> transitions all explained.
|
|
14
|
-
>
|
|
15
|
-
> This file is preserved so historical CHANGELOG entries that reference it
|
|
16
|
-
> still resolve. It's not maintained.
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
**Original TL;DR (preserved verbatim)**: nothing urgent. Your existing `cerefox mcp` configs keep
|
|
21
|
-
working unchanged. The Python `cerefox mcp` command is now a soft
|
|
22
|
-
wrapper that transparently uses the new TypeScript MCP server if it's
|
|
23
|
-
installed, falling back to the legacy Python implementation otherwise.
|
|
24
|
-
Switch to the npm-installed TS server at your convenience for faster
|
|
25
|
-
boot times and fewer Python dependencies.
|
|
26
|
-
|
|
27
|
-
This guide is for **existing users** of `cerefox mcp` who want to
|
|
28
|
-
optionally upgrade. **New users** should follow
|
|
29
|
-
[`docs/guides/connect-agents.md`](connect-agents.md) instead — that's
|
|
30
|
-
the canonical configuration recipe per MCP client.
|
|
31
|
-
|
|
32
|
-
## What changed in v0.4.0
|
|
33
|
-
|
|
34
|
-
- **`@cerefox/memory`** is a new npm package containing the Cerefox
|
|
35
|
-
local stdio MCP server. Same 10 MCP tools, same protocol, faster
|
|
36
|
-
boot.
|
|
37
|
-
- **The Edge Function (`cerefox-mcp`) shares tool handlers** with the
|
|
38
|
-
new local server via `_shared/mcp-tools/`. One source of truth; no
|
|
39
|
-
drift.
|
|
40
|
-
- **`cerefox_get_help`** is a new MCP tool (10 total now, was 9). Layer
|
|
41
|
-
3 of MCP discoverability — agents can now retrieve
|
|
42
|
-
`AGENT_QUICK_REFERENCE.md` content over MCP without filesystem
|
|
43
|
-
access.
|
|
44
|
-
- **`cerefox mcp` (Python CLI)** starts the in-tree Python MCP server.
|
|
45
|
-
(v0.4–v0.5.1 advertised a "soft wrapper" that tried to delegate to the
|
|
46
|
-
npm package's TS MCP server via npx, but the probe was unreliable
|
|
47
|
-
under `uv run`-launched MCP-client contexts and caused infinite
|
|
48
|
-
recursion. v0.5.2 stripped the wrapper; the Python path is now
|
|
49
|
-
always the Python server, and the npm/TS path is configured
|
|
50
|
-
explicitly. See `docs/guides/migration-v0.5.md` § "v0.5.2 fixed the
|
|
51
|
-
soft wrapper" for the migration story.)
|
|
52
|
-
|
|
53
|
-
## The optional one-time upgrade
|
|
54
|
-
|
|
55
|
-
If you have Node 20+ installed, install `@cerefox/memory` globally:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
npm install -g @cerefox/memory
|
|
59
|
-
# or, if you have Bun:
|
|
60
|
-
bun install -g @cerefox/memory
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
After this, the npm `cerefox` is on your PATH. To actually have your
|
|
64
|
-
MCP client use the TS server, you need to **update your MCP client
|
|
65
|
-
config explicitly** — v0.5.2 removed the auto-delegation. The
|
|
66
|
-
canonical config invokes the npm bin directly; see the next section.
|
|
67
|
-
|
|
68
|
-
(v0.4–v0.5.1 *thought* it had auto-delegation, but the soft wrapper
|
|
69
|
-
was unreliable under `uv run`-launched contexts and caused infinite
|
|
70
|
-
recursion when the MCP client launched it. v0.5.2 took the simpler
|
|
71
|
-
"each path is explicit" stance.)
|
|
72
|
-
|
|
73
|
-
You can also point your MCP client directly at `cerefox mcp` (the
|
|
74
|
-
TS-CLI subcommand) and bypass the Python path entirely:
|
|
75
|
-
|
|
76
|
-
### Claude Code
|
|
77
|
-
|
|
78
|
-
**Old:**
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
claude mcp add cerefox -- uv run --directory /path/to/cerefox cerefox mcp
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**New (optional):**
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
claude mcp add cerefox -- npx -y --package=@cerefox/memory cerefox-mcp
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### Cursor
|
|
91
|
-
|
|
92
|
-
**Old** (`mcp.json` in your project or `~/.cursor/mcp.json`):
|
|
93
|
-
|
|
94
|
-
```json
|
|
95
|
-
{
|
|
96
|
-
"mcpServers": {
|
|
97
|
-
"cerefox": {
|
|
98
|
-
"command": "uv",
|
|
99
|
-
"args": ["run", "--directory", "/path/to/cerefox", "cerefox", "mcp"]
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
**New (optional):**
|
|
106
|
-
|
|
107
|
-
```json
|
|
108
|
-
{
|
|
109
|
-
"mcpServers": {
|
|
110
|
-
"cerefox": {
|
|
111
|
-
"command": "npx",
|
|
112
|
-
"args": ["-y", "--package=@cerefox/memory", "cerefox-mcp"]
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### Claude Desktop
|
|
119
|
-
|
|
120
|
-
**Old** (`claude_desktop_config.json`):
|
|
121
|
-
|
|
122
|
-
```json
|
|
123
|
-
{
|
|
124
|
-
"mcpServers": {
|
|
125
|
-
"cerefox": {
|
|
126
|
-
"command": "uv",
|
|
127
|
-
"args": ["--directory", "/path/to/cerefox", "run", "cerefox", "mcp"]
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
**New (optional):**
|
|
134
|
-
|
|
135
|
-
```json
|
|
136
|
-
{
|
|
137
|
-
"mcpServers": {
|
|
138
|
-
"cerefox": {
|
|
139
|
-
"command": "npx",
|
|
140
|
-
"args": ["-y", "--package=@cerefox/memory", "cerefox-mcp"]
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Codex CLI
|
|
147
|
-
|
|
148
|
-
**Old** (`~/.codex/config.toml`):
|
|
149
|
-
|
|
150
|
-
```toml
|
|
151
|
-
[mcp_servers.cerefox]
|
|
152
|
-
command = "uv"
|
|
153
|
-
args = ["--directory", "/path/to/cerefox", "run", "cerefox", "mcp"]
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
**New (optional):**
|
|
157
|
-
|
|
158
|
-
```toml
|
|
159
|
-
[mcp_servers.cerefox]
|
|
160
|
-
command = "npx"
|
|
161
|
-
args = ["-y", "--package=@cerefox/memory", "cerefox-mcp"]
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## Environment
|
|
165
|
-
|
|
166
|
-
The new TS server reads `.env` the same way the Python CLI does (per
|
|
167
|
-
v0.3.0's `_resolve_config_dir()`):
|
|
168
|
-
|
|
169
|
-
1. `CEREFOX_CONFIG_DIR` env var override.
|
|
170
|
-
2. `./.env` in the current working directory.
|
|
171
|
-
3. `~/.cerefox/.env`.
|
|
172
|
-
|
|
173
|
-
For most users with an existing Cerefox install, your `.env` is already
|
|
174
|
-
where it needs to be. If you want to verify:
|
|
175
|
-
|
|
176
|
-
```bash
|
|
177
|
-
npx --package=@cerefox/memory cerefox-mcp --help
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
(That's the help text, not a server start — safe to run anywhere.)
|
|
181
|
-
|
|
182
|
-
## Schema-version-mismatch banner
|
|
183
|
-
|
|
184
|
-
The new server prints a one-line warning to stderr at boot if the
|
|
185
|
-
bundled `@cerefox/memory` schema version doesn't match what's deployed
|
|
186
|
-
to your Supabase. Run `uv run python scripts/db_deploy.py` from the
|
|
187
|
-
repo to update.
|
|
188
|
-
|
|
189
|
-
## Falling back
|
|
190
|
-
|
|
191
|
-
If the npm path doesn't work for any reason (npx missing, package not
|
|
192
|
-
installed, network issue during `npx` resolution), `cerefox mcp` falls
|
|
193
|
-
back to the legacy Python server with a one-line stderr nudge. Your
|
|
194
|
-
MCP client never notices — same stdio interface, same tools.
|
|
195
|
-
|
|
196
|
-
To force the legacy path even when `@cerefox/memory` is installed:
|
|
197
|
-
uninstall it (`npm uninstall -g @cerefox/memory`) or invoke the Python
|
|
198
|
-
CLI from a shell without `npx` in `$PATH`.
|
|
199
|
-
|
|
200
|
-
## `cerefox_get_help` — the new tool
|
|
201
|
-
|
|
202
|
-
If you use Cerefox through an MCP client and ever wonder "wait, what's
|
|
203
|
-
the right way to do X in Cerefox?", you can now ask the server
|
|
204
|
-
directly:
|
|
205
|
-
|
|
206
|
-
- `cerefox_get_help()` — returns the full `AGENT_QUICK_REFERENCE.md`
|
|
207
|
-
plus a section index.
|
|
208
|
-
- `cerefox_get_help(topic: "links")` — returns just the cross-document
|
|
209
|
-
linking section.
|
|
210
|
-
- `cerefox_get_help(topic: "update")` — returns the update workflow
|
|
211
|
-
sections.
|
|
212
|
-
|
|
213
|
-
The topic match is a case-insensitive substring against H2 headings.
|
|
214
|
-
Both the new TS server AND the legacy Python fallback expose this tool
|
|
215
|
-
— consistent surface regardless of which path serves your session.
|
|
216
|
-
|
|
217
|
-
## When v0.5.0 ships
|
|
218
|
-
|
|
219
|
-
The TypeScript CLI lands in v0.5.0. At that point `@cerefox/memory`
|
|
220
|
-
will gain a second binary (`cerefox`) for the full CLI surface
|
|
221
|
-
(`cerefox search`, `cerefox ingest`, etc.) plus a `cerefox
|
|
222
|
-
configure-agent` command that writes the right MCP config for each
|
|
223
|
-
client automatically. For now, the manual recipes above are the way.
|
|
224
|
-
|
|
225
|
-
## Known gotchas
|
|
226
|
-
|
|
227
|
-
- **`npx` from inside an npm workspace can fail with "command not
|
|
228
|
-
found"** even when the package is correctly published. Running
|
|
229
|
-
`npx -y --package=@cerefox/memory cerefox-mcp` from the root of a
|
|
230
|
-
surrounding npm-workspace monorepo (your own project) confuses npx's
|
|
231
|
-
bin-resolution path. Symptoms: `sh: cerefox-mcp: command not found`
|
|
232
|
-
even though the published package has the bin entry. Workarounds —
|
|
233
|
-
any one of these works:
|
|
234
|
-
- Use `bunx` instead: `bunx --package @cerefox/memory cerefox-mcp` —
|
|
235
|
-
cleanly handles workspace contexts.
|
|
236
|
-
- Run from a non-workspace directory (e.g. `cd /tmp` first).
|
|
237
|
-
- Install globally and invoke from PATH:
|
|
238
|
-
`npm install -g @cerefox/memory` then `cerefox-mcp`.
|
|
239
|
-
- When configuring an MCP client (Claude Code, Cursor, Claude
|
|
240
|
-
Desktop, Codex CLI), the launched process inherits the client's
|
|
241
|
-
own working directory rather than your shell's, so this gotcha
|
|
242
|
-
usually doesn't bite real MCP usage — only manual `npx` smoke
|
|
243
|
-
tests run from a project root.
|
|
244
|
-
|
|
245
|
-
- **The minimum npm version for OIDC publish is 11.5.1.** The shipped
|
|
246
|
-
`release.yml` workflow already pins this; only relevant if you're
|
|
247
|
-
forking the project for your own publish target.
|
|
248
|
-
|
|
249
|
-
## What didn't change
|
|
250
|
-
|
|
251
|
-
- The Edge Function (remote MCP) URL and auth: unchanged. Same
|
|
252
|
-
Bearer-with-anon-JWT pattern; the EF just shares its tool handlers
|
|
253
|
-
with the local TS server now.
|
|
254
|
-
- The Postgres RPC contracts: unchanged. v0.4.0 ships zero schema
|
|
255
|
-
changes — the `cerefox_schema_version()` RPC introduced in v0.3.0
|
|
256
|
-
still returns `0.3.1`. (The mismatch warning at TS server startup
|
|
257
|
-
fires until you redeploy from `main`, which is what you'd do
|
|
258
|
-
whenever the schema version actually bumps.)
|
|
259
|
-
- Web UI, ingestion pipeline, CLI subcommands: all unchanged in v0.4.
|
|
260
|
-
Those migrate in v0.6 and v0.7.
|