Skip to content

This release adds 3 notable features for engineering teams evaluating rollout.

Published 28d MCP Developer Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Summary

AI summary

Semantic search, surgical edits by heading/block ID, and folder-scoped permissions were added.

Full changelog

The largest feature drop since v1.0. 41 tools, 5 prompts, 3 resources now (was 23 tools, 333 tests; now 438 tests).

Highlights

  • Surgical edits by heading and block id. Edit a section without rewriting the file.
  • Bases support. Native .base parsing and a filter DSL evaluator. First filesystem-only Obsidian MCP server to ship this.
  • Semantic search. Embedding-based retrieval via Ollama (default, local) or OpenAI. Persistent vector index with content-hash incremental updates.
  • Attachments. List, find unused, fetch image / audio / blob bytes inline.
  • Folder-scoped permissions. OBSIDIAN_READ_PATHS / OBSIDIAN_WRITE_PATHS allowlists.
  • Persistent mtime cache. Survives restarts; cold-start vault scans pay one stat-pass instead of a full re-read.
  • Five MCP prompts. daily-review, weekly-rollup, find-stale-notes, extract-action-items, build-moc.

New tools (18)

Sections: update_section, insert_at_section, list_sections, replace_in_note, edit_block. Plus fragment retrieval modes on get_note (section, block, lines).

Bases: list_bases, read_base, query_base (filter DSL: taggedWith(), file.hasTag(), file.inFolder(), comparison operators, and/or/not combinators).

Tags: rename_tag rewrites both inline #tag and frontmatter tags: arrays vault-wide. Hierarchical mode rebases nested sub-tags.

Read-side: get_recent_notes (mtime-sorted, ISO or relative since), get_vault_stats (counts, words, tag coverage), resolve_alias (frontmatter alias plus basename fallback).

Attachments: list_attachments, find_unused_attachments, get_attachment (image / audio / blob bytes inline; 5 MB default cap, 50 MB hard cap).

Semantic: index_vault, search_semantic, find_similar_notes.

Operational

  • Folder-scoped permissions enforced at the path-resolution choke point, so every tool inherits the allowlist.
  • Persistent mtime cache at `/.obsidian/cache/mcp-pro-index-cache.json`. Disable with `OBSIDIAN_CACHE_DISABLED=1`.
  • Persistent embedding store at `/.obsidian/cache/mcp-pro-embeddings.json` with provider / model invalidation.
  • Progress notifications on `rename_tag`, `find_unused_attachments`, `index_vault` when the client subscribes via `_meta.progressToken`.
  • Elicitation on `delete_note(permanent: true)` for clients that advertise form support.

Tooling

  • eslint v9 + typescript-eslint v8 (flat config). `npm run lint`, `npm run lint:fix`.
  • 438 tests passing, up from 333. New suites cover sections, tag rewriting, bases, permissions, mtime cache rehydration, chunker, embedding store, attachments handler, semantic handler.

Install or upgrade

```bash
npx -y [email protected] install
```

Or pin in your MCP client config:

```json
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": ["-y", "[email protected]"]
}
}
}
```

Full changelog: CHANGELOG.md

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track rps321321/obsidian-mcp-pro

Get notified when new releases ship.

Sign up free

About rps321321/obsidian-mcp-pro

Feature-complete Obsidian vault MCP server with 23 tools and 3 resources. Full-text search, note CRUD, frontmatter queries, tag management, backlinks, graph traversal (BFS up to 5 hops), orphan/broken link detection, and canvas support. Auto-detects vault, path traversal protection, MIT licensed.

All releases →

Beta — feedback welcome: [email protected]