neuro-vault-mcp 4.2.0 → 5.0.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/README.md +6 -6
- package/dist/cli.d.ts +17 -11
- package/dist/cli.js +222 -111
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ Your second brain stops being a folder you open between contexts and becomes a f
|
|
|
20
20
|
- 🎯 **Quick or deep, your call** — fast direct lookups for "find that note", or exploratory mode with related-note expansion when the question is fuzzy.
|
|
21
21
|
- 🧭 **A real navigation toolkit for your agent** — instead of grepping files and opening notes one by one, your assistant walks the vault like a database: filter by tags and properties, batch-read metadata, traverse the wikilink graph, discover the structure, jump to semantic neighbours.
|
|
22
22
|
- 🔎 **Ask structured questions in plain language** — _"active projects tagged #ai"_, _"todo tasks with a deadline this week"_, _"meeting notes from `Work/` newest first"_ — one call, ranked answer, no chains of reads.
|
|
23
|
-
- ✍️ **
|
|
23
|
+
- ✍️ **Full write surface for your notes** — create, in-place replace, or rewrite the whole body; manage frontmatter, tags, and daily notes. Frontmatter and creation route through the [Obsidian CLI](https://github.com/AlexMost/obsidian-cli) so Smart Connections, sync, and other plugins stay in the loop; in-place edits write directly to disk and the watcher catches up.
|
|
24
24
|
- ⚡ **Zero infrastructure** — local stdio MCP server, in-memory index, no database, no background processes, no watchers.
|
|
25
25
|
- 🔌 **Drop-in for any MCP client** — Claude Code, Cursor, Windsurf — configuration is a single JSON block.
|
|
26
26
|
|
|
@@ -30,11 +30,11 @@ Your second brain stops being a folder you open between contexts and becomes a f
|
|
|
30
30
|
|
|
31
31
|
Most "vault MCP" servers give you one or the other. Neuro Vault gives you both, and lets your assistant pick the right one per question:
|
|
32
32
|
|
|
33
|
-
| | 🔭 **Semantic recall** | 🛠 **Vault operations**
|
|
34
|
-
| ---------------- | ------------------------------------------------------------------------- |
|
|
35
|
-
| **What it does** | Finds notes by meaning, not keywords. Surfaces neighbours and duplicates. | Reads, writes, edits notes; manages frontmatter, tags, daily notes.
|
|
36
|
-
| **Best for** | _"What did I think about X?"_, fuzzy recall, exploratory research. | Structured queries, capturing decisions, updating tasks, batch reads.
|
|
37
|
-
| **Powered by** | Smart Connections embeddings (already in your vault). | The official Obsidian CLI — Smart Connections, sync, plugins all stay in sync.
|
|
33
|
+
| | 🔭 **Semantic recall** | 🛠 **Vault operations** |
|
|
34
|
+
| ---------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
35
|
+
| **What it does** | Finds notes by meaning, not keywords. Surfaces neighbours and duplicates. | Reads, writes, edits notes (in-place replace and full-body rewrite); manages frontmatter, tags, daily notes. |
|
|
36
|
+
| **Best for** | _"What did I think about X?"_, fuzzy recall, exploratory research. | Structured queries, capturing decisions, updating tasks, batch reads. |
|
|
37
|
+
| **Powered by** | Smart Connections embeddings (already in your vault). | The official Obsidian CLI — Smart Connections, sync, plugins all stay in sync. |
|
|
38
38
|
|
|
39
39
|
The two work together: semantic search finds the right region of the vault, vault operations let the assistant actually _do something_ with what it found.
|
|
40
40
|
|
package/dist/cli.d.ts
CHANGED
|
@@ -145,20 +145,11 @@ interface CreateNoteInput {
|
|
|
145
145
|
interface CreateNoteResult {
|
|
146
146
|
path: string;
|
|
147
147
|
}
|
|
148
|
-
type EditPosition = 'append' | 'prepend';
|
|
149
|
-
interface EditNoteInput {
|
|
150
|
-
identifier: NoteIdentifier;
|
|
151
|
-
content: string;
|
|
152
|
-
position: EditPosition;
|
|
153
|
-
}
|
|
154
148
|
interface DailyNoteResult {
|
|
155
149
|
path: string;
|
|
156
150
|
frontmatter: Record<string, unknown> | null;
|
|
157
151
|
content: string;
|
|
158
152
|
}
|
|
159
|
-
interface AppendDailyInput {
|
|
160
|
-
content: string;
|
|
161
|
-
}
|
|
162
153
|
type PropertyType = 'text' | 'list' | 'number' | 'checkbox' | 'date' | 'datetime';
|
|
163
154
|
type PropertyValue = string | number | boolean | string[] | number[];
|
|
164
155
|
interface SetPropertyInput {
|
|
@@ -188,9 +179,7 @@ interface TagListEntry {
|
|
|
188
179
|
}
|
|
189
180
|
interface VaultProvider {
|
|
190
181
|
createNote(input: CreateNoteInput): Promise<CreateNoteResult>;
|
|
191
|
-
editNote(input: EditNoteInput): Promise<void>;
|
|
192
182
|
readDaily(): Promise<DailyNoteResult>;
|
|
193
|
-
appendDaily(input: AppendDailyInput): Promise<void>;
|
|
194
183
|
setProperty(input: SetPropertyInput): Promise<void>;
|
|
195
184
|
readProperty(input: ReadPropertyInput): Promise<ReadPropertyResult>;
|
|
196
185
|
removeProperty(input: RemovePropertyInput): Promise<void>;
|
|
@@ -211,11 +200,28 @@ interface ObsidianCLIProviderOptions {
|
|
|
211
200
|
exec?: ExecFn;
|
|
212
201
|
}
|
|
213
202
|
|
|
203
|
+
interface ReplaceInNoteInput {
|
|
204
|
+
path: string;
|
|
205
|
+
find: string;
|
|
206
|
+
content: string;
|
|
207
|
+
}
|
|
208
|
+
interface ReplaceFullBodyInput {
|
|
209
|
+
path: string;
|
|
210
|
+
content: string;
|
|
211
|
+
}
|
|
212
|
+
interface VaultWriter {
|
|
213
|
+
replaceInNote(input: ReplaceInNoteInput): Promise<void>;
|
|
214
|
+
replaceFullBody(input: ReplaceFullBodyInput): Promise<void>;
|
|
215
|
+
}
|
|
216
|
+
|
|
214
217
|
interface OperationsModuleDeps {
|
|
215
218
|
vaultProviderFactory?: (opts: ObsidianCLIProviderOptions) => VaultProvider;
|
|
216
219
|
vaultReaderFactory?: (opts: {
|
|
217
220
|
vaultRoot: string;
|
|
218
221
|
}) => VaultReader;
|
|
222
|
+
vaultWriterFactory?: (opts: {
|
|
223
|
+
vaultRoot: string;
|
|
224
|
+
}) => VaultWriter;
|
|
219
225
|
graph?: WikilinkGraphIndex;
|
|
220
226
|
}
|
|
221
227
|
|