@oomkapwn/enquire-mcp 3.6.2 → 3.6.3
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/CHANGELOG.md +38 -0
- package/README.md +15 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/tools.d.ts +980 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +3132 -0
- package/dist/tools.js.map +1 -0
- package/docs/api-reference/.nojekyll +1 -0
- package/docs/api-reference/assets/hierarchy.js +1 -0
- package/docs/api-reference/assets/highlight.css +71 -0
- package/docs/api-reference/assets/icons.js +18 -0
- package/docs/api-reference/assets/icons.svg +1 -0
- package/docs/api-reference/assets/main.js +60 -0
- package/docs/api-reference/assets/navigation.js +1 -0
- package/docs/api-reference/assets/search.js +1 -0
- package/docs/api-reference/assets/style.css +1633 -0
- package/docs/api-reference/functions/index.buildEmbedText.html +15 -0
- package/docs/api-reference/functions/index.buildMcpServer.html +4 -0
- package/docs/api-reference/functions/index.formatReadyBanner.html +4 -0
- package/docs/api-reference/functions/index.main.html +1 -0
- package/docs/api-reference/functions/index.parsePositiveInt.html +1 -0
- package/docs/api-reference/functions/index.parseQuantizationMode.html +5 -0
- package/docs/api-reference/functions/index.prepareServerDeps.html +5 -0
- package/docs/api-reference/functions/index.startServer.html +1 -0
- package/docs/api-reference/functions/tools.appendToNote.html +17 -0
- package/docs/api-reference/functions/tools.archiveNote.html +15 -0
- package/docs/api-reference/functions/tools.assertHnswModelMatchesEmbedder.html +13 -0
- package/docs/api-reference/functions/tools.chatThreadAppend.html +22 -0
- package/docs/api-reference/functions/tools.chatThreadRead.html +16 -0
- package/docs/api-reference/functions/tools.contextPack.html +21 -0
- package/docs/api-reference/functions/tools.createNote.html +19 -0
- package/docs/api-reference/functions/tools.dataviewQuery.html +16 -0
- package/docs/api-reference/functions/tools.embeddingsSearch.html +40 -0
- package/docs/api-reference/functions/tools.findPath.html +23 -0
- package/docs/api-reference/functions/tools.findSimilar.html +21 -0
- package/docs/api-reference/functions/tools.frontmatterGet.html +15 -0
- package/docs/api-reference/functions/tools.frontmatterSearch.html +16 -0
- package/docs/api-reference/functions/tools.frontmatterSet.html +19 -0
- package/docs/api-reference/functions/tools.getBacklinks.html +15 -0
- package/docs/api-reference/functions/tools.getNoteNeighbors.html +16 -0
- package/docs/api-reference/functions/tools.getOpenQuestions.html +19 -0
- package/docs/api-reference/functions/tools.getOutboundLinks.html +16 -0
- package/docs/api-reference/functions/tools.getRecentEdits.html +14 -0
- package/docs/api-reference/functions/tools.getUnresolvedWikilinks.html +14 -0
- package/docs/api-reference/functions/tools.getVaultStats.html +13 -0
- package/docs/api-reference/functions/tools.lintWiki.html +20 -0
- package/docs/api-reference/functions/tools.listCanvases.html +16 -0
- package/docs/api-reference/functions/tools.listNotes.html +19 -0
- package/docs/api-reference/functions/tools.listPdfs.html +15 -0
- package/docs/api-reference/functions/tools.listTags.html +14 -0
- package/docs/api-reference/functions/tools.ocrPdf.html +18 -0
- package/docs/api-reference/functions/tools.openInUi.html +17 -0
- package/docs/api-reference/functions/tools.paperAudit.html +16 -0
- package/docs/api-reference/functions/tools.pickEmbedTextForHyde.html +8 -0
- package/docs/api-reference/functions/tools.readCanvas.html +19 -0
- package/docs/api-reference/functions/tools.readNote.html +20 -0
- package/docs/api-reference/functions/tools.readPdf.html +18 -0
- package/docs/api-reference/functions/tools.renameNote.html +24 -0
- package/docs/api-reference/functions/tools.replaceInNotes.html +20 -0
- package/docs/api-reference/functions/tools.resolveTarget.html +24 -0
- package/docs/api-reference/functions/tools.resolveWikilink.html +20 -0
- package/docs/api-reference/functions/tools.searchHybrid.html +62 -0
- package/docs/api-reference/functions/tools.searchText.html +19 -0
- package/docs/api-reference/functions/tools.semanticSearch.html +19 -0
- package/docs/api-reference/functions/tools.validateNoteProposal.html +19 -0
- package/docs/api-reference/hierarchy.html +1 -0
- package/docs/api-reference/index.html +1 -0
- package/docs/api-reference/interfaces/index.ServeOptions.html +74 -0
- package/docs/api-reference/interfaces/index.ServerDeps.html +27 -0
- package/docs/api-reference/interfaces/tool-manifest.ToolManifestEntry.html +33 -0
- package/docs/api-reference/interfaces/tools.ArchiveNoteArgs.html +12 -0
- package/docs/api-reference/interfaces/tools.BacklinkHit.html +15 -0
- package/docs/api-reference/interfaces/tools.CanvasEdge.html +19 -0
- package/docs/api-reference/interfaces/tools.CanvasSummary.html +16 -0
- package/docs/api-reference/interfaces/tools.ChatThreadAppendArgs.html +10 -0
- package/docs/api-reference/interfaces/tools.ChatThreadMessage.html +14 -0
- package/docs/api-reference/interfaces/tools.ChatThreadReadResult.html +10 -0
- package/docs/api-reference/interfaces/tools.ContextPackArgs.html +12 -0
- package/docs/api-reference/interfaces/tools.ContextPackResult.html +20 -0
- package/docs/api-reference/interfaces/tools.EmbedHit.html +21 -0
- package/docs/api-reference/interfaces/tools.EmbedSearchResponse.html +14 -0
- package/docs/api-reference/interfaces/tools.FindPathResult.html +17 -0
- package/docs/api-reference/interfaces/tools.FrontmatterSearchArgs.html +20 -0
- package/docs/api-reference/interfaces/tools.FrontmatterSetArgs.html +13 -0
- package/docs/api-reference/interfaces/tools.HnswSearchContext.html +21 -0
- package/docs/api-reference/interfaces/tools.LintWikiArgs.html +14 -0
- package/docs/api-reference/interfaces/tools.LintWikiFinding.html +14 -0
- package/docs/api-reference/interfaces/tools.LintWikiResult.html +9 -0
- package/docs/api-reference/interfaces/tools.NoteNeighbors.html +17 -0
- package/docs/api-reference/interfaces/tools.NoteReadFull.html +20 -0
- package/docs/api-reference/interfaces/tools.NoteReadMap.html +25 -0
- package/docs/api-reference/interfaces/tools.NoteSummary.html +14 -0
- package/docs/api-reference/interfaces/tools.OcrPdfArgs.html +16 -0
- package/docs/api-reference/interfaces/tools.OcrPdfPage.html +15 -0
- package/docs/api-reference/interfaces/tools.OcrPdfResult.html +18 -0
- package/docs/api-reference/interfaces/tools.OpenInUiResult.html +11 -0
- package/docs/api-reference/interfaces/tools.OpenQuestion.html +20 -0
- package/docs/api-reference/interfaces/tools.OutboundLink.html +20 -0
- package/docs/api-reference/interfaces/tools.PaperAuditFinding.html +17 -0
- package/docs/api-reference/interfaces/tools.PathStep.html +9 -0
- package/docs/api-reference/interfaces/tools.PdfSummary.html +9 -0
- package/docs/api-reference/interfaces/tools.ReadCanvasResult.html +15 -0
- package/docs/api-reference/interfaces/tools.ReadPdfArgs.html +8 -0
- package/docs/api-reference/interfaces/tools.ReadPdfPage.html +13 -0
- package/docs/api-reference/interfaces/tools.ReadPdfResult.html +18 -0
- package/docs/api-reference/interfaces/tools.RenameNoteResult.html +14 -0
- package/docs/api-reference/interfaces/tools.RenameProposal.html +13 -0
- package/docs/api-reference/interfaces/tools.ReplaceInNotesArgs.html +15 -0
- package/docs/api-reference/interfaces/tools.ReplaceInNotesFileResult.html +6 -0
- package/docs/api-reference/interfaces/tools.ReplaceInNotesResult.html +21 -0
- package/docs/api-reference/interfaces/tools.SearchHit.html +16 -0
- package/docs/api-reference/interfaces/tools.SearchHybridHit.html +30 -0
- package/docs/api-reference/interfaces/tools.SearchHybridResponse.html +23 -0
- package/docs/api-reference/interfaces/tools.SearchResponse.html +13 -0
- package/docs/api-reference/interfaces/tools.SemanticHit.html +15 -0
- package/docs/api-reference/interfaces/tools.SimilarNote.html +15 -0
- package/docs/api-reference/interfaces/tools.TagSummary.html +13 -0
- package/docs/api-reference/interfaces/tools.UnresolvedWikilink.html +22 -0
- package/docs/api-reference/interfaces/tools.ValidateProposalArgs.html +10 -0
- package/docs/api-reference/interfaces/tools.ValidateProposalResult.html +14 -0
- package/docs/api-reference/interfaces/tools.VaultStats.html +26 -0
- package/docs/api-reference/modules/index.html +1 -0
- package/docs/api-reference/modules/tool-manifest.html +1 -0
- package/docs/api-reference/modules/tools.html +1 -0
- package/docs/api-reference/types/tools.CanvasNode.html +7 -0
- package/docs/api-reference/types/tools.SearchMode.html +7 -0
- package/docs/api-reference/variables/index.VERSION.html +9 -0
- package/docs/api-reference/variables/tool-manifest.TOOL_MANIFEST.html +1 -0
- package/package.json +16 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
4
4
|
|
|
5
|
+
## [3.6.3] — 2026-05-15
|
|
6
|
+
|
|
7
|
+
> **TL;DR:** Discoverability + positioning patch. README, npm description, `package.json#keywords`, and the GitHub repo About + Topics now lead with **"long-term memory for AI agents"** framing — aligning with the post-Claude-Memory (Oct 2025) / post-Anthropic-Skills (Nov 2025) developer-discovery vocabulary. The capability we've shipped since v1.0 (durable, queryable, vendor-neutral memory in plain markdown) hasn't changed — just the framing on the discovery surfaces. **No code, API, schema, or behavior changes. 753 tests still passing.** No-op upgrade for everyone.
|
|
8
|
+
|
|
9
|
+
**Patch — discoverability / SEO repositioning (zero functional changes).**
|
|
10
|
+
|
|
11
|
+
### Changed — discovery & positioning
|
|
12
|
+
|
|
13
|
+
- **README headline subtitle**: `"Every modern IR primitive. In one tool. For free."` → `"The most advanced Obsidian MCP — every modern IR primitive, in one tool, for free."` (preserved as secondary line). New PRIMARY headline: **"Long-term memory for AI agents. Built on your Obsidian vault."**
|
|
14
|
+
- **README `## What it is` lead paragraph**: rewritten to frame the project as the **open-source, MCP-native, agent-grade memory layer** that complements Claude Memory / ChatGPT Memory / Cursor memory with vendor-neutral, file-owned, MCP-portable persistence. All technical claims preserved + sourced.
|
|
15
|
+
- **README new `## 🧠 Use cases` section** (between Quick start and API reference). 3 explicit scenarios — (1) long-term memory for AI agents, (2) personal knowledge base / second brain, (3) agentic RAG / context engineering — each anchored to specific enquire-mcp capabilities (hybrid retrieval, multilingual, graph-boost, HyDE, sub-question decomposition, eval harness).
|
|
16
|
+
- **`package.json#description`**: now leads with `"Memory layer for AI agents over your Obsidian vault."`. All capability claims preserved. Adds the phrase "open-source long-term memory / second brain".
|
|
17
|
+
- **`package.json#keywords`** (60 → 71): added 10 hype-aligned keywords at the **top of the array** (npm search ranks early keywords higher in many surfaces): `ai-memory`, `agent-memory`, `llm-memory`, `long-term-memory`, `claude-memory`, `memory-for-ai-agents`, `context-engineering`, `second-brain`, `personal-knowledge-base`, `knowledge-graph`. Also added `ai-agents` (plural) and `hybrid-search` (was only `hybrid-retrieval`). All 60 prior keywords retained.
|
|
18
|
+
- **GitHub repo About** (via `gh api -X PATCH /repos/oomkapwn/enquire-mcp`): updated to `"Memory layer for AI agents over your Obsidian vault. Hybrid retrieval (BM25 + ML + BGE rerank, RRF-fused), HNSW + int8 quantization, agentic RAG (HyDE + sub-question), standalone Bases, PDFs+OCR. Open-source long-term memory for Claude Code/Desktop, Cursor, ChatGPT, Codex. MCP-native, MIT, SLSA-3."`
|
|
19
|
+
- **GitHub Topics** (rebalanced within the 20-cap): added 7 hype topics — `ai-memory`, `agent-memory`, `llm-memory`, `long-term-memory`, `claude-memory`, `second-brain`, `context-engineering`. Dropped 7 lower-yield existing topics (`hnsw`, `ocr`, `pdf`, `openclaw`, `embeddings`, `vector-search`, `claude-desktop` — all still discoverable via npm keywords + README). Final 20-topic set: `obsidian, obsidian-mcp, mcp-server, model-context-protocol, claude, claude-code, cursor, chatgpt, codex, rag, agentic-rag, hybrid-search, semantic-search, ai-memory, agent-memory, llm-memory, long-term-memory, claude-memory, second-brain, context-engineering`.
|
|
20
|
+
|
|
21
|
+
### Tests
|
|
22
|
+
|
|
23
|
+
**753 tests** — identical to v3.6.2. No code paths changed → no test additions / removals / regressions. Lint clean, `tsc` strict + `noUncheckedIndexedAccess` clean, version-consistency green at `3.6.3` (5 surfaces), changelog-coverage gate passes (this section makes no coverage claims, so nothing to check).
|
|
24
|
+
|
|
25
|
+
### Migration
|
|
26
|
+
|
|
27
|
+
**No-op for every consumer.** Identical public API (44 tools), CLI, `package.json#exports`, dependency tree, on-disk DB schema, MCP wire format. Existing README anchors and links are preserved; the new `## 🧠 Use cases` section is **additive** between Quick start and API reference.
|
|
28
|
+
|
|
29
|
+
### Method note
|
|
30
|
+
|
|
31
|
+
This patch is a **deliberate timing call**, not a fix for a found defect.
|
|
32
|
+
|
|
33
|
+
In Oct 2025 Anthropic shipped **Claude Memory**; in Nov 2025 **Claude Skills**. Both moved phrases like *"memory for AI agents"*, *"long-term agent memory"*, *"context engineering"* from niche jargon into mainstream developer-discovery vocabulary on npm, GitHub, X, and Google. enquire-mcp has shipped the underlying primitive — durable, queryable, vendor-neutral long-term memory in plain markdown — since v1.0 (public OSS release 2026-05-02; my private vault dogfooding goes back to early 2025). The technical capability hasn't changed; the search demand around the *words for that capability* has.
|
|
34
|
+
|
|
35
|
+
The lesson: **positioning isn't a one-time launch decision — it's continuous calibration against where the audience's vocabulary actually IS.** v3.6.x already had the strongest IR stack in the open-source Obsidian-MCP space (per `docs/benchmarks.md` + `docs/COMPARISON.md`). This patch makes that fact findable by the people actively searching for *"agent memory"* / *"long-term memory for Claude"* / *"second brain for Cursor"*.
|
|
36
|
+
|
|
37
|
+
**Non-goal: no over-claiming, no spec inflation.** Every capability claim in the new framing maps to an empirical benchmark in `docs/benchmarks.md` or a row in the comparison matrix. The memory-positioning is layered *on top of* the technical claims, never replacing them. Success criterion: ≥1pp lift in repo / npm impression CTR over the 14 days following 2026-05-15 (will verify via npm search analytics + GitHub Insights traffic; if no measurable lift by 2026-05-29 the framing returns to evaluation).
|
|
38
|
+
|
|
39
|
+
**Why a patch release and not just a README edit on `main`:** the `package.json#description` and `package.json#keywords` changes are surfaces visible on **npmjs.com** — and those only update when a new version publishes. So the marketing pivot must ship as a real version bump to land on npm. Going with `patch` (not minor) because the public API surface and behavior are byte-identical to v3.6.2.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
5
43
|
## [3.6.2] — 2026-05-15
|
|
6
44
|
|
|
7
45
|
> **TL;DR:** Audit batch — closes **K-1 RESIDUAL CLASS** (the v3.6.1 CRIT-1 fix was instance-only; the destructive-bootstrap-schema class was still active in 4 hot paths including a sibling K-1b in FtsIndex tokenize_mode). Plus 13 Medium + 14 Low findings from the internal 9-layer audit + 4 HIGHs from a second external audit. **+37 tests** (753 total, +1.29pp branches margin). No breaking API changes. **Retroactive correction** — v3.6.1's "CRIT-1 closed" was an overclaim.
|
package/README.md
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
# enquire-mcp
|
|
6
6
|
|
|
7
|
-
###
|
|
7
|
+
### Long-term memory for AI agents. Built on your Obsidian vault.
|
|
8
8
|
|
|
9
|
-
**
|
|
9
|
+
**The most advanced Obsidian MCP — every modern IR primitive, in one tool, for free.**
|
|
10
10
|
|
|
11
11
|
[](https://github.com/oomkapwn/enquire-mcp/actions/workflows/ci.yml)
|
|
12
12
|
[](https://www.npmjs.com/package/@oomkapwn/enquire-mcp)
|
|
@@ -27,7 +27,9 @@
|
|
|
27
27
|
|
|
28
28
|
## What it is
|
|
29
29
|
|
|
30
|
-
A **production-ready MCP server** that
|
|
30
|
+
A **production-ready MCP server** that turns your Obsidian vault into **persistent, queryable long-term memory** for any AI agent — Claude Code, Claude Desktop, Cursor, ChatGPT custom GPT, Codex, mobile MCP clients. Unlike session-scoped chat memory or proprietary cloud "memory" features, your knowledge lives in plain markdown files **you own**, indexed locally, and recalled with the full modern IR stack: **BM25 + TF-IDF + multilingual ML embeddings** fused via Reciprocal Rank Fusion (Cormack et al, 2009), reranked with a **BGE cross-encoder** (5 model options), scaled to millions of chunks via **HNSW with int8 quantization**, with blended markdown + PDF hits and `[page: N]` citations.
|
|
31
|
+
|
|
32
|
+
Think of it as the **open-source, MCP-native, agent-grade memory layer** that complements Claude Memory / ChatGPT Memory / Cursor memory — but stores your durable knowledge in a portable, vendor-neutral format (your Obsidian vault) any agent can read.
|
|
31
33
|
|
|
32
34
|
**44 tools · 19 MCP prompts · 753 unit tests · 50+ languages · v3.6.x · semver-bound · MIT · SLSA-3.**
|
|
33
35
|
|
|
@@ -65,6 +67,16 @@ enquire-mcp doctor --vault <path> # color-coded ✓/⚠/✗ health check
|
|
|
65
67
|
|
|
66
68
|
---
|
|
67
69
|
|
|
70
|
+
## 🧠 Use cases
|
|
71
|
+
|
|
72
|
+
**1 — Long-term memory for AI agents.** Drop your Obsidian vault into any MCP-compatible agent (Claude Code, Claude Desktop, Cursor, ChatGPT, Codex). The agent now has durable, semantic recall over every meeting note, journal entry, research log, and decision doc you've ever written — across sessions, models, and providers. Unlike `Claude Memory` or `ChatGPT Memory`, your knowledge isn't locked into one vendor's cloud; it lives in plain markdown you own and can migrate freely.
|
|
73
|
+
|
|
74
|
+
**2 — Personal knowledge base / second brain.** Hybrid retrieval surfaces the right note for *any* phrasing, in any of 50+ languages. Ask in English about a Russian-language journal entry from 2 years ago, get the right hit. Wikilink graph-boost reranks notes that sit at the centre of your knowledge graph. GraphRAG-light surfaces topical communities — discover connections you forgot you made. PDFs blend into search with `[page: N]` citations so research papers and meeting transcripts become first-class memory.
|
|
75
|
+
|
|
76
|
+
**3 — Agentic RAG / context engineering.** `obsidian_search` exposes per-signal scores so the agent sees *why* each hit ranked. HyDE pre-rewrites vague queries into rich hypothetical answers before retrieval. Sub-question decomposition handles multi-hop questions ("how did our pricing strategy evolve and what was the customer reaction?") by breaking them into independent sub-queries, fusing results. The built-in eval harness (NDCG / Recall / MRR) lets you measure retrieval quality on your own queries instead of trusting vendor benchmarks.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
68
80
|
## 📖 API reference
|
|
69
81
|
|
|
70
82
|
Auto-generated **[API reference at oomkapwn.github.io/enquire-mcp](https://oomkapwn.github.io/enquire-mcp/)** — every tool, prompt, and exported helper with full TSDoc (`@param` / `@returns` / `@example`). Rebuilt from source on every push to `main` via [`publish-docs.yml`](./.github/workflows/publish-docs.yml) (TypeDoc → GitHub Pages). Drift-free by construction: the same TSDoc that AI agents and IDEs see is what's published.
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* + `McpServer({version})`) and `src/tool-registry.ts` (used in the
|
|
8
8
|
* `vault-info` resource payload).
|
|
9
9
|
*/
|
|
10
|
-
export declare const VERSION = "3.6.
|
|
10
|
+
export declare const VERSION = "3.6.3";
|
|
11
11
|
export { main } from "./cli.js";
|
|
12
12
|
export { buildEmbedText, buildMcpServer, formatReadyBanner, prepareServerDeps, type ServeOptions, type ServerDeps, startServer } from "./server.js";
|
|
13
13
|
export { parsePositiveInt, parseQuantizationMode } from "./tool-registry.js";
|
package/dist/index.js
CHANGED
|
@@ -32,7 +32,7 @@ import { main } from "./cli.js";
|
|
|
32
32
|
* + `McpServer({version})`) and `src/tool-registry.ts` (used in the
|
|
33
33
|
* `vault-info` resource payload).
|
|
34
34
|
*/
|
|
35
|
-
export const VERSION = "3.6.
|
|
35
|
+
export const VERSION = "3.6.3";
|
|
36
36
|
// Re-exports — preserve the v3.5.x public surface so http-transport.ts and
|
|
37
37
|
// tests don't need to know about the new module layout. The set below
|
|
38
38
|
// exactly matches the v3.5.x `export` declarations: `main`,
|