obsidian-mcp-pro 1.7.0 → 1.7.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/README.md +13 -11
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
[](https://github.com/rps321321/obsidian-mcp-pro)
|
|
16
16
|
[](https://opensource.org/licenses/MIT)
|
|
17
17
|
[](https://nodejs.org/)
|
|
18
|
-
[](https://github.com/rps321321/obsidian-mcp-pro)
|
|
19
19
|
[](https://glama.ai/mcp/servers/rps321321/obsidian-mcp-pro)
|
|
20
20
|
|
|
21
21
|
Give AI assistants deep, structured access to your Obsidian knowledge base. Read, write, search, tag, analyze links, traverse graphs, and manipulate canvases — all through the [Model Context Protocol](https://modelcontextprotocol.io/).
|
|
@@ -305,8 +305,8 @@ Tag extraction is similarly case-tolerant: `tags`, `Tags`, `TAGS`, `tag`, and `T
|
|
|
305
305
|
| `prepend_to_note` | Prepend content after frontmatter | `path`, `content` |
|
|
306
306
|
| `update_frontmatter` | Update frontmatter properties on a note | `path`, `properties` |
|
|
307
307
|
| `create_daily_note` | Create today's daily note from template | `date`, `content`, `templatePath` |
|
|
308
|
-
| `move_note` | Move or rename a note | `oldPath`, `newPath` |
|
|
309
|
-
| `delete_note` | Delete a note
|
|
308
|
+
| `move_note` | Move or rename a note; rewrites references across the vault | `oldPath`, `newPath`, `updateLinks` |
|
|
309
|
+
| `delete_note` | Delete a note (trash by default); optionally strip references | `path`, `permanent`, `removeReferences` |
|
|
310
310
|
| `get_tags` | Get all tags and their usage counts | `sortBy` |
|
|
311
311
|
| `search_by_tag` | Find all notes with a specific tag | `tag`, `includeContent` |
|
|
312
312
|
| `get_backlinks` | Get all notes that link to a given note | `path` |
|
|
@@ -432,20 +432,22 @@ src/
|
|
|
432
432
|
npm test
|
|
433
433
|
```
|
|
434
434
|
|
|
435
|
-
|
|
435
|
+
331 tests covering vault operations, atomic writes + concurrent-mutation races, markdown parsing (frontmatter, wikilinks, tags, fenced + indented code blocks, multi-backtick inline code), moment-token date formatting, canvas round-trip fidelity, HTTP transport (Bearer auth, oversize-body, CORS allowlist with `Vary: Origin`, per-IP rate limiting, `/version`), leveled logger (text + JSON output), vault-wide link rewriting on `move_note` and `delete_note` (TOCTOU correctness, control-char injection escape), and security regression guards (symlink escape, case-only rename, path-leak sanitization, cross-process exclusive-create). Runs against Node 20 + 22 on Ubuntu, macOS, and Windows in CI.
|
|
436
436
|
|
|
437
437
|
---
|
|
438
438
|
|
|
439
439
|
## What's New
|
|
440
440
|
|
|
441
|
-
**v1.
|
|
441
|
+
**v1.7.0** — `delete_note` reference handling:
|
|
442
442
|
|
|
443
|
-
-
|
|
444
|
-
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
-
|
|
443
|
+
- **`delete_note` can strip references vault-wide** when `permanent: true` is paired with `removeReferences: true`. Wikilinks fall back to alias-or-basename, markdown links fall back to visible text, embeds drop entirely, fragments are discarded. Trash-mode (default) leaves references intact since trashed files stay recoverable.
|
|
444
|
+
- **Concurrent-safe rewrites** — `move_note` (with `updateLinks: true`) and `delete_note` (with `removeReferences: true`) serialize per vault, removing the partial-failure mode for parallel rewrite-bearing operations.
|
|
445
|
+
|
|
446
|
+
**v1.6.0** — Obsidian-parity link maintenance:
|
|
447
|
+
|
|
448
|
+
- **`move_note` rewrites references across the vault by default**, matching Obsidian's "Automatically update internal links" behavior. Wikilinks (with aliases / fragments preserved), markdown links, and canvas `nodes[].file` fields all follow the moved file. Output form is preserved when possible.
|
|
449
|
+
- **TOCTOU correctness** — every edit's pre-edit content is verified before splicing, so a parallel `write_note` between plan and apply is surfaced in `failedReferrers` rather than corrupting referrers silently.
|
|
450
|
+
- **Control-char injection defense** — `sanitizeError` and the new `escapeControlChars` strip newlines/control bytes from any caller-controlled string before it reaches LLM context. Closes a prompt-injection vector via attacker-named filenames.
|
|
449
451
|
|
|
450
452
|
Full version history in [CHANGELOG.md](./CHANGELOG.md).
|
|
451
453
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "obsidian-mcp-pro",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"description": "The most feature-complete MCP server for Obsidian vaults — search, read, write, tag, link analysis, graph traversal, canvas support, and more.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|