Obsidian-Notes
The Obsidian Notes Model Context Protocol (MCP) server provides a standardized interface for AI models (such as those utilized in LM Studio, Claude Desktop, and other MCP-compatible clients) to interact with a local Obsidian Vault.
claude mcp add --transport stdio prathmeshnik-obsidian-notes-mcp-server python server.py \ --env VAULT_PATH="Absolute path to your Obsidian Vault"
How to use
The Obsidian Notes MCP Server provides a standardized MCP interface for AI agents to interact with a local Obsidian Vault. It exposes tools to recursively index notes and folders, and to read the full content of individual Markdown notes, enabling models to retrieve grounding context from your personal knowledge base while staying read-only and secure. Clients can connect using a compatible MCP client (e.g., LM Studio, Claude Desktop, or MCP Inspector) and issue commands through the MCP protocol to discover vault structure and fetch note content on demand.
To use the server, configure your MCP client with the server’s connection details and point it to the Python interpreter and server.py file as shown in the example configuration. Once running, you can request a recursive list of notes and folders (list_notes, list_folders) and retrieve specific note contents (read_note) by providing a relative path within the vault. The server enforces strict path validation to prevent traversal outside the vault, ensuring your data remains read-only and protected.
How to install
Prerequisites:
- Python 3.10 or higher
- An Obsidian Vault or a directory containing Markdown files
- Access to install Python dependencies (pip)
- Clone the repository:
git clone <repository-url>
cd obsidian-notes-server
- Create and activate a virtual environment (recommended):
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Configure the vault path:
- Edit the file server.py and set the VAULT_PATH variable to the absolute path of your Obsidian Vault:
# Specify the absolute path to your vault
VAULT_PATH = r"C:\Path\To\Your\Obsidian Vault"
- Run the server to verify:
python server.py
- In your MCP client, configure the server using the provided example configuration, pointing to your Python interpreter and the server entry point (server.py).
Additional notes
Tips and considerations:
- The server exposes read-only operations to protect your vault; it cannot modify or delete notes.
- Ensure VAULT_PATH is accessible by the user running the server and uses an absolute path.
- The list_notes and list_folders tools return newline-delimited relative paths, useful for quick indexing or building discovery prompts.
- The read_note tool returns the full Markdown content for grounding; be mindful of large notes when embedding in prompts.
- If you change the vault structure, restart the server to refresh available paths.
- For LM Studio or Claude Desktop integrations, follow the client documentation to map the mcpServers configuration to your environment.
Related MCP Servers
web-eval-agent
An MCP server that autonomously evaluates web applications.
zettelkasten
A 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.
Gitingest
mcp server for gitingest
zotero
Model Context Protocol (MCP) server for the Zotero API, in Python
fhir
FHIR MCP Server – helping you expose any FHIR Server or API as a MCP Server.
Archive-Agent
Find your files with natural language and ask questions.