neuro-vault-mcp 5.1.0 โ 5.3.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 +5 -3
- package/dist/cli.d.ts +11 -2
- package/dist/cli.js +2243 -2124
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# Neuro Vault MCP
|
|
2
2
|
|
|
3
|
-
> ๐ง ๐พ **
|
|
3
|
+
> ๐ง ๐พ **Make your personal vault usable by agents.** Low-token retrieval, explicit provenance, and safe writes for your Obsidian notes โ in Claude Code, Cursor, Windsurf, and any MCP client.
|
|
4
4
|
|
|
5
|
-
https://github.com/user-attachments/assets/
|
|
5
|
+
https://github.com/user-attachments/assets/25c1bafb-7b90-43ac-aa50-50e85705fb5b
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/neuro-vault-mcp)
|
|
8
8
|
[](https://nodejs.org)
|
|
9
9
|
[](LICENSE)
|
|
10
10
|
|
|
11
|
-
Your second brain stops being a folder you open between contexts and becomes a first-class participant in every project.
|
|
11
|
+
Your second brain stops being a folder you open between contexts and becomes a first-class participant in every project. Agents can recall the right notes, inspect the evidence, and write back through vault-aware operations โ without grepping the whole folder or flooding the context window.
|
|
12
12
|
|
|
13
13
|
> _"What did I write about that idea last month?"_ โ and now your assistant can actually answer.
|
|
14
14
|
|
|
@@ -18,6 +18,7 @@ Your second brain stops being a folder you open between contexts and becomes a f
|
|
|
18
18
|
|
|
19
19
|
- ๐ง **Semantic search that already knows your vault** โ reuses [Smart Connections](https://github.com/brianpetro/obsidian-smart-connections) embeddings. No re-indexing, no API keys, no extra infrastructure.
|
|
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
|
+
- ๐งพ **Context with provenance, not mystery memory** โ results come back with paths, matched queries, block-level snippets, and backlink counts so the assistant can show where an answer came from.
|
|
21
22
|
- ๐งญ **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
23
|
- ๐ **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
24
|
- โ๏ธ **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.
|
|
@@ -54,6 +55,7 @@ A few more questions Neuro Vault makes one-shot:
|
|
|
54
55
|
> _"Show meeting notes from `Work/` from the last two weeks, newest first."_
|
|
55
56
|
> _"Find notes similar to this one I'm reading."_
|
|
56
57
|
> _"Append today's decision to the daily note."_
|
|
58
|
+
> _"What's on my agenda today โ and what did I capture in other notes since this morning?"_
|
|
57
59
|
> _"What did past-me write about retrieval policy before I started building it?"_
|
|
58
60
|
|
|
59
61
|
One question, one answer. Your assistant stops being a file browser and starts being an actual second brain.
|
package/dist/cli.d.ts
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
4
|
|
|
5
|
+
interface BasenameIndex {
|
|
6
|
+
resolve(target: string): string | null;
|
|
7
|
+
resolveAll(target: string): string[];
|
|
8
|
+
}
|
|
9
|
+
|
|
5
10
|
interface SmartBlock {
|
|
6
11
|
key: string;
|
|
7
12
|
heading: string;
|
|
@@ -14,8 +19,12 @@ interface SmartSource {
|
|
|
14
19
|
blocks: SmartBlock[];
|
|
15
20
|
}
|
|
16
21
|
|
|
17
|
-
interface
|
|
22
|
+
interface CorpusSnapshot {
|
|
18
23
|
sources: Map<string, SmartSource>;
|
|
24
|
+
basenameIndex: BasenameIndex;
|
|
25
|
+
}
|
|
26
|
+
interface SmartConnectionsCorpusIndex {
|
|
27
|
+
snapshot(): Promise<CorpusSnapshot>;
|
|
19
28
|
}
|
|
20
29
|
|
|
21
30
|
type ReadNotesField = 'frontmatter' | 'content';
|
|
@@ -124,7 +133,7 @@ interface SearchEngine {
|
|
|
124
133
|
type PathExistsCheck = (vaultRelativePath: string) => Promise<boolean>;
|
|
125
134
|
|
|
126
135
|
interface SemanticModuleDeps {
|
|
127
|
-
|
|
136
|
+
corpusFactory?: (smartEnvPath: string, modelKey: string) => Promise<SmartConnectionsCorpusIndex>;
|
|
128
137
|
embeddingServiceFactory?: (modelId: string) => EmbeddingProvider;
|
|
129
138
|
searchEngine?: SearchEngine;
|
|
130
139
|
pathExists?: PathExistsCheck;
|