home / mcp / obsidian mcp server

Obsidian MCP Server

A Claude MCP server for semantic and temporal search of your Obsidian vaults.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "alexhholmes-mcp-obsidian": {
      "url": "https://mcp.example.com/mcp",
      "headers": {
        "NONE": "<NONE>"
      }
    }
  }
}

You run an MCP server that lets you perform semantic and exact-phrase searches over your Obsidian vaults, backed by a fast vector store. It watches your vaults for changes, re-indexes automatically, and exposes search capabilities that you can use from clients or directly in the CLI. This setup keeps notes easily searchable with filters like modification date and exact quotes, while staying lightweight and safe for concurrent access.

How to use

You will run the MCP server locally and connect to it from MCP-compatible clients or via the built-in CLI. Start by launching the server with mcp-obsidian. Once running, you can perform searches using the search tool, optionally filtering by vault, time, or exact phrase matches. You can also trigger a manual re-index of all configured vaults using reindex_vaults. The server stores vector embeddings with rich metadata to help drive filtering and precise results.

Key capabilities you can rely on include semantic search that understands intent, exact Google-style phrase matching, and date-based filtering to locate notes by their last modification time. The system monitors your vault directories in real time and automatically re-indexes when changes occur, ensuring your searches stay current without manual intervention.

How to install

Prerequisites you need before installation are Python 3.10 or higher and the uv package manager.

pip install uv

Option 1: Install as a uv tool (recommended) and configure your vaults.

uv tool install "git+https://github.com/alexhholmes/mcp-obsidian.git"
mcp-obsidian configure

Option 2: Install from source if you prefer a local development setup.

# Step 1: Clone the repository
git clone https://github.com/yourusername/mcp-obsidian.git
cd mcp-obsidian

# Step 2: Create and activate a virtual environment with uv
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Step 3: Install the package in development mode
uv pip install -e .

Initial configuration and running

Configure your Obsidian vaults with an interactive setup. This configures which vaults to index and stores the configuration for you.

mcp-obsidian configure

If you prefer manual configuration, you can edit the configuration file directly to define your vaults.

{
  "vaults": [
    {
      "name": "Personal Notes",
      "path": "/path/to/your/obsidian/vault"
    },
    {
      "name": "Work Docs",
      "path": "/path/to/another/vault"
    }
  ]
}

Starting and using the server from the CLI

To start the MCP server, run the following command in your terminal.

mcp-obsidian

Once running, you can perform searches directly from the CLI using the search tool and trigger re-indexing with index (or reindex_vaults if provided by your setup). The server keeps track of important metadata for filtering, including vault name, title, source path, modification time, and chunking information.

Available tools

search

Unified search with semantic, exact phrase, and temporal filtering across all configured vaults, supported by vector embeddings and metadata filters.

reindex_vaults

Manually trigger a re-index of all configured vaults to refresh the vector store with any new or updated documents.