Obsidian Index Service
@pmmvr
关于 Obsidian Index Service
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
基本信息
配置
使用下面的配置,将此服务器添加到你的 MCP 客户端。
{
"mcpServers": {
"obsidian-index-service": {
"command": "uv",
"args": [
"venv"
]
}
}
}工具
未检测到工具
工具是从 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
FAQ from Obsidian Index Service
What are the prerequisites?
Python 3.12 or later, Docker and Docker Compose (for containerized use), and optionally uv.
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.
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.
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.
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.
记忆与知识 分类下的更多 MCP 服务器
Ultimate Google Docs & Drive MCP Server
a-bonusThe Ultimate Google Docs, Sheets, Drive, Gmail, & Google Calendar MCP Server. This MCP (primarily for use in Claude Desktop) gains full access to your google suite and lets claude do its thing.
RAG Documentation MCP Server
hannesrudolphAn MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.
📓 GistPad MCP
lostintangent📓 An MCP server for managing your personal knowledge, daily notes, and re-usable prompts via GitHub Gists
MCP Apple Notes
RafalWilinskiTalk with your notes in Claude. RAG over your Apple Notes using Model Context Protocol.
Zettelkasten MCP Server
entanglrA Model Context Protocol (MCP) server that implements the Zettelkasten knowledge management methodology, allowing you to create, link, explore and synthesize atomic notes through Claude and other MCP-compatible clients.
评论