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 CHANGED
@@ -1,14 +1,14 @@
1
1
  # Neuro Vault MCP
2
2
 
3
- > ๐Ÿง ๐Ÿ’พ **Plug your knowledge in like a USB drive.** Your Obsidian vault, available in every AI conversation โ€” search it, query it, write to it. Same vault in Claude Code, Cursor, Windsurf โ€” no copy-paste, no context-switching, no re-indexing.
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/0ba43373-3f97-4dc6-ab91-4f30bdafd0bf
5
+ https://github.com/user-attachments/assets/25c1bafb-7b90-43ac-aa50-50e85705fb5b
6
6
 
7
7
  [![npm version](https://img.shields.io/npm/v/neuro-vault-mcp)](https://www.npmjs.com/package/neuro-vault-mcp)
8
8
  [![Node.js](https://img.shields.io/node/v/neuro-vault-mcp)](https://nodejs.org)
9
9
  [![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](LICENSE)
10
10
 
11
- Your second brain stops being a folder you open between contexts and becomes a first-class participant in every project. Ask, recall, decide, write back โ€” all without leaving the conversation.
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 SmartConnectionsCorpus {
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
- loadCorpus?: (smartEnvPath: string, modelKey: string) => Promise<SmartConnectionsCorpus>;
136
+ corpusFactory?: (smartEnvPath: string, modelKey: string) => Promise<SmartConnectionsCorpusIndex>;
128
137
  embeddingServiceFactory?: (modelId: string) => EmbeddingProvider;
129
138
  searchEngine?: SearchEngine;
130
139
  pathExists?: PathExistsCheck;