@oomkapwn/enquire-mcp 3.6.3 → 3.7.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/CHANGELOG.md +206 -0
- package/README.md +5 -5
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +101 -22
- package/dist/cli.js.map +1 -1
- package/dist/embed-db.d.ts +20 -0
- package/dist/embed-db.d.ts.map +1 -1
- package/dist/embed-db.js +66 -0
- package/dist/embed-db.js.map +1 -1
- package/dist/fts5.d.ts +20 -4
- package/dist/fts5.d.ts.map +1 -1
- package/dist/fts5.js +20 -4
- package/dist/fts5.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +8 -2
- package/dist/tools/search.js.map +1 -1
- package/docs/COMPARISON.md +4 -4
- package/docs/QUICKSTART.md +3 -1
- package/docs/api.md +1 -1
- package/docs/benchmarks.md +2 -2
- package/package.json +5 -3
- package/dist/tools.d.ts +0 -980
- package/dist/tools.d.ts.map +0 -1
- package/dist/tools.js +0 -3132
- package/dist/tools.js.map +0 -1
- package/docs/api-reference/.nojekyll +0 -1
- package/docs/api-reference/assets/hierarchy.js +0 -1
- package/docs/api-reference/assets/highlight.css +0 -71
- package/docs/api-reference/assets/icons.js +0 -18
- package/docs/api-reference/assets/icons.svg +0 -1
- package/docs/api-reference/assets/main.js +0 -60
- package/docs/api-reference/assets/navigation.js +0 -1
- package/docs/api-reference/assets/search.js +0 -1
- package/docs/api-reference/assets/style.css +0 -1633
- package/docs/api-reference/functions/index.buildEmbedText.html +0 -15
- package/docs/api-reference/functions/index.buildMcpServer.html +0 -4
- package/docs/api-reference/functions/index.formatReadyBanner.html +0 -4
- package/docs/api-reference/functions/index.main.html +0 -1
- package/docs/api-reference/functions/index.parsePositiveInt.html +0 -1
- package/docs/api-reference/functions/index.parseQuantizationMode.html +0 -5
- package/docs/api-reference/functions/index.prepareServerDeps.html +0 -5
- package/docs/api-reference/functions/index.startServer.html +0 -1
- package/docs/api-reference/functions/tools.appendToNote.html +0 -17
- package/docs/api-reference/functions/tools.archiveNote.html +0 -15
- package/docs/api-reference/functions/tools.assertHnswModelMatchesEmbedder.html +0 -13
- package/docs/api-reference/functions/tools.chatThreadAppend.html +0 -22
- package/docs/api-reference/functions/tools.chatThreadRead.html +0 -16
- package/docs/api-reference/functions/tools.contextPack.html +0 -21
- package/docs/api-reference/functions/tools.createNote.html +0 -19
- package/docs/api-reference/functions/tools.dataviewQuery.html +0 -16
- package/docs/api-reference/functions/tools.embeddingsSearch.html +0 -40
- package/docs/api-reference/functions/tools.findPath.html +0 -23
- package/docs/api-reference/functions/tools.findSimilar.html +0 -21
- package/docs/api-reference/functions/tools.frontmatterGet.html +0 -15
- package/docs/api-reference/functions/tools.frontmatterSearch.html +0 -16
- package/docs/api-reference/functions/tools.frontmatterSet.html +0 -19
- package/docs/api-reference/functions/tools.getBacklinks.html +0 -15
- package/docs/api-reference/functions/tools.getNoteNeighbors.html +0 -16
- package/docs/api-reference/functions/tools.getOpenQuestions.html +0 -19
- package/docs/api-reference/functions/tools.getOutboundLinks.html +0 -16
- package/docs/api-reference/functions/tools.getRecentEdits.html +0 -14
- package/docs/api-reference/functions/tools.getUnresolvedWikilinks.html +0 -14
- package/docs/api-reference/functions/tools.getVaultStats.html +0 -13
- package/docs/api-reference/functions/tools.lintWiki.html +0 -20
- package/docs/api-reference/functions/tools.listCanvases.html +0 -16
- package/docs/api-reference/functions/tools.listNotes.html +0 -19
- package/docs/api-reference/functions/tools.listPdfs.html +0 -15
- package/docs/api-reference/functions/tools.listTags.html +0 -14
- package/docs/api-reference/functions/tools.ocrPdf.html +0 -18
- package/docs/api-reference/functions/tools.openInUi.html +0 -17
- package/docs/api-reference/functions/tools.paperAudit.html +0 -16
- package/docs/api-reference/functions/tools.pickEmbedTextForHyde.html +0 -8
- package/docs/api-reference/functions/tools.readCanvas.html +0 -19
- package/docs/api-reference/functions/tools.readNote.html +0 -20
- package/docs/api-reference/functions/tools.readPdf.html +0 -18
- package/docs/api-reference/functions/tools.renameNote.html +0 -24
- package/docs/api-reference/functions/tools.replaceInNotes.html +0 -20
- package/docs/api-reference/functions/tools.resolveTarget.html +0 -24
- package/docs/api-reference/functions/tools.resolveWikilink.html +0 -20
- package/docs/api-reference/functions/tools.searchHybrid.html +0 -62
- package/docs/api-reference/functions/tools.searchText.html +0 -19
- package/docs/api-reference/functions/tools.semanticSearch.html +0 -19
- package/docs/api-reference/functions/tools.validateNoteProposal.html +0 -19
- package/docs/api-reference/hierarchy.html +0 -1
- package/docs/api-reference/index.html +0 -1
- package/docs/api-reference/interfaces/index.ServeOptions.html +0 -74
- package/docs/api-reference/interfaces/index.ServerDeps.html +0 -27
- package/docs/api-reference/interfaces/tool-manifest.ToolManifestEntry.html +0 -33
- package/docs/api-reference/interfaces/tools.ArchiveNoteArgs.html +0 -12
- package/docs/api-reference/interfaces/tools.BacklinkHit.html +0 -15
- package/docs/api-reference/interfaces/tools.CanvasEdge.html +0 -19
- package/docs/api-reference/interfaces/tools.CanvasSummary.html +0 -16
- package/docs/api-reference/interfaces/tools.ChatThreadAppendArgs.html +0 -10
- package/docs/api-reference/interfaces/tools.ChatThreadMessage.html +0 -14
- package/docs/api-reference/interfaces/tools.ChatThreadReadResult.html +0 -10
- package/docs/api-reference/interfaces/tools.ContextPackArgs.html +0 -12
- package/docs/api-reference/interfaces/tools.ContextPackResult.html +0 -20
- package/docs/api-reference/interfaces/tools.EmbedHit.html +0 -21
- package/docs/api-reference/interfaces/tools.EmbedSearchResponse.html +0 -14
- package/docs/api-reference/interfaces/tools.FindPathResult.html +0 -17
- package/docs/api-reference/interfaces/tools.FrontmatterSearchArgs.html +0 -20
- package/docs/api-reference/interfaces/tools.FrontmatterSetArgs.html +0 -13
- package/docs/api-reference/interfaces/tools.HnswSearchContext.html +0 -21
- package/docs/api-reference/interfaces/tools.LintWikiArgs.html +0 -14
- package/docs/api-reference/interfaces/tools.LintWikiFinding.html +0 -14
- package/docs/api-reference/interfaces/tools.LintWikiResult.html +0 -9
- package/docs/api-reference/interfaces/tools.NoteNeighbors.html +0 -17
- package/docs/api-reference/interfaces/tools.NoteReadFull.html +0 -20
- package/docs/api-reference/interfaces/tools.NoteReadMap.html +0 -25
- package/docs/api-reference/interfaces/tools.NoteSummary.html +0 -14
- package/docs/api-reference/interfaces/tools.OcrPdfArgs.html +0 -16
- package/docs/api-reference/interfaces/tools.OcrPdfPage.html +0 -15
- package/docs/api-reference/interfaces/tools.OcrPdfResult.html +0 -18
- package/docs/api-reference/interfaces/tools.OpenInUiResult.html +0 -11
- package/docs/api-reference/interfaces/tools.OpenQuestion.html +0 -20
- package/docs/api-reference/interfaces/tools.OutboundLink.html +0 -20
- package/docs/api-reference/interfaces/tools.PaperAuditFinding.html +0 -17
- package/docs/api-reference/interfaces/tools.PathStep.html +0 -9
- package/docs/api-reference/interfaces/tools.PdfSummary.html +0 -9
- package/docs/api-reference/interfaces/tools.ReadCanvasResult.html +0 -15
- package/docs/api-reference/interfaces/tools.ReadPdfArgs.html +0 -8
- package/docs/api-reference/interfaces/tools.ReadPdfPage.html +0 -13
- package/docs/api-reference/interfaces/tools.ReadPdfResult.html +0 -18
- package/docs/api-reference/interfaces/tools.RenameNoteResult.html +0 -14
- package/docs/api-reference/interfaces/tools.RenameProposal.html +0 -13
- package/docs/api-reference/interfaces/tools.ReplaceInNotesArgs.html +0 -15
- package/docs/api-reference/interfaces/tools.ReplaceInNotesFileResult.html +0 -6
- package/docs/api-reference/interfaces/tools.ReplaceInNotesResult.html +0 -21
- package/docs/api-reference/interfaces/tools.SearchHit.html +0 -16
- package/docs/api-reference/interfaces/tools.SearchHybridHit.html +0 -30
- package/docs/api-reference/interfaces/tools.SearchHybridResponse.html +0 -23
- package/docs/api-reference/interfaces/tools.SearchResponse.html +0 -13
- package/docs/api-reference/interfaces/tools.SemanticHit.html +0 -15
- package/docs/api-reference/interfaces/tools.SimilarNote.html +0 -15
- package/docs/api-reference/interfaces/tools.TagSummary.html +0 -13
- package/docs/api-reference/interfaces/tools.UnresolvedWikilink.html +0 -22
- package/docs/api-reference/interfaces/tools.ValidateProposalArgs.html +0 -10
- package/docs/api-reference/interfaces/tools.ValidateProposalResult.html +0 -14
- package/docs/api-reference/interfaces/tools.VaultStats.html +0 -26
- package/docs/api-reference/modules/index.html +0 -1
- package/docs/api-reference/modules/tool-manifest.html +0 -1
- package/docs/api-reference/modules/tools.html +0 -1
- package/docs/api-reference/types/tools.CanvasNode.html +0 -7
- package/docs/api-reference/types/tools.SearchMode.html +0 -7
- package/docs/api-reference/variables/index.VERSION.html +0 -9
- package/docs/api-reference/variables/tool-manifest.TOOL_MANIFEST.html +0 -1
package/docs/COMPARISON.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# enquire-mcp vs. other Obsidian MCP servers
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**enquire-mcp positions itself as a long-term memory layer for AI agents, built on an Obsidian vault** — open-source, MCP-native, vendor-neutral, with the strongest retrieval stack in the open-source Obsidian-MCP space (BM25 + TF-IDF + ML embeddings, RRF-fused, BGE cross-encoder reranked, HNSW + int8 quantized). The alternatives below take different trade-offs — some are agent-first, some are Obsidian-plugin-first, some optimize for local-REST-API integration over hybrid retrieval. This document is a side-by-side feature matrix plus an honest "when to pick which" guide, written by the enquire-mcp maintainer. It is intentionally fair-not-sales: each alternative has scenarios where it is the better pick, and those scenarios are called out below. Numbers and feature claims for enquire-mcp are accurate as of v3.7.0 (2026-05-15); claims about the four alternatives are based on their public READMEs as of the same date — please verify against their current state before deciding.
|
|
4
4
|
|
|
5
5
|
## Servers compared
|
|
6
6
|
|
|
@@ -56,7 +56,7 @@ Notes on the matrix:
|
|
|
56
56
|
|
|
57
57
|
- **"Limited" for markus on Obsidian-side operations:** it covers a smaller subset of REST endpoints than cyanheads.
|
|
58
58
|
|
|
59
|
-
- **Tool counts for alternatives** are approximate from public READMEs and may have shifted. enquire-mcp's 44-tool count is exact for v3.
|
|
59
|
+
- **Tool counts for alternatives** are approximate from public READMEs and may have shifted. enquire-mcp's 44-tool count is exact for v3.7.0 and is verified by `tests/docs-consistency.test.ts` against `src/tool-manifest.ts` (machine-readable single source of truth, introduced v3.6.0-rc.2).
|
|
60
60
|
|
|
61
61
|
- **License row** is informational, not a recommendation. MIT and Apache-2.0 are both permissive; pick what your org's policy requires.
|
|
62
62
|
|
|
@@ -239,7 +239,7 @@ As of v3.6.0-rc.4, **enquire-mcp ships public, reproducible end-to-end retrieval
|
|
|
239
239
|
|
|
240
240
|
## Disclaimer
|
|
241
241
|
|
|
242
|
-
This is a snapshot as of **2026-05-15** (v3.
|
|
242
|
+
This is a snapshot as of **2026-05-15** (v3.7.0). All five servers are actively developed (or in some cases archived) and the feature matrix will drift. Before making a decision:
|
|
243
243
|
|
|
244
244
|
1. Re-read each alternative's current `README.md` — features land between matrix updates.
|
|
245
245
|
2. Run each candidate against a sample of your own vault for an hour. Retrieval quality, in particular, is vault-specific and unreliable to compare from feature lists alone.
|
|
@@ -247,4 +247,4 @@ This is a snapshot as of **2026-05-15** (v3.6.1). All five servers are actively
|
|
|
247
247
|
|
|
248
248
|
Corrections to this document are welcome — open an issue or PR on [`oomkapwn/enquire-mcp`](https://github.com/oomkapwn/enquire-mcp). Specifically: if a row above understates an alternative's capabilities, that's a bug in this doc and we'd like to fix it.
|
|
249
249
|
|
|
250
|
-
— enquire-mcp maintainer, v3.
|
|
250
|
+
— enquire-mcp maintainer, v3.7.0
|
package/docs/QUICKSTART.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Quickstart — enquire-mcp in 5 minutes
|
|
2
2
|
|
|
3
|
-
From `npm install` to a working
|
|
3
|
+
From `npm install` to a working **long-term memory layer for your AI agents**, backed by your Obsidian vault, inside Claude Desktop (or any MCP client). One happy path. Concrete commands, expected output, troubleshooting at the bottom.
|
|
4
|
+
|
|
5
|
+
> **What "memory layer" means here.** Unlike vendor-specific chat memory (Claude Memory, ChatGPT Memory, Cursor memory) that locks your knowledge into one provider's cloud, enquire-mcp turns any directory of `.md` files into queryable, semantically-searchable memory accessible from every MCP-compatible agent. The knowledge is yours, in plain markdown, portable forever.
|
|
4
6
|
|
|
5
7
|
## What you'll get
|
|
6
8
|
|
package/docs/api.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# enquire — API
|
|
2
2
|
|
|
3
|
-
**enquire is
|
|
3
|
+
**enquire is a long-term memory layer for AI agents, built on your Obsidian vault.** Open-source, MCP-native, vendor-neutral persistence: agents (Claude Code / Claude Desktop / Cursor / ChatGPT / Codex / any MCP client) get durable, queryable recall across sessions, models, and providers — your knowledge lives in plain markdown you own, not a vendor cloud. 44 MCP tools (33 always-on read + 4 opt-in read + 7 opt-in write); the 4 opt-ins are: 1 via `--persistent-index` + `--diagnostic-search-tools` (`obsidian_full_text_search` — needs BOTH flags: persistent-index for the FTS5 index, diagnostic-search-tools to surface it as a single-ranker tool alongside the hybrid default `obsidian_search`) + 3 via `--diagnostic-search-tools` (the single-ranker `obsidian_search_text` / `obsidian_semantic_search` / `obsidian_embeddings_search` — gated by default in v2.0+ since `obsidian_search` auto-detects + fuses signals). 2 + 1 opt-in MCP resources, 19 MCP prompts. **v3.1.0+ adds `obsidian_hyde_search`** (HyDE-augmented retrieval, Gao et al 2023; agent supplies a synthetic answer, server embeds it for retrieval) plus the `vault_research` (sub-question decomposition) and `vault_synthesis_page` (Karpathy LLM-Wiki synthesis loop) prompts. v2.6.0+ also speaks Streamable HTTP via `serve-http` (bearer auth + rate-limit + CORS). v2.7.0+ indexes PDFs as a separate read tool surface; **v2.8.0+ blends PDF chunks into `obsidian_search` hybrid retrieval** with `--include-pdfs` — every hit carries a `kind: "md" | "pdf"` flag and PDF snippets include `[page: N]` markers for citation. **v2.9.0+ adds BGE cross-encoder reranking** on top of RRF with `--enable-reranker` — typical +5-10 NDCG@10 retrieval-quality boost. **v2.10.0+ adds Tesseract OCR for image-only / scanned PDFs** via `obsidian_ocr_pdf` — completes the PDF retrieval story.
|
|
4
4
|
|
|
5
5
|
> **Channels:** stable v3.6.x (`@latest` on npm) ships 44 tools including `obsidian_search` (hybrid BM25 + TF-IDF + ML embeddings, RRF-fused) with optional BGE cross-encoder reranking, `obsidian_embeddings_search`, `obsidian_hyde_search`, plus the `install-model` / `build-embeddings` / `clear-embeddings` / `setup` / `doctor` / `eval` / `bench` subcommands. The `@rc` dist-tag carries the most recent release candidate. This document covers the **v3.6.x stable** surface.
|
|
6
6
|
|
package/docs/benchmarks.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Benchmarks — enquire-mcp retrieval quality
|
|
2
2
|
|
|
3
|
-
**Last updated:** 2026-05-15 (v3.
|
|
3
|
+
**Last updated:** 2026-05-15 (v3.7.0) · **Generated by:** `npm run bench:retrieval`
|
|
4
4
|
|
|
5
5
|
This page reports retrieval-quality numbers for every layer of the enquire-mcp
|
|
6
6
|
hybrid stack against a deterministic synthetic vault. **Every metric below is
|
|
@@ -315,7 +315,7 @@ picks).
|
|
|
315
315
|
```bash
|
|
316
316
|
git clone https://github.com/oomkapwn/enquire-mcp.git
|
|
317
317
|
cd enquire-mcp
|
|
318
|
-
git checkout v3.
|
|
318
|
+
git checkout v3.7.0 # or main
|
|
319
319
|
npm install
|
|
320
320
|
npm run build
|
|
321
321
|
npm run bench:retrieval
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@oomkapwn/enquire-mcp",
|
|
4
|
-
"version": "3.
|
|
5
|
-
"description": "Memory layer for AI agents over your Obsidian vault. Hybrid retrieval (BM25 + TF-IDF + multilingual ML embeddings, RRF-fused) with BGE cross-encoder reranking, HNSW + int8 quantization, late-chunking, HyDE + sub-question decomposition, agentic RAG, PDFs (with OCR), standalone Bases (.base query execution — no Obsidian needed), GraphRAG-light (Louvain wikilink community detection), wikilinks, backlinks, Dataview, frontmatter, canvas. Open-source long-term memory / second brain for Claude Code, Claude Desktop, Cursor, ChatGPT custom GPT, Codex, and any MCP client. 44 tools, 19 MCP prompts, 5 cross-encoder reranker models,
|
|
4
|
+
"version": "3.7.0",
|
|
5
|
+
"description": "Memory layer for AI agents over your Obsidian vault. Hybrid retrieval (BM25 + TF-IDF + multilingual ML embeddings, RRF-fused) with BGE cross-encoder reranking, HNSW + int8 quantization, late-chunking, HyDE + sub-question decomposition, agentic RAG, PDFs (with OCR), standalone Bases (.base query execution — no Obsidian needed), GraphRAG-light (Louvain wikilink community detection), wikilinks, backlinks, Dataview, frontmatter, canvas. Open-source long-term memory / second brain for Claude Code, Claude Desktop, Cursor, ChatGPT custom GPT, Codex, and any MCP client. 44 tools, 19 MCP prompts, 5 cross-encoder reranker models, 775 tests, SLSA-3, semver-bound, MIT.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
8
8
|
"enquire-mcp": "dist/index.js"
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"test:watch": "vitest",
|
|
62
62
|
"test:coverage": "vitest run --coverage",
|
|
63
63
|
"check:changelog-coverage": "node scripts/check-changelog-coverage.mjs",
|
|
64
|
+
"check:per-file-coverage": "node scripts/check-per-file-coverage.mjs",
|
|
64
65
|
"lint": "biome check",
|
|
65
66
|
"lint:fix": "biome check --write",
|
|
66
67
|
"format": "biome format --write",
|
|
@@ -68,9 +69,10 @@
|
|
|
68
69
|
"bench": "npm run build && node scripts/bench.mjs",
|
|
69
70
|
"bench:quick": "npm run build && node scripts/bench.mjs --quick",
|
|
70
71
|
"bench:retrieval": "npm run build && node scripts/run-benchmarks.mjs",
|
|
72
|
+
"bench:peek-cache": "npm run build && node scripts/bench-peek-cache.mjs",
|
|
71
73
|
"docs:api": "typedoc",
|
|
72
74
|
"prepare": "tsc && chmod +x dist/index.js && (husky 2>/dev/null || true)",
|
|
73
|
-
"prepublishOnly": "npm run lint && npm run build && npm test && node scripts/check-version-consistency.mjs && npm audit --audit-level=high && npm run test:coverage --silent && node scripts/check-changelog-coverage.mjs",
|
|
75
|
+
"prepublishOnly": "npm run lint && npm run build && npm test && node scripts/check-version-consistency.mjs && npm audit --audit-level=high && npm run test:coverage --silent && node scripts/check-changelog-coverage.mjs && node scripts/check-per-file-coverage.mjs",
|
|
74
76
|
"version": "node scripts/sync-version.mjs && git add package.json package-lock.json src/index.ts CHANGELOG.md"
|
|
75
77
|
},
|
|
76
78
|
"keywords": [
|