ToolTrust
B17/100
cyanheads

obsidian-mcp-server

mcp3.2.4

@cyanheads

Obsidian vaults MCP server - read, write, search, and surgically edit notes, tags, and frontmatter via the Local REST API plugin.

By cyanheads | 37 findings | Scanned 6/3/2026 | tooltrust-scanner/v0.3.13 | 570

2 High7 Medium2 Low26 Info

Risk Summary

Safe With Normal Controls

Missing Description is the main signal, but overall risk remains within an acceptable range.

Potential impact: This finding indicates the tool should be reviewed before it is trusted.

Recommended action: No high-risk findings were detected in this scan, but you should still apply least-privilege defaults and rescan after changes.

Suggested policy: keep this tool behind manual approval, do not allow unattended runs, and re-scan after narrowing risky permissions.

Security Findings (37)

  • HighAS-002

    ⚠️Excessive Permissions ×2

    tool declares network permission

    obsidian_simple_searchobsidian_complex_search

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • MediumAS-002

    ⚠️Excessive Permissions ×7

    tool declares fs permission

    obsidian_list_files_in_dirobsidian_get_file_contentsobsidian_patch_contentobsidian_append_contentobsidian_put_contentobsidian_delete_fileobsidian_batch_get_file_contents

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • LowAS-011

    ℹ️Missing Rate-Limit / Timeout ×2

    tool performs network or execution operations but declares no rate-limit, timeout, or retry configuration

    obsidian_simple_searchobsidian_complex_search

    Fix: Declare explicit rate-limit, timeout, and retry configuration for all network and execution tools. Implement exponential back-off and surface resource state to the calling agent.

  • InfoAS-007

    ℹ️Missing Description or Schema ×13

    Tool 'obsidian_list_files_in_dir' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_list_files_in_dir

    Tool 'obsidian_list_files_in_vault' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_list_files_in_vault

    Tool 'obsidian_get_file_contents' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_get_file_contents

    Tool 'obsidian_simple_search' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_simple_search

    Tool 'obsidian_patch_content' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_patch_content

    Tool 'obsidian_append_content' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_append_content

    Tool 'obsidian_put_content' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_put_content

    Tool 'obsidian_delete_file' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_delete_file

    Tool 'obsidian_complex_search' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_complex_search

    Tool 'obsidian_batch_get_file_contents' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_batch_get_file_contents

    Tool 'obsidian_get_periodic_note' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_get_periodic_note

    Tool 'obsidian_get_recent_periodic_notes' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_get_recent_periodic_notes

    Tool 'obsidian_get_recent_changes' has no description - agents cannot reason about its purpose, and static analysis coverage is limited

    obsidian_get_recent_changes

    Fix: Review and remediate the identified issue.

  • InfoAS-014

    ℹ️Dependency Inventory Unavailable ×13

    Tool did not expose metadata.dependencies or repo_url, so supply-chain coverage is limited.

    obsidian_list_files_in_dirobsidian_list_files_in_vaultobsidian_get_file_contentsobsidian_simple_searchobsidian_patch_contentobsidian_append_contentobsidian_put_contentobsidian_delete_fileobsidian_complex_searchobsidian_batch_get_file_contentsobsidian_get_periodic_noteobsidian_get_recent_periodic_notesobsidian_get_recent_changes

    Fix: Review and remediate the identified issue.

Scan this tool yourself

Reproduce this audit locally, integrate into CI, or let your agent audit its own tools.

Install once, then scan any MCP server:

$ curl -sfL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash
$ tooltrust-scanner scan --server "npx -y obsidian-mcp-server"

Adjust the package name if your npm registry name differs from the tool ID. View source

Add badge to your README

Copy this Markdown to show your ToolTrust grade on GitHub.

[![ToolTrust Grade B](https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-directory/main/docs/badges/grade-b.svg)](https://github.com/AgentSafe-AI/tooltrust-directory)