Obsidian Index Service MCP Server

A service that monitors an Obsidian vault for file changes (new, modified, or deleted Markdown files) and indexes each note’s metadata and content

Local serverstdioPython

What is the Obsidian Index Service MCP server?

If you already use Obsidian Index Service, the obsidian index service mcp server is the piece that lets your assistant work with it directly. A service that monitors an Obsidian vault for file changes (new, modified, or deleted Markdown files) and indexes each note’s metadata and content into an SQLite database, exposing it for e.g. an MCP-server.

What the server does

This service monitors an Obsidian vault directory and indexes Markdown files—metadata and full content—into an SQLite database. I built it to work with my mcp-server project, but switched to an implementation that uses the Obsidian plugin API instead. I still see use for this as an agnostic note indexer or sync tool (see note under "Future Steps"), so I'm putting it up here.

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

Installation

Installation goes through your MCP client rather than a global install: point it at pytest on PyPI and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

Credentials and setup notes

Configuration is passed through the environment: OBSIDIAN_VAULT_PATH, DB_PATH, DB_VOLUME_PATH. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  • Python 3.12 or later - Docker and Docker Compose (for containerized use) - uv (optional, but recommended)

Where it fits

Among the planning and project tracking options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Obsidian Index Service's toolset — Prerequisites, Installation — is a fair guide to whether it matches your workflow. It is maintained by pmmvr; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
PrerequisitesThe Prerequisites tool exposed by this server.
Installation1. Clone the repo: bash git clone https://github.com/pmmvr/obsidian-index-service.git cd obsidian-index-service

How to install the Obsidian Index Service MCP server

{
  "mcpServers": {
    "obsidian-index-service": {
      "command": "uvx",
      "args": ["pytest"],
      "env": {
        "OBSIDIAN_VAULT_PATH": "your-value",
        "DB_PATH": "your-value",
        "DB_VOLUME_PATH": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

  • Python 3.12 or later - Docker and Docker Compose (for containerized use) - uv (optional, but recommended)
VariableDescriptionRequired
OBSIDIAN_VAULT_PATHFilesystem location the server is allowed to use.Optional
DB_PATHFilesystem location the server is allowed to use.Optional
DB_VOLUME_PATHFilesystem location the server is allowed to use.Optional

Example prompts to try

  • Use Obsidian Index Service to Prerequisites.
  • Use Obsidian Index Service to Installation.

Frequently asked questions

Python 3.12 or later, Docker and Docker Compose (for containerized use), and optionally `uv`.