mcp-memory-bucket 0.1.0 → 0.2.1

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/README.md CHANGED
@@ -29,18 +29,21 @@ Starts a stateless StreamableHTTP MCP server at `http://localhost:8767/mcp`
29
29
  the SQLite cache is kept current by a file watcher for as long as the
30
30
  server runs.
31
31
 
32
- The same process also serves a read-only browser UI at
33
- `http://localhost:8767/` for searching/filtering skills and memory docs by
34
- tag, status, owner, and fulltext (SQLite FTS5) — a way to review what's in
35
- the index without going through an agent. It has no write access; all
36
- edits still go through the `skill_*`/`memory_*` tools or the files
37
- directly. From an MCP session connected to this server, call
38
- `bucket_open_ui` to get the URL. The UI is a Lit + `avosignals` app built
39
- with Vite (`src/client/`, bundled to `dist/client/`) `npm run build`
40
- builds it (along with the server); `npm start` does **not** rebuild it, so
41
- run `npm run build` again after changing anything under `src/client/`.
42
- `npm run dev` rebuilds the client on change alongside the server, for active
43
- UI development.
32
+ The same process also serves a browser UI at `http://localhost:8767/` for
33
+ searching/filtering skills and memory docs by tag, root, status, owner,
34
+ and fulltext (SQLite FTS5) — a way to review what's in the index without
35
+ going through an agent. It also manages **roots**: add a skill or memory
36
+ root by browsing the filesystem, or remove one (unregisters it and drops
37
+ its cached rows never deletes files on disk). Editing individual skills
38
+ or memory docs still goes through the `skill_*`/`memory_*` tools or the
39
+ files directly. From an MCP session connected to this server, call
40
+ `bucket_open_ui` to get the URL. If no roots are configured yet, the UI
41
+ opens straight into a first-run "add your first root" screen. The UI is a
42
+ Lit + `avosignals` app built with Vite (`src/client/`, bundled to
43
+ `dist/client/`) — `npm run build` builds it (along with the server);
44
+ `npm start` does **not** rebuild it, so run `npm run build` again after
45
+ changing anything under `src/client/`. `npm run dev` rebuilds the client
46
+ on change alongside the server, for active UI development.
44
47
 
45
48
  ### Configuration
46
49
 
@@ -54,8 +57,31 @@ memory/skill sources. Override that with one of:
54
57
  }
55
58
  ```
56
59
 
57
- Paths are resolved relative to the working directory. Defaults match the
58
- example above if no `skill_sources`/`memory_sources` key is present.
60
+ Paths are resolved relative to the working directory. If no
61
+ `skill_sources`/`memory_sources` key is present, each defaults to the
62
+ example above only when that directory already exists on disk;
63
+ otherwise the server starts with zero roots and the UI's first-run
64
+ screen offers to add one.
65
+
66
+ **Multiple roots** (e.g. a personal skills folder plus a shared company
67
+ repo) are supported — give each source a name instead of a bare path:
68
+
69
+ ```json
70
+ {
71
+ "skill_sources": [
72
+ { "name": "personal", "path": "~/skills" },
73
+ { "name": "company", "path": "../company-repo/skills" }
74
+ ]
75
+ }
76
+ ```
77
+
78
+ Bare-string and `{name, path}` entries can be mixed in the same array.
79
+ With a single root of a kind, `skill_create`/`memory_create`/etc. work
80
+ exactly as before. Once 2+ roots exist, those tools require an explicit
81
+ `root` argument (and `skill_list`/`memory_list` gain an optional `root`
82
+ filter) — every list/get response also includes which `root` each item
83
+ came from. Roots can be added or removed at runtime through the web UI
84
+ without a restart; adding one there also appends it to this config file.
59
85
 
60
86
  - the `MEMORY_BUCKET_DIR` environment variable, or the `--memory-dir <path>`
61
87
  CLI flag — either overrides the base directory that the (still-defaultable)