pkm-mcp-server 1.0.0 → 1.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/CHANGELOG.md +10 -2
- package/helpers.js +4 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,12 +6,19 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.1.0] - 2026-02-23
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- `vault_peek` heading outline now displays as an indented tree instead of a flat list — hierarchy is conveyed by 2-space indentation per level, `#` markers stripped
|
|
13
|
+
- `vault_peek` heading outline no longer includes line number prefixes (`L13`, `L15`, etc.)
|
|
14
|
+
- `vault_peek` size line now always includes chunk count (e.g. "1 chunk", "3 chunks") instead of showing a separate `**Chunks:**` line only for multi-chunk files
|
|
15
|
+
|
|
9
16
|
## [1.0.0] - 2026-02-11
|
|
10
17
|
|
|
11
18
|
### Added
|
|
12
19
|
- MCP server with 18 tools for Obsidian vault interaction
|
|
13
20
|
- `vault_read` with pagination support (heading-based, tail lines, tail sections, chunk, line range); auto-redirects large files (>80k chars) to peek data; `force` param to bypass redirect (hard-capped at ~400k chars)
|
|
14
|
-
- `vault_peek` for inspecting file metadata and structure without reading full content (size, frontmatter, heading
|
|
21
|
+
- `vault_peek` for inspecting file metadata and structure without reading full content (size, frontmatter, indented heading tree, preview)
|
|
15
22
|
- `vault_write` with template-based note creation enforcing YAML frontmatter
|
|
16
23
|
- `vault_append` with positional insert (after heading, before heading, end of section)
|
|
17
24
|
- `vault_edit` for surgical single-occurrence string replacement
|
|
@@ -48,5 +55,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
48
55
|
- Atomic file creation in `vault_write` (`wx` flag) prevents race conditions
|
|
49
56
|
- Error messages sanitized to prevent leaking absolute vault paths
|
|
50
57
|
|
|
51
|
-
[Unreleased]: https://github.com/AdrianV101/Obsidian-MCP/compare/v1.
|
|
58
|
+
[Unreleased]: https://github.com/AdrianV101/Obsidian-MCP/compare/v1.1.0...HEAD
|
|
59
|
+
[1.1.0]: https://github.com/AdrianV101/Obsidian-MCP/compare/v1.0.0...v1.1.0
|
|
52
60
|
[1.0.0]: https://github.com/AdrianV101/Obsidian-MCP/releases/tag/v1.0.0
|
package/helpers.js
CHANGED
|
@@ -746,10 +746,7 @@ export function formatPeek(peekData, { redirected = false } = {}) {
|
|
|
746
746
|
const parts = [];
|
|
747
747
|
|
|
748
748
|
parts.push(`## File: ${filePath}`);
|
|
749
|
-
parts.push(`**Size:** ${sizeChars.toLocaleString()} chars, ${sizeLines.toLocaleString()} lines`);
|
|
750
|
-
if (totalChunks > 1) {
|
|
751
|
-
parts.push(`**Chunks:** ${totalChunks} (use \`chunk\` param to read by chunk)`);
|
|
752
|
-
}
|
|
749
|
+
parts.push(`**Size:** ${sizeChars.toLocaleString()} chars, ${sizeLines.toLocaleString()} lines, ${totalChunks} ${totalChunks === 1 ? "chunk" : "chunks"}`);
|
|
753
750
|
|
|
754
751
|
if (frontmatter) {
|
|
755
752
|
parts.push("");
|
|
@@ -764,7 +761,9 @@ export function formatPeek(peekData, { redirected = false } = {}) {
|
|
|
764
761
|
parts.push("");
|
|
765
762
|
parts.push("### Heading Outline");
|
|
766
763
|
for (const h of headings) {
|
|
767
|
-
|
|
764
|
+
const indent = " ".repeat(h.level - 1);
|
|
765
|
+
const title = h.heading.replace(/^#+\s*/, "");
|
|
766
|
+
parts.push(`${indent}${title} [${h.charCount} chars]`);
|
|
768
767
|
}
|
|
769
768
|
}
|
|
770
769
|
|
package/package.json
CHANGED