Obsidian MCP Server

Obsidian MCP Server

Enables AI assistants to interact with Obsidian vaults via direct filesystem access for managing notes, folders, and metadata. It features advanced search capabilities and multi-layer caching to provide efficient, real-time access to your personal knowledge base.

Category
Visit Server

README

Obsidian MCP Server

A Model Context Protocol (MCP) server that provides seamless integration with Obsidian vaults via direct filesystem access, enabling AI assistants to interact with your notes and knowledge base.

Features

  • Note Management: Create, read, update, and delete notes
  • Folder Operations: Create, rename, move, and delete folders
  • Vault Search: Search with glob patterns, regex, tags, frontmatter, and relevance scoring
  • Intelligent Caching: Multi-layer caching with optional LMDB persistence
  • Real-Time Monitoring: File watching for automatic cache invalidation

Quick Start

Installation

npm install
npm run build

Configuration

Add to your MCP client configuration:

{
  "mcpServers": {
    "obsidian": {
      "command": "node",
      "args": ["/path/to/obsidian-mcp/build/index.js"],
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/vault"
      }
    }
  }
}

See Configuration Reference for all options.

Available Tools

Tool Description
list_notes List all notes in the vault
read_note Read the content of a note
create_note Create a new note
update_note Update an existing note
delete_note Delete a note
get_note_metadata Get frontmatter and tags
search_vault Search with required query
advanced_search_vault Advanced search with all options
search_vault_stream Streaming search for large vaults
manage_folder Create, rename, move, or delete folders
get_cache_stats Get cache performance statistics

See Tools Reference for detailed documentation.

Architecture

flowchart TB
    subgraph tools [MCP Tools]
        T1[search_vault]
        T2[read_note]
        T3[list_notes]
    end
    
    subgraph caching [Caching Layer]
        FC[FileListCache]
        CC[ContentCache]
        SC[SearchResultCache]
        PC[PersistentCache]
    end
    
    subgraph optimization [Search Optimization]
        II[InvertedIndex]
        PT[PathTrie]
    end
    
    subgraph fs [Filesystem]
        V[(Obsidian Vault)]
        FW[FileWatcher]
    end
    
    T1 --> SC
    T1 --> II
    T1 --> PT
    T2 --> CC
    T3 --> FC
    
    CC --> PC
    FC --> PC
    SC --> PC
    
    FW --> FC
    FW --> CC
    FW --> II
    
    V --> FW

See Features Reference for detailed architecture documentation.

Performance Features

Feature Description Default
File List Cache Cache folder listings 60s TTL
Content Cache LRU cache for file contents 100 entries
Search Result Cache Cache search query results 50 entries
Persistent Cache LMDB-backed persistence Disabled
Inverted Index Fast word-to-files lookup Disabled
Path Trie Efficient glob pattern matching Disabled
File Watcher Real-time cache invalidation Enabled
Cache Warmup Pre-load cache on startup Disabled

Configuration Quick Reference

Variable Default Description
OBSIDIAN_VAULT_PATH Required Path to your Obsidian vault
OBSIDIAN_ENABLE_PERSISTENT_CACHE false Enable LMDB persistence
OBSIDIAN_ENABLE_INVERTED_INDEX false Enable fast text search index
OBSIDIAN_ENABLE_PATH_TRIE false Enable fast glob matching
OBSIDIAN_ENABLE_CACHE_WARMUP false Pre-load cache on startup

See Configuration Reference for all 19 environment variables.

Development

# Build
npm run build

# Development mode
npm run dev

# Run tests
npm test

Project Structure

src/
├── config/                    # Configuration management
├── handlers/                  # MCP request handlers
├── services/
│   ├── cache/                 # Caching services
│   ├── search/                # Search optimization services
│   ├── fileSystem.ts          # Core filesystem operations
│   ├── FileWatcher.ts         # File change monitoring
│   └── FrontmatterParser.ts   # YAML frontmatter parsing
├── types/                     # TypeScript type definitions
├── index.ts                   # Entry point
└── server.ts                  # Main server class

Documentation

Security

  • Operations are restricted to the configured vault path
  • Path traversal protection is implemented
  • Consider running in a sandboxed environment for production use

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured