MichaelAnckaert/obsidian-mcp
If you are the rightful owner of obsidian-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Obsidian MCP Server provides seamless access to your Obsidian vault, allowing interaction with notes, documents, and knowledge base through a Model Context Protocol.
Obsidian MCP Server
An MCP (Model Context Protocol) server that provides access to your Obsidian vault, enabling seamless interaction with your notes, documents, and knowledge base.
Features
- File Discovery: List all files in your Obsidian vault
- Content Reading: Read the full content of any file in your vault
- File Search: Find files by name or path patterns
- Content Search: Search for text within all files in your vault
- Safe Access: Excludes system directories like
.obsidian
and.git
- Large File Handling: Automatically handles large files with size limits and content truncation
Tools Available
list_files()
- Get a list of all files in your vaultget_file_content(file_path)
- Read the content of a specific filefind_files(query)
- Find files by name matching a queryfind_in_all_file_content(query)
- Search for text within all file contents
Installation
-
Clone this repository:
git clone <repository-url> cd obsidian-mcp
-
Install dependencies using uv (recommended) or pip:
# Using uv uv sync # Or using pip pip install -e .
Configuration for Claude Desktop
To use this MCP server with Claude Desktop, you need to add it to your Claude Desktop configuration file.
Windows Configuration
-
Open your Claude Desktop configuration file at:
%APPDATA%\Claude\claude_desktop_config.json
-
Add the following configuration to the
mcpServers
section:{ "mcpServers": { "obsidian-mcp": { "command": "uv", "args": [ "run", "python", "C:\\path\\to\\your\\obsidian-mcp\\main.py", "C:\\path\\to\\your\\obsidian\\vault" ] } } }
macOS/Linux Configuration
-
Open your Claude Desktop configuration file at:
~/Library/Application Support/Claude/claude_desktop_config.json # macOS ~/.config/claude/claude_desktop_config.json # Linux
-
Add the following configuration to the
mcpServers
section:{ "mcpServers": { "obsidian-mcp": { "command": "uv", "args": [ "run", "python", "/path/to/your/obsidian-mcp/main.py", "/path/to/your/obsidian/vault" ] } } }
Alternative Configuration (without uv)
If you prefer not to use uv, you can configure it to run directly with Python:
{
"mcpServers": {
"obsidian-mcp": {
"command": "python",
"args": [
"/path/to/your/obsidian-mcp/main.py",
"/path/to/your/obsidian/vault"
]
}
}
}
Important Notes
- Replace
/path/to/your/obsidian-mcp/main.py
with the actual path to the main.py file - Replace
/path/to/your/obsidian/vault
with the actual path to your Obsidian vault directory - Use forward slashes (/) in paths even on Windows when using the JSON configuration
- Restart Claude Desktop after making configuration changes
Usage
Once configured, you can ask Claude to:
- "List all files in my Obsidian vault"
- "Show me the content of my daily note from yesterday"
- "Find all files related to 'project alpha'"
- "Search for all mentions of 'TODO' in my vault"
- "What notes do I have about machine learning?"
Claude will use the MCP server to access your vault and provide responses based on your actual notes and documents.
Security
This MCP server provides read-only access to your Obsidian vault. It cannot create, modify, or delete files. It automatically excludes system directories like .obsidian
and .git
from access.
Development
- Language: Python 3.11+
- Framework: FastMCP
- Dependencies: See
pyproject.toml
Development Setup
-
Install development dependencies:
uv sync --group dev
-
Run linting:
uv run ruff check uv run ruff format
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.