MCP.so
ログイン

Obsidian Index Service MCP Server

@pmmvr

基本情報

カテゴリ

メモリとナレッジ

ライセンス

MIT

トランスポート

stdio

作者

pmmvr

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 into an SQLite database, exposing it for e.g. an MCP-server

Obsidian Index Service MCP Server の設定

以下の設定を使って、このサーバーを MCP 対応クライアントに追加してください。

{
  "mcpServers": {
    "obsidian-index-service": {
      "command": "uv",
      "args": [
        "venv"
      ]
    }
  }
}

Obsidian Index Service MCP Server のツール

ツール一覧はまだありません

この掲載には表示できるツール一覧がまだありません。サーバーにツールがないという意味ではありません。対応機能はプロジェクトのドキュメントをご確認ください。

ツールは README から自動的に抽出されます。メンテナーは ## Tools という見出しの下に記載することで、このタブに反映できます。

概要

What is Obsidian Index Service?

Obsidian Index Service monitors an Obsidian vault directory and indexes Markdown files—metadata and full content—into an SQLite database. It tracks file changes (create, modify, delete) and stores path, title, tags, timestamps, content, and processing status. It is intended as an agnostic note indexer and potential sync tool.

How to use Obsidian Index Service?

Set environment variables OBSIDIAN_VAULT_PATH and DB_PATH, or pass --vault-path and --db-path command-line options. Run locally with python main.py or uv run python main.py. Use --scan-only for a one-time scan. For Docker, run docker-compose up -d to mount the vault and expose the database.

Key features of Obsidian Index Service

  • Monitors Obsidian vault for file changes (create, modify, delete)
  • Indexes metadata: path, title, parent folders, tags, dates
  • Stores full Markdown content in SQLite
  • Supports Docker deployment with persistent volume
  • WAL mode for concurrent read access by other services
  • Graceful shutdown on termination signals

Use cases of Obsidian Index Service

  • Indexing an Obsidian vault for external search or analytics
  • Providing a read-only SQLite database for other services (e.g., an MCP server) to query note metadata
  • Synchronizing vault changes to a remote backend (future direction)
  • One-time scan to snapshot vault contents

よくある質問

1

What are the prerequisites?

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

2

Where does the indexed data live?

Data is stored in an SQLite database at the path specified by `DB_PATH` (default `/data/notes.sqlite` in Docker). The database is mounted as a Docker volume.

3

How does it handle concurrent access from other services?

SQLite is run in Write-Ahead Logging (WAL) mode. Other services can mount the same volume read-only (e.g., `/data:ro`) and safely query the database while Obsidian Index Service writes to it.

4

Does it support continuous monitoring or only one-time scan?

By default it watches the vault continuously; use `--scan-only` to index once and exit.

5

What metadata fields are captured?

Path (unique identifier), title (from filename), parent folders (relative to vault root), tags (from YAML frontmatter), created/modified timestamps, full content, processing status, and error message if processing fails.

コメント

「メモリとナレッジ」の他のコンテンツ