neuro-vault-mcp 3.0.0 → 3.1.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
@@ -13,7 +13,7 @@
13
13
  ## ✨ Why Neuro Vault?
14
14
 
15
15
  - 🧠 **Semantic search over your existing vault** — reuses [Smart Connections](https://github.com/brianpetro/obsidian-smart-connections) embeddings already in your vault. No re-indexing, no API keys, no extra infrastructure.
16
- - 🎯 **Mode-aware retrieval** — `quick` for direct lookups, `deep` for exploratory questions with block-level results and semantic expansion of related notes.
16
+ - 🎯 **Mode-aware retrieval** — `quick` for direct lookups, `deep` for exploratory questions with block-level results and semantic expansion of related notes. Pass `query: string[]` (up to 8) for synonyms, reformulations, or cross-language pairs — one merged result list with `matched_queries` per entry.
17
17
  - ✍️ **Direct vault operations** — read, create, append, and prepend notes; manage frontmatter properties and inspect tags (including daily notes) straight from your AI assistant via the [Obsidian CLI](https://github.com/AlexMost/obsidian-cli).
18
18
  - 🔎 **Structured queries** — one MongoDB-style call (`query_notes`) replaces N+1 chains like "list tags → read each note's property". Ask "active projects with #ai" or "todo tasks created this week" and get a single ranked response.
19
19
  - ⚡ **Zero infrastructure** — local stdio MCP server, in-memory index, no database, no background processes, no watchers.
package/dist/cli.d.ts CHANGED
@@ -2,16 +2,6 @@
2
2
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
4
 
5
- interface RetrievalOutput {
6
- results: SearchResult[];
7
- blockResults?: BlockSearchResult[];
8
- }
9
- interface MultiRetrievalOutput {
10
- results: MultiSearchResult[];
11
- blockResults?: MultiBlockSearchResult[];
12
- truncated: boolean;
13
- }
14
-
15
5
  interface SmartBlock {
16
6
  key: string;
17
7
  heading: string;
@@ -32,6 +22,7 @@ interface BlockSearchResult {
32
22
  interface SearchResult {
33
23
  path: string;
34
24
  similarity: number;
25
+ via_expansion?: true;
35
26
  }
36
27
  interface DuplicatePair {
37
28
  note_a: string;
@@ -61,49 +52,7 @@ interface SearchEngine {
61
52
  threshold: number;
62
53
  }): DuplicatePair[];
63
54
  }
64
- type SearchMode = 'quick' | 'deep';
65
- interface SearchNotesInput {
66
- query: string | string[];
67
- mode?: SearchMode;
68
- limit?: number;
69
- threshold?: number;
70
- }
71
- interface GetSimilarNotesInput {
72
- path: string;
73
- limit?: number;
74
- threshold?: number;
75
- }
76
- interface FindDuplicatesInput {
77
- threshold?: number;
78
- }
79
- interface ToolStats {
80
- totalNotes: number;
81
- totalBlocks: number;
82
- embeddingDimension: number;
83
- modelKey: string;
84
- }
85
55
  type PathExistsCheck = (vaultRelativePath: string) => Promise<boolean>;
86
- interface ToolHandlerDependencies {
87
- loader: {
88
- sources: Map<string, SmartSource>;
89
- };
90
- embeddingProvider: EmbeddingProvider;
91
- searchEngine: SearchEngine;
92
- modelKey: string;
93
- pathExists?: PathExistsCheck;
94
- }
95
- interface ToolHandlers {
96
- searchNotes(input: SearchNotesInput): Promise<RetrievalOutput | MultiRetrievalOutput>;
97
- getSimilarNotes(input: GetSimilarNotesInput): Promise<SearchResult[]>;
98
- findDuplicates(input?: FindDuplicatesInput): Promise<DuplicatePair[]>;
99
- getStats(): Promise<ToolStats>;
100
- }
101
- interface MultiSearchResult extends SearchResult {
102
- matched_queries: string[];
103
- }
104
- interface MultiBlockSearchResult extends BlockSearchResult {
105
- matched_queries: string[];
106
- }
107
56
 
108
57
  interface SmartConnectionsCorpus {
109
58
  sources: Map<string, SmartSource>;
@@ -113,7 +62,6 @@ interface SemanticModuleDeps {
113
62
  loadCorpus?: (smartEnvPath: string, modelKey: string) => Promise<SmartConnectionsCorpus>;
114
63
  embeddingServiceFactory?: (modelId: string) => EmbeddingProvider;
115
64
  searchEngine?: SearchEngine;
116
- toolHandlersFactory?: (deps: ToolHandlerDependencies) => ToolHandlers;
117
65
  pathExists?: PathExistsCheck;
118
66
  }
119
67