neuro-vault-mcp 1.4.0 → 1.4.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 +24 -19
- package/dist/cli.js +14 -4
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Neuro Vault MCP
|
|
2
2
|
|
|
3
|
-
**Semantic search
|
|
3
|
+
**Semantic vault search and expansion for your Obsidian vault — right inside your AI assistant.**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/neuro-vault-mcp)
|
|
6
6
|
[](https://nodejs.org)
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> "What did I write about that idea last month?"
|
|
10
10
|
|
|
11
|
-
Neuro Vault MCP
|
|
11
|
+
Neuro Vault MCP provides semantic search over your Obsidian vault and semantic expansion for related notes. Agents can combine it with structural tools for exact note, path, date, tag, property, and link lookups when those tools are available. It reuses the embeddings already computed by [Smart Connections](https://github.com/brianpetro/obsidian-smart-connections) — no re-indexing, no extra infrastructure, no API keys.
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -19,20 +19,31 @@ Your question
|
|
|
19
19
|
│
|
|
20
20
|
▼
|
|
21
21
|
AI assistant
|
|
22
|
-
│
|
|
22
|
+
│ routes by intent
|
|
23
23
|
▼
|
|
24
|
-
|
|
24
|
+
├──────────────► Structural tools
|
|
25
|
+
│ (exact file, title, path, daily note, tag, property, wikilink, backlink, link traversal)
|
|
25
26
|
│
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
└──────────────► search_notes
|
|
28
|
+
(semantic retrieval)
|
|
29
|
+
│
|
|
30
|
+
▼
|
|
31
|
+
get_similar_notes
|
|
32
|
+
(semantic expansion)
|
|
32
33
|
```
|
|
33
34
|
|
|
34
35
|
The server loads `.smart-env/multi/*.ajson` into memory at startup and keeps it there. No background processes, no watchers, no database.
|
|
35
36
|
|
|
37
|
+
## Search Routing
|
|
38
|
+
|
|
39
|
+
Tool routing and retrieval policy are related, but not the same thing.
|
|
40
|
+
|
|
41
|
+
- Use structural tools first for exact file, title, path, daily note, tag, property, wikilink, backlink, and link traversal requests.
|
|
42
|
+
- Use `search_notes` for fuzzy topic, concept, and semantic retrieval.
|
|
43
|
+
- Use `get_similar_notes` after you already have a relevant note and want semantic expansion.
|
|
44
|
+
- Treat the routing guidance as behavior, not enforcement; the server does not hard-block other tool choices.
|
|
45
|
+
- Use semantic retrieval to find likely notes, then switch to structural tools when you need exact anchors.
|
|
46
|
+
|
|
36
47
|
---
|
|
37
48
|
|
|
38
49
|
## Requirements
|
|
@@ -205,15 +216,9 @@ Add this to your `AGENTS.md` or `CLAUDE.md` to help the AI assistant use the vau
|
|
|
205
216
|
```markdown
|
|
206
217
|
## Vault search
|
|
207
218
|
|
|
208
|
-
Use
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
1. Choose mode: `quick` for specific questions, `deep` for broad topics
|
|
213
|
-
2. Rewrite the query: extract 2-4 keywords, remove filler words
|
|
214
|
-
3. Call search_notes once per concept — use separate calls for synonyms and UA↔EN translations
|
|
215
|
-
|
|
216
|
-
Skip vault search for: general programming questions, translations, tasks with no personal knowledge component.
|
|
219
|
+
Use vault-aware tools when vault context matters.
|
|
220
|
+
Do not guess about note contents when the vault can be searched.
|
|
221
|
+
Follow the Neuro Vault MCP server instructions for routing and retrieval.
|
|
217
222
|
```
|
|
218
223
|
|
|
219
224
|
---
|
package/dist/cli.js
CHANGED
|
@@ -14550,9 +14550,19 @@ var getSimilarNotesSchema = external_exports.object({
|
|
|
14550
14550
|
var findDuplicatesSchema = external_exports.object({
|
|
14551
14551
|
threshold: external_exports.number().min(0).max(1).optional()
|
|
14552
14552
|
});
|
|
14553
|
-
var SERVER_INSTRUCTIONS = `
|
|
14553
|
+
var SERVER_INSTRUCTIONS = `Vault search guidance for an Obsidian vault. Use when the user's vault may contain relevant context \u2014 their notes, projects, plans, tasks, learning materials, or ideas. This includes both direct requests ("find my notes on X") and questions where vault context would improve the answer ("what's on my agenda?", "what was I working on?").
|
|
14554
14554
|
|
|
14555
|
-
##
|
|
14555
|
+
## Search routing
|
|
14556
|
+
|
|
14557
|
+
1. Choose the search class first: structural or semantic.
|
|
14558
|
+
2. If the user gives an exact anchor and structural tools are available, start there first.
|
|
14559
|
+
3. Prefer Obsidian CLI when available for exact note, path, date, tag, property, and link lookups.
|
|
14560
|
+
4. If Obsidian CLI is unavailable, use other structural file or navigation tools available in the current environment.
|
|
14561
|
+
5. Structural anchors include exact note title or filename, explicit path or folder, daily note by date or relative date, tag/property/wikilink, backlinks, or link traversal.
|
|
14562
|
+
6. Use \`search_notes\` when the user is recalling a topic fuzzily, asking a conceptual question, or does not know the exact note name.
|
|
14563
|
+
7. After a relevant note is found, use \`get_similar_notes\` to expand semantically related context.
|
|
14564
|
+
|
|
14565
|
+
## Semantic search
|
|
14556
14566
|
|
|
14557
14567
|
### 1. Write the query
|
|
14558
14568
|
1. Extract the core nouns and concepts from the user's message \u2014 strip filler words and verbs. From "remind me what I wanted to build with LLM agents" the key concepts are "LLM", "agents", "build".
|
|
@@ -14653,7 +14663,7 @@ function createNeuroVaultServer({
|
|
|
14653
14663
|
"search_notes",
|
|
14654
14664
|
{
|
|
14655
14665
|
title: "Search Notes",
|
|
14656
|
-
description: 'Search notes by semantic similarity. Pass a short keyword query (1-4 words). Choose mode: "quick" for specific lookups (
|
|
14666
|
+
description: 'Search notes by semantic similarity for fuzzy recall, topic lookup, or cross-language matching. Pass a short keyword query (1-4 words). Choose mode: "quick" for specific lookups (up to 3 notes), "deep" for broad topic overview with block-level search and expansion. Call multiple times with different queries for synonyms or multi-language searches.',
|
|
14657
14667
|
inputSchema: searchNotesSchema
|
|
14658
14668
|
},
|
|
14659
14669
|
async (args) => invokeTool(() => handlers.searchNotes(args))
|
|
@@ -14662,7 +14672,7 @@ function createNeuroVaultServer({
|
|
|
14662
14672
|
"get_similar_notes",
|
|
14663
14673
|
{
|
|
14664
14674
|
title: "Get Similar Notes",
|
|
14665
|
-
description: 'Find
|
|
14675
|
+
description: 'Find semantically related notes after you already have a relevant note path. Pass a vault-relative POSIX path (e.g. "Folder/note.md").',
|
|
14666
14676
|
inputSchema: getSimilarNotesSchema
|
|
14667
14677
|
},
|
|
14668
14678
|
async (args) => invokeTool(() => handlers.getSimilarNotes(args))
|