Provides semantic search capabilities across Obsidian vaults using vector embeddings, with support for multiple vault configurations, real-time file watching, and automatic index updates
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Obsidianfind notes about project planning from last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-obsidian
An MCP (Model Context Protocol) server for semantic search in Obsidian vaults using embedded ChromaDB vector storage. I intend on keeping this fairly minimal to keep usage with Claude simple.
Features
π Search with semantic, exact phrase, and temporal filtering
π Google-style quotes for exact phrase matching (
"exact phrase"and-"exclude")π Date filtering to find notes by modification time
π Support for multiple vault configurations
π Real-time monitoring with automatic re-indexing
π Fast, incremental updates with ChromaDB backend
π Thread-safe operations for concurrent access
Prerequisites
Python 3.10 or higher
uv package manager
Installation
Install uv (if not already installed)
pip install uvInstall mcp-obsidian
Option 1: Install as a uv tool (Recommended)
uv tool install "git+https://github.com/alexhholmes/mcp-obsidian.git"
mcp-obsidian configure # Configure your vaultsOption 2: Install from source
Clone the repository:
git clone https://github.com/yourusername/mcp-obsidian.git
cd mcp-obsidianCreate and activate a virtual environment with uv:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activateInstall the package in development mode:
uv pip install -e .This will install all dependencies including:
questionary (interactive CLI)
chromadb (vector database)
langchain-text-splitters (document chunking)
fastmcp (MCP server framework)
watchdog (file system monitoring)
Configuration
Initial Setup
Configure your Obsidian vaults:
mcp-obsidian configureThis interactive command will:
Prompt you to select vault directories
Name each vault for easy reference
Store configuration in
~/.mcp-obsidian/config.json
Manual Configuration
You can also manually edit ~/.mcp-obsidian/config.json:
{
"vaults": [
{
"name": "Personal Notes",
"path": "/path/to/your/obsidian/vault"
},
{
"name": "Work Docs",
"path": "/path/to/another/vault"
}
]
}Usage
As an MCP Server
Run the server for use with MCP-compatible clients:
mcp-obsidianThe server exposes the following tools:
search: Unified search with semantic, exact phrase, and temporal filteringreindex_vaults: Manually trigger a re-index of all configured vaults
The vectors are stored along with the following metadata, which can be used for filtering searches:
vault: The name of the vault containing the documenttitle: The filename without extensionsource: The relative path from the vault rootmodified: Unix timestamp of the file's last modification timefile_path: The absolute path to the source filestart_line/end_line: Line numbers for the chunk within the original documentchunk_index/total_chunks: Position of this chunk within the documentfile_hash: MD5 hash of the file content for change detection
CLI Usage
Search directly from the command line:
# Search all vaults
mcp-obsidian search "your search query"
# Search a specific vault
mcp-obsidian search "your search query" --vault "Personal Notes"
# Reconfigure vaults
mcp-obsidian configure
# Rebuild search index
mcp-obsidian indexIntegration with Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"obsidian": {
"command": "mcp-obsidian"
}
}
}or alternatively use to configuration tool to set it up automatically:
mcp-obsidian configureHow It Works
Indexing: The server reads all markdown files from configured vaults and creates vector embeddings using ChromaDB
Chunking: Large documents are split into smaller chunks using recursive character splitting for better search granularity
Search: Queries are converted to embeddings and matched against the document database using cosine similarity
File Watching: The server monitors vault directories for changes and automatically updates the index
License
MIT License
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.