1. Conduid
  2. Security
  3. Obsidian Rust MCP
MCP server · Security

Obsidian Rust MCP

High-performance MCP server that gives AI agents structured, read/write access to an Obsidian vault via fast Rust tooling.

34Low

Scored 6 months ago · breakdown

About Obsidian Rust MCP

Obsidian Rust MCP is an MCP server in the Security category: high-performance MCP server that gives AI agents structured, read/write access to an Obsidian vault via fast Rust tooling.

Install

From source
git clone https://github.com/Fromsko/obsidian-rust-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (2)

executeCommandRun a registered `obsidian.*` command

Parameters not published.

helpCommand manual (short catalog or detailed usage)

Parameters not published.

Ask AI

✦

Ask AI about Obsidian Rust MCP

Powered by Claude · Grounded in docs

I know everything about Obsidian Rust MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

Obsidian Rust MCP

中文文档

A high-performance MCP (Model Context Protocol) server for Obsidian knowledge base management, built with Rust.

Features

  • 📂 File Tree Indexing - Get complete vault structure and tag overview
  • 🔍 Smart Search - Query notes by tags, exact name, or fuzzy keyword matching
  • 📝 Note Management - Read, write, and delete notes with automatic frontmatter generation
  • 🔄 Append or Overwrite - Choose between append mode (default) or overwrite mode for existing files
  • 📁 Subdirectory Support - Organize notes in nested directories (e.g., projects/easytier, journal/2026-03)
  • 🛡️ Input Validation - Directory whitelist, filename sanitization, path traversal protection
  • 🏷️ Tag System - Organize notes with tags and aliases
  • ⚡ High Performance - Built with Rust for speed and reliability

Installation

cargo build --release

Usage

The server provides the following MCP tools:

note_index_tree

Get the complete file tree and all available tags in your vault.

query_note

Search notes using:

  • Tags: Filter by one or more tags (intersection)
  • Exact name: Match exact filename (without .md)
  • Keyword: Fuzzy search across filenames, aliases, and tags

Example:

{"tags": ["docker"]}
{"exact_name": "docker-guide"}
{"keyword": "Docker"}
{"tags": ["rust"], "keyword": "mcp"}

read_note

Read the complete content of a note by its relative path.

Example:

{"path": "tech/docker-guide.md"}

write_note

Create or update notes with automatic frontmatter generation. Supports two modes:

  • Append mode (default): Adds content to existing file
  • Overwrite mode (append: false): Replaces entire file

Supports subdirectories (e.g., projects/easytier, journal/2026-03, up to 3 levels deep).

Append mode example:

{
  "directory": "tech",
  "filename": "nginx-guide",
  "tags": ["nginx"],
  "aliases": ["Nginx Guide"],
  "status": "active",
  "content": "> [!abstract] Overview\n> Content\n\n## Related Notes\n\n- [[docker-guide]]",
  "append": true
}

Overwrite mode example:

{
  "directory": "tech",
  "filename": "nginx-guide",
  "tags": ["nginx"],
  "aliases": ["Nginx Guide"],
  "status": "active",
  "content": "> [!abstract] Overview\n> New content\n\n## Related Notes\n\n- [[docker-guide]]",
  "append": false
}

delete_note

Delete a note from the vault. Use with caution - this operation is irreversible.

Example:

{"path": "tech/docker-guide.md"}

write_note_tips

Get the complete writing guidelines for the vault (directory structure, naming conventions, frontmatter format, etc.).

Configuration

Option 1: Environment Variable (Recommended)

Set the OBSIDIAN_VAULT_ROOT environment variable to point to your Obsidian vault:

# Linux/macOS
export OBSIDIAN_VAULT_ROOT="/path/to/your/vault"

# Windows (cmd)
set OBSIDIAN_VAULT_ROOT=D:\notes\Fromsko

# Windows (PowerShell)
$env:OBSIDIAN_VAULT_ROOT="D:\notes\Fromsko"

Option 2: Hardcoded Path

Edit the VAULT_ROOT constant in src/config.rs:

pub const VAULT_ROOT: &str = r"D:\notes\Fromsko";

Option 3: MCP Client Configuration (Recommended for MCP clients)

Configure the vault path directly in your MCP client configuration:

{
  "fromsko-note": {
    "command": "/path/to/obsidian-mcp",
    "disabled": false,
    "env": {
      "OBSIDIAN_VAULT_ROOT": "/path/to/your/vault"
    }
  }
}

Replace /path/to/obsidian-mcp with the actual path to your compiled binary, and /path/to/your/vault with your Obsidian vault path.

Note: This is the recommended approach when using this MCP server with clients like Claude Desktop, Cursor, or other MCP-compatible tools.

Valid Directories

Notes can be organized in the following top-level directories (subdirectories supported, max 3 levels):

  • tech - Technical notes
  • ai - AI/ML related notes
  • projects - Project documentation
  • methods - Methodologies and processes
  • career - Career development
  • ideas - Ideas and brainstorming
  • cheatsheet - Quick reference guides
  • journal - Daily journals

Project Structure

src/
  main.rs          # Entry point, tracing init, serve()
  config.rs        # Constants & vault root config
  types.rs         # Request/response types with schemars
  server.rs        # MCP tool handlers
  validation.rs    # Input validation (directory, filename, status, path)
  frontmatter.rs   # YAML frontmatter parsing & generation
  index.rs         # Vault index builder
  file_tree.rs     # File tree visualization

Testing

cargo test  # 40 unit tests

Screenshots

Agent Integration

Agent Integration

Note Example

Note Example

License

MIT - see LICENSE file for details.

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Obsidian Rust MCP

How do I install Obsidian Rust MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Obsidian Rust MCP safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Obsidian Rust MCP still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.