@dariuscodes/obsidian-cli-mcp

MCPcommunity
v0.4.1io.github.dariuscorvusUnknownUpdated 1mo agonpmGitHub

Local MCP server for Obsidian Desktop via the official Obsidian CLI.

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
1mo agoLast update
Package
Authorio.github.dariuscorvus
LicenseUnknown
Version0.4.1
Sourcenpm+mcp-registry
Trust Status
B
60/100Good
✓Listed in Forge index+10/10
—Publisher identity verified+0/20
→ Publisher: run `forge publish` from the package repo to claim ownership
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
—npm Trusted Publishing (Sigstore)+0/5
→ Publish from GitHub Actions with --provenance so the attestation binds this package to this repo
—npm maintainer match+0/5
→ Earned once your identity is verified above and that login is an npm maintainer of this package
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface40 tools · 7 privileged
Security scan✓ Cleanv0.4.1 · 28d agoHow well does this scan work?
EvalsNone
IndexedAug 26, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

40 tools · 7 privileged
Statically extracted from the published packagev0.4.1 · 28d ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

note_readRead the full Markdown contents of a note by its vault-relative path.

Read the full Markdown contents of a note by its vault-relative path.

No input schema was published for this tool.

vault_searchFull-text search across the vault, returning matching note paths. Optional filters

Full-text search across the vault, returning matching note paths. Optional filters

No input schema was published for this tool.

note_listList files in the vault, optionally filtered by folder and extension.

List files in the vault, optionally filtered by folder and extension.

No input schema was published for this tool.

vault_tagsList all tags in the vault with their occurrence counts.

List all tags in the vault with their occurrence counts.

No input schema was published for this tool.

unresolved_linksList unresolved (broken) wikilinks across the vault.

List unresolved (broken) wikilinks across the vault.

No input schema was published for this tool.

tasks_listList tasks (checkboxes) in the vault. Scope to the whole vault, the daily note, or the active note.

List tasks (checkboxes) in the vault. Scope to the whole vault, the daily note, or the active note.

No input schema was published for this tool.

note_diffShow a note's version history, or diff two versions. Omit from/to to list available versions.

Show a note's version history, or diff two versions. Omit from/to to list available versions.

No input schema was published for this tool.

note_createCreate a new note, optionally in a folder, from a template, with initial content and frontmatter.

Create a new note, optionally in a folder, from a template, with initial content and frontmatter.

No input schema was published for this tool.

note_appendAppend Markdown to a note, optionally under a specific heading.

Append Markdown to a note, optionally under a specific heading.

No input schema was published for this tool.

note_set_frontmatterPatch a note's YAML frontmatter via processFrontMatter (never a raw rewrite). A null value removes a key.

Patch a note's YAML frontmatter via processFrontMatter (never a raw rewrite). A null value removes a key.

No input schema was published for this tool.

daily_openOpen today's daily note (creating it if needed).

Open today's daily note (creating it if needed).

No input schema was published for this tool.

daily_appendAppend Markdown to today's daily note.

Append Markdown to today's daily note.

No input schema was published for this tool.

note_renameprivilegedRename a note in place (new name). Backlinks are rewritten automatically.

Rename a note in place (new name). Backlinks are rewritten automatically.

No input schema was published for this tool.

note_moveprivilegedMove a note to another folder or path. Links are preserved.

Move a note to another folder or path. Links are preserved.

No input schema was published for this tool.

folder_createCreate a folder (and any missing intermediate folders) in the vault.

Create a folder (and any missing intermediate folders) in the vault.

No input schema was published for this tool.

note_deleteprivilegedDelete a note. Honors the configured delete.mode (trash by default, or permanent).

Delete a note. Honors the configured delete.mode (trash by default, or permanent).

No input schema was published for this tool.

note_transitionMove a note to a new lifecycle state, validated against a configured workflow.

Move a note to a new lifecycle state, validated against a configured workflow.

No input schema was published for this tool.

canvas_readRead and validate a native Obsidian .canvas file, returning structured nodes and edges.

Read and validate a native Obsidian .canvas file, returning structured nodes and edges.

No input schema was published for this tool.

canvas_createCreate a native Obsidian .canvas file, optionally with initial nodes and edges. Existing files are not overwritten unless overwrite is true.

Create a native Obsidian .canvas file, optionally with initial nodes and edges. Existing files are not overwritten unless overwrite is true.

No input schema was published for this tool.

canvas_upsert_nodesAdd or partially update native Canvas nodes by stable ID. Existing nodes, edges, top-level fields, and unknown node fields are preserved.

Add or partially update native Canvas nodes by stable ID. Existing nodes, edges, top-level fields, and unknown node fields are preserved.

No input schema was published for this tool.

canvas_upsert_edgesAdd or partially update native Canvas edges by stable ID. Existing unaddressed edges are preserved and endpoints must reference nodes.

Add or partially update native Canvas edges by stable ID. Existing unaddressed edges are preserved and endpoints must reference nodes.

No input schema was published for this tool.

canvas_removeprivilegedRemove explicitly named node and/or edge IDs. Removing a node also removes every incident edge deterministically.

Remove explicitly named node and/or edge IDs. Removing a node also removes every incident edge deterministically.

No input schema was published for this tool.

canvas_openOpen a native Obsidian .canvas file through the existing Obsidian CLI file-opening function.

Open a native Obsidian .canvas file through the existing Obsidian CLI file-opening function.

No input schema was published for this tool.

note_replace_rangeReplace a half-open text range in a vault note using zero-based UTF-16 line/ch positions.

Replace a half-open text range in a vault note using zero-based UTF-16 line/ch positions.

No input schema was published for this tool.

note_insert_atInsert text at a zero-based UTF-16 line/ch cursor in a vault note. Optional surrounding

Insert text at a zero-based UTF-16 line/ch cursor in a vault note. Optional surrounding

No input schema was published for this tool.

note_replaceCompatibility alias for note_replace_range with the same positional and expected-text guards.

Compatibility alias for note_replace_range with the same positional and expected-text guards.

No input schema was published for this tool.

note_insertCompatibility alias for note_insert_at with the same cursor and context guards.

Compatibility alias for note_insert_at with the same cursor and context guards.

No input schema was published for this tool.

file_importCopy a local file from a configured import root into the vault. Destination names are collision-safe by default;

Copy a local file from a configured import root into the vault. Destination names are collision-safe by default;

No input schema was published for this tool.

attachment_importSemantic alias for file_import for attachment-oriented callers; the same source, size, path, and collision guards apply.

Semantic alias for file_import for attachment-oriented callers; the same source, size, path, and collision guards apply.

No input schema was published for this tool.

note_attachImport a local file into the vault and optionally insert a relative Obsidian embed into a note.

Import a local file into the vault and optionally insert a relative Obsidian embed into a note.

No input schema was published for this tool.

attachment_embedSemantic alias for note_attach: import an attachment and embed it in a note with the same guards.

Semantic alias for note_attach: import an attachment and embed it in a note with the same guards.

No input schema was published for this tool.

file_moveprivilegedMove a regular vault file to another vault-relative path with explicit collision policy.

Move a regular vault file to another vault-relative path with explicit collision policy.

No input schema was published for this tool.

file_renameprivilegedRename a vault file in its current folder with collision-safe naming.

Rename a vault file in its current folder with collision-safe naming.

No input schema was published for this tool.

file_deleteprivilegedDelete one regular vault file. Requires confirm=true; dryRun can preview without confirmation.

Delete one regular vault file. Requires confirm=true; dryRun can preview without confirmation.

No input schema was published for this tool.

file_read_binary_metadataRead MIME type, byte size, SHA-256, and supported image dimensions for a vault file.

Read MIME type, byte size, SHA-256, and supported image dimensions for a vault file.

No input schema was published for this tool.

task_createCreate a Markdown checkbox task in a note, optionally under a heading.

Create a Markdown checkbox task in a note, optionally under a heading.

No input schema was published for this tool.

task_updateUpdate one Markdown task at a zero-based line number. The optional expected line is an exact stale-read guard.

Update one Markdown task at a zero-based line number. The optional expected line is an exact stale-read guard.

No input schema was published for this tool.

outlinks_getList native Obsidian wikilinks outgoing from a vault note.

List native Obsidian wikilinks outgoing from a vault note.

No input schema was published for this tool.

backlinks_getList notes with native Obsidian backlinks to a vault note.

List notes with native Obsidian backlinks to a vault note.

No input schema was published for this tool.

canvas_add_nodeAdd one native Canvas node by type. Omitted IDs are deterministic from the requested node content.

Add one native Canvas node by type. Omitted IDs are deterministic from the requested node content.

No input schema was published for this tool.

40 of 40 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Local MCP server for Obsidian Desktop via the official Obsidian CLI.

Keywords
mcp
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-09-14 — observed resolution, not a publisher declaration.

60 packages resolved · 4 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

71 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+59 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.

Topics

Related in notes & productivity