RAG Obsidian MCP Server
Enables semantic search across an Obsidian vault using ChromaDB for vector storage and all-MiniLM-L6-v2 for embeddings.
Click on "Deploy 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., "@RAG Obsidian MCP Serversearch my vault for notes on Python automation"
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.
RAG Obsidian MCP Server
Semantic search over your Obsidian vault via an MCP server. Uses ChromaDB for vector storage and all-MiniLM-L6-v2 for embeddings.
Prerequisites
Python 3.13+
uv (recommended) or pip
Related MCP server: Personal Semantic Search MCP
Setup
uv syncEdit config.yaml to point to your vault:
vault_path: "/path/to/your/Obsidian/vault"
chroma_db_path: "./data/chroma_db"
embedding_model: "all-MiniLM-L6-v2"
collection_name: "obsidian_vault"
chunk_size: 1000
chunk_overlap: 100
top_k_default: 5Indexing
Initial index (first run)
uv run python index.pyThis walks all .md files in the vault, embeds them in chunks, and stores them in ChromaDB.
Incremental index (after adding or editing notes)
Run the same command — it skips files whose modification time hasn't changed:
uv run python index.pyOnly new or modified notes are re-indexed. Deleted notes are removed from the database automatically.
Force full re-index
To re-embed everything from scratch (e.g. after changing chunk_size or embedding_model):
uv run python index.py --forceOverride vault path
uv run python index.py --vault "/path/to/other/vault"Starting the MCP Server
Run the server in stdio mode (the transport Claude Code and other MCP clients expect):
uv run python server.pyRegistering with Claude Code
Add the server to your Claude Code MCP config (.claude/settings.json or global settings):
{
"mcpServers": {
"obsidian-vault": {
"command": "uv",
"args": ["run", "python", "server.py"],
"cwd": "/path/to/RAG_Obsidian"
}
}
}Available MCP Tools
Tool | Description |
| Semantic search across indexed notes. Returns top-k chunks with relevance scores and |
| Read the full content of a note by its relative path (e.g. |
| List all notes in the vault or a subfolder. |
This server cannot be deployed
Maintenance
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Search your Obsidian vault to quickly find notes by title or keyword, summarize related content, a…
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Create, search, and update notes in an xNotepad AI notebook, with semantic search and AI Q&A.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceEnables semantic search across Obsidian vaults using vector embeddings and ChromaDB. Supports multiple vaults with real-time indexing and provides both MCP server and CLI interfaces for natural language querying of notes.4-
- FlicenseNot gradedqualityDmaintenanceEnables semantic search over local notes and documents using natural language queries. Supports multiple file types (Markdown, Python, HTML, JSON, CSV, text) with fast local embeddings and persistent ChromaDB vector storage.1-
- AlicenseNot gradedqualityDmaintenanceProvides semantic search and keyword search over Obsidian notes, along with direct note retrieval, allowing external AI agents to query and access the vault.19BSD Zero Clause
- AlicenseNot gradedqualityCmaintenanceEnables semantic search over an Obsidian vault using natural language, retrieving relevant notes and extracted conclusions.MIT