@oomkapwn/enquire-mcp 0.8.0 → 0.8.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/CHANGELOG.md +12 -0
- package/README.md +28 -28
- package/assets/social-preview.png +0 -0
- package/dist/index.js +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
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
|
+
## [0.8.1] — 2026-05-03
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- **`npm install -g github:oomkapwn/enquire-mcp` left a broken symlink in `node_modules`**: `dist/` is `.gitignore`d, so a fresh git clone has no compiled output. npm runs the `prepare` script automatically on git-source installs, but `package.json` had none — so npm completed the clone, found no `bin` target, silently cleaned up the tmp clone, and the global symlink ended up pointing at a now-deleted path.
|
|
9
|
+
|
|
10
|
+
Fix: added `"prepare": "tsc && chmod +x dist/index.js"` to `package.json` `scripts`. Git-source installs now build automatically. Registry installs (`npm install -g @oomkapwn/enquire-mcp`) were unaffected — the npm tarball already ships `dist/`.
|
|
11
|
+
|
|
12
|
+
Reported by an early user. Thank you 🙏
|
|
13
|
+
|
|
14
|
+
### CI
|
|
15
|
+
- v0.8.1 is the first release published via the new `.github/workflows/release.yml` workflow — `npm publish --provenance` runs in CI on `v*` tag push, no manual `npm publish` needed. The published package now carries the npm "Published with provenance" trust badge.
|
|
16
|
+
|
|
5
17
|
## [0.8.0] — 2026-05-03
|
|
6
18
|
|
|
7
19
|
Closes the v0.8 backlog from the post-launch audit pass: one DQL semantic correction, four P0 test gaps, and the standard Code of Conduct.
|
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
[](./LICENSE)
|
|
14
14
|
[](#develop)
|
|
15
15
|
[](https://modelcontextprotocol.io/)
|
|
16
|
-
[](#develop)
|
|
17
17
|
[](#develop)
|
|
18
18
|
[](https://biomejs.dev/)
|
|
19
19
|
|
|
@@ -53,7 +53,7 @@ There are several Obsidian-MCP servers out there. enquire differentiates on thre
|
|
|
53
53
|
| **Read-only by default** (write tools require explicit flag) | ❌ usually write-default | ✅ `--enable-write` |
|
|
54
54
|
| Symlink-escape safety, realpath-checked reads & writes | rare | ✅ |
|
|
55
55
|
| Persistent on-disk cache for warm cold-starts | ❌ | ✅ `--persistent-cache` |
|
|
56
|
-
| TypeScript strict + Biome lint +
|
|
56
|
+
| TypeScript strict + Biome lint + 159 unit tests | varies | ✅ |
|
|
57
57
|
|
|
58
58
|
That's the gap. enquire closes it in ~2000 lines of TypeScript and four runtime dependencies.
|
|
59
59
|
|
|
@@ -71,53 +71,53 @@ That's the gap. enquire closes it in ~2000 lines of TypeScript and four runtime
|
|
|
71
71
|
|
|
72
72
|
## Quick start
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
# 1. Get the code
|
|
76
|
-
git clone https://github.com/oomkapwn/enquire-mcp
|
|
77
|
-
cd enquire-mcp && npm install && npm run build
|
|
78
|
-
|
|
79
|
-
# 2. Wire into Claude Code (~/.claude.json or .mcp.json)
|
|
80
|
-
```
|
|
74
|
+
**Recommended: zero-install via `npx` — no clone, no build.** Add this to your MCP client's config:
|
|
81
75
|
|
|
82
76
|
```json
|
|
83
77
|
{
|
|
84
78
|
"mcpServers": {
|
|
85
79
|
"obsidian": {
|
|
86
|
-
"command": "
|
|
87
|
-
"args": [
|
|
88
|
-
"/absolute/path/to/enquire-mcp/dist/index.js",
|
|
89
|
-
"serve",
|
|
90
|
-
"--vault", "/Users/you/Documents/Obsidian Vault"
|
|
91
|
-
]
|
|
80
|
+
"command": "npx",
|
|
81
|
+
"args": ["-y", "@oomkapwn/enquire-mcp", "serve", "--vault", "/Users/you/Documents/Obsidian Vault"]
|
|
92
82
|
}
|
|
93
83
|
}
|
|
94
84
|
}
|
|
95
85
|
```
|
|
96
86
|
|
|
87
|
+
**Where to drop that JSON, by client:**
|
|
88
|
+
|
|
89
|
+
| Client | Config file |
|
|
90
|
+
|---|---|
|
|
91
|
+
| **Claude Desktop** | macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`<br>Windows: `%APPDATA%\Claude\claude_desktop_config.json` |
|
|
92
|
+
| **Claude Code (CLI)** | `~/.claude.json` (global) or `.mcp.json` (per-project) |
|
|
93
|
+
| **Cursor** | `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (per-project) |
|
|
94
|
+
| **Codex / Codex CLI** | per-project `.mcp.json` or environment-specific config |
|
|
95
|
+
| **Any MCP client** | wherever your client expects MCP server JSON |
|
|
96
|
+
|
|
97
|
+
To enable write tools (`obsidian_create_note`, `obsidian_append_to_note`), add `"--enable-write"` to the `args` array.
|
|
98
|
+
|
|
97
99
|
<details>
|
|
98
|
-
<summary><b>
|
|
100
|
+
<summary><b>Alternative: global npm install</b></summary>
|
|
99
101
|
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
"obsidian": {
|
|
104
|
-
"command": "npx",
|
|
105
|
-
"args": ["-y", "@oomkapwn/enquire-mcp", "serve", "--vault", "/Users/you/Documents/Obsidian Vault"]
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
102
|
+
```bash
|
|
103
|
+
npm install -g @oomkapwn/enquire-mcp
|
|
104
|
+
enquire-mcp serve --vault ~/Documents/Obsidian\ Vault
|
|
109
105
|
```
|
|
110
106
|
|
|
107
|
+
Then in your client config use `"command": "enquire-mcp"` instead of `"command": "npx"`.
|
|
108
|
+
|
|
111
109
|
</details>
|
|
112
110
|
|
|
113
111
|
<details>
|
|
114
|
-
<summary><b>
|
|
112
|
+
<summary><b>Alternative: from source (development)</b></summary>
|
|
115
113
|
|
|
116
114
|
```bash
|
|
117
|
-
|
|
118
|
-
enquire-mcp
|
|
115
|
+
git clone https://github.com/oomkapwn/enquire-mcp
|
|
116
|
+
cd enquire-mcp && npm install && npm run build
|
|
119
117
|
```
|
|
120
118
|
|
|
119
|
+
Then `"command": "node"` with `"args": ["/absolute/path/to/dist/index.js", "serve", "--vault", "..."]`.
|
|
120
|
+
|
|
121
121
|
</details>
|
|
122
122
|
|
|
123
123
|
Restart your client. The server logs `enquire <version> ready (read-only, vault=…)` on stderr — that's your "it's connected" signal.
|
|
Binary file
|
package/dist/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { Command } from "commander";
|
|
|
8
8
|
import { z } from "zod";
|
|
9
9
|
import { appendToNote, createNote, dataviewQuery, getBacklinks, getOutboundLinks, getRecentEdits, getUnresolvedWikilinks, listNotes, listTags, readNote, resolveWikilink, searchText } from "./tools.js";
|
|
10
10
|
import { Vault } from "./vault.js";
|
|
11
|
-
const VERSION = "0.8.
|
|
11
|
+
const VERSION = "0.8.1";
|
|
12
12
|
async function main() {
|
|
13
13
|
const program = new Command();
|
|
14
14
|
program
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oomkapwn/enquire-mcp",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"description": "enquire — MCP server for Obsidian vaults. Named after Tim Berners-Lee's 1980 prototype of the World Wide Web. Wikilinks, frontmatter, backlinks, basic Dataview, MCP resources & prompts. Read-only by default; opt-in writes.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"lint:fix": "biome check --write",
|
|
30
30
|
"format": "biome format --write",
|
|
31
31
|
"render:preview": "node scripts/render-social-preview.mjs",
|
|
32
|
+
"prepare": "tsc && chmod +x dist/index.js",
|
|
32
33
|
"prepublishOnly": "npm run lint && npm run build && npm test"
|
|
33
34
|
},
|
|
34
35
|
"keywords": [
|