Other formats agents might prefer:
markdownjsonllms.txt

Agent? You probably want markdown or json, or Pod over MCP.

Reported issues for mcp-obsidian-cli

Pod holds 16 of 31 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to mcp-obsidian-cli.

Most discussed

Smithery distribution: package as .mcpb bundle for stdio publishing

Smithery is an MCP catalog (smithery.ai) with two publishing paths:

  • URL — for streamable-HTTP servers. Not applicable; this server is stdio.
  • Local (MCPB Bundle) — for stdio servers. Smithery distributes a pre-built .mcpb bundle that clients download and run locally.

To list on Smithery, we need to ship an MCPB bundle.

What MCPB requires

Per Anthropic's Build a desktop extension with MCPB docs and the [MCPB spec](https://github.com/modelc

Read the thread · 2026-05-17 · open · 2 comments

README lede rewrite: lead with the Claude Desktop capture workflow

Source: "Grill resolutions (2026-05-21)" in docs/ideas/discoverability-positioning.md.

What to build

Replace the implementation-first README opening (currently "MCP server that wraps the Obsidian CLI…") with a workflow-first lede aimed at the hero audience: Claude Desktop users who want chat-to-vault capture.

Hook: "Start in Claude Desktop, not Obsidian." Do your thinking in chat; when something's worth keeping, say "save this to my vault" and Claude lands it in the right place u

Read the thread · 2026-05-22 · closed · 1 comment

Vault switch: first verb call after vault=NAME change can return 'command not found' for an existing verb

Found in

Wave 3 sniff test (PR #55 / #14), test T13.

Symptom

After routing vault=tyee then cleaning up, the first vault=scarp create path=... content=... returned:

Error: Command "create" not found. Did you mean: base:create, templater:create-from-template?

But vault=scarp help immediately after lists create. Retrying the identical create command then succeeded. The scarp Obsidian window was not open when the test started — the first route appears to have opened/woken it

Read the thread · 2026-05-20 · open · 1 comment

obsidian_help: 'bases' doc slug unreachable — verb-wins collision swallows it

Found in

Wave 3 sniff test (PR #55 / #14), test T3.

Symptom

obsidian_help({ topic: "bases" }) returns the live CLI verb help for bases (bases — List all base files in vault) instead of the Kepano Bases reference doc. The reference doc (comparison operators, filter/formula functions, view types, .base YAML example) is unreachable through obsidian_help.

Cause

bases is both a live CLI verb AND a doc slug. The documented collision rule (docs/briefs/deepen-architecture.md

Read the thread · 2026-05-20 · closed · 1 comment

manifest parser over-collects English words as verbs under Discover

What

Cosmetic. obsidian_help() no-arg returns a category-grouped verb index. Under the Discover category, capitalized English words like Most, Quote, Use appear as verb entries. They are not real verbs — the parser in `lib/manifest.js` is picking up sentence-leading words from `obsidian help` blurb text.

Surfaced during Gate C sniff test (T1, happy path).

Expected

Verb index contains only real CLI verbs. Blurb prose is skipped.

Likely cause

`parseHelpOutput` rege

Read the thread · 2026-05-19 · open · 1 comment

pass-through validation ordering when Obsidian is down

What

Open question / likely bug. When Obsidian.app is not running:

  • Pass-through call obsidian({command: \"move dest=foo to=bar\"}) returns EXECUTION_ERROR: The CLI is unable to find Obsidian rather than the dest=to= validation drift hint.

When Obsidian IS running (Gate C happy path):

  • Same call correctly returns the validation hint before any CLI call.

Expected

manifest.validate(args) is supposed to fire pre-CLI. The user is most likely to need a self-correctable hint

Read the thread · 2026-05-19 · open · 1 comment

obsidian_help: doc-slug topics gated by Obsidian liveness check

What

When Obsidian.app is not running, calling obsidian_help({topic: \"markdown\"}) (or any of the 4 doc-slug topics: cli, markdown, bases, canvas) returns:

EXECUTION_ERROR: The CLI is unable to find Obsidian. Please make sure Obsidian is running and try again.

Surfaced during Gate C sniff test (PR #50). Doc prompts are pure static text loaded from ./prompts/obsidian-*.md — they should not require a running Obsidian instance.

Expected

Doc-slug topics resolve to the

Read the thread · 2026-05-19 · closed · 1 comment

Add README demo asset (GIF) showing end-to-end vault interaction

Discoverability brief reserves a slot for a short demo asset in the README. Slot deferred from v1.3.3 metadata PR (chore/discoverability) — recording is content work, not metadata.

Scope

  • Record one tight flow (suggested: "ask AI to summarize today's daily note" or "search vault, append result to today").
  • Format: GIF (renders on both GitHub and npmjs.com; asciinema does not render on npm).
  • Path: docs/demo.gif.
  • Reference from README near top, below badges and intro paragraph.

Read the thread · 2026-05-17 · closed · 1 comment

Most recent

README recipes: 3-4 canonical Claude Desktop conversations

Source: "Grill resolutions (2026-05-21)" in docs/ideas/discoverability-positioning.md.

What to build

Add a Recipes section to the README: 3-4 end-to-end Claude Desktop conversations (SEO bait + onboarding). Candidates:

  • Research a topic and save findings as a project note
  • Daily journal append from a conversation
  • Find related notes and update one
  • Pull project context into a new strategy doc

Each recipe shows the actual chat phrasing and what lands in the vault, coverin

Read the thread · 2026-05-22 · open · 0 comments

List in awesome-mcp-servers (top acquisition lever)

Source: "Grill resolutions (2026-05-21)" in docs/ideas/discoverability-positioning.md.

What to build

Submit a PR adding mcp-obsidian-cli to the awesome-mcp-servers list. Per the grill, directories are the acquisition lever — repo-page views (8 uniq) prove installs come from snippet-copy in directories/blogs/Discord, not the README. The entry uses the final positive positioning (capture chat → Obsidian vault) and the new one-line description, in the correct category, following th

Read the thread · 2026-05-22 · open · 0 comments

Rewrite npm + registry description: lead with "Capture", keep keywords, fit registry byte ceiling

Source: "Grill resolutions (2026-05-21)" in docs/ideas/discoverability-positioning.md.

What to build

Update the package.json description and the server.json registry description to lead with the capture outcome while keeping obsidian + mcp as the search terms people actually type. Direction:

Capture chat notes to your Obsidian vault — MCP server via the official CLI: templates, daily notes, backlinks

The MCP Registry description has a **≤100-character ceiling — count BYT

Read the thread · 2026-05-22 · closed · 0 comments

Clarify OBSIDIAN_NOT_RUNNING message: backgrounded Obsidian is fine

Context

The Discoverability positioning hook is "start in Claude Desktop — no context-switch to Obsidian." That pitch is honest only if users understand Obsidian still has to be running — it just doesn't need focus. A first-run user who reads "no need to open Obsidian" literally, has the app quit, and hits OBSIDIAN_NOT_RUNNING, bounces. That's a funnel leak on the hero path.

The current messages don't say backgrounded/minimized is fine:

  • Runtime, per-tool-call: server.js:88

Read the thread · 2026-05-22 · closed · 0 comments

Discoverability: package metadata + README badges + MCP Registry refresh (v1.3.3)

Umbrella issue for the v1.3.3 discoverability push. Brief covers external-surface fixes plus a few metadata tweaks so the package is findable on npm, the MCP Registry, and community catalogs.

Scope (single PR, branch chore/discoverability)

package.json

  • Add homepage (https://github.com/stonematt/mcp-obsidian-cli#readme) and bugs (https://github.com/stonematt/mcp-obsidian-cli/issues)
  • Rewrite description (94 chars, ≤100 limit): `Obsidian MCP server via the official CLI plugi

Read the thread · 2026-05-17 · closed · 0 comments

Docs drift: OBSIDIAN_CLI_PATH default disagrees across CLAUDE.md vs README/server.json/code

Project CLAUDE.md documents OBSIDIAN_CLI_PATH default as obsidian, but the actual default in server.js, server.json, and README.md is obsidian-cli.

Sources

  • CLAUDE.md (root) → OBSIDIAN_CLI_PATH | obsidian | Path to CLI binary
  • README.mdOBSIDIAN_CLI_PATH | obsidian-cli | Path to CLI binary
  • server.json"default": "obsidian-cli"

Resolution

Update CLAUDE.md to match the real default (obsidian-cli). Confirm code in server.js agrees, then close.

Read the thread · 2026-05-17 · closed · 0 comments

MCP resources for vault metadata (vault name, file count, tag list)

Problem

The server exposes verbs as MCP tools but nothing as MCP resources. Clients that browse resources (Claude Desktop's resource picker, IDE integrations) have no read-only view of what vault they're connected to or what's in it. Discovery happens only after a tool call.

Proposed change

Register MCP resources backed by the ObsidianCli + VerbManifest for:

  • obsidian://vault — vault name and root path
  • obsidian://vault/files — file count + sample listing
  • `obsidian://vau

Read the thread · 2026-05-17 · closed · 0 comments

Structured output parsing — JSON CLI results as structured MCP content

Problem

Today every CLI invocation returns its raw stdout wrapped in MCP text content. Several Obsidian CLI verbs support format=json (e.g. properties, tasks, tags, files, search:context) and emit machine-readable output, but clients receive it as a single string and must re-parse on their side.

Proposed change

For verbs that support format=json:

  • Pass format=json through the ObsidianCli when the Typed tool opts in.
  • Parse the result and return it as struct

Read the thread · 2026-05-17 · closed · 0 comments

The remaining reports are on the project's issue tracker.