obsidian-mcp
Provides read-only access to an Obsidian vault, enabling file listing, content reading, and text search across notes via MCP.
README
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
.obsidianand.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
mcpServerssection:{ "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
mcpServerssection:{ "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.pywith the actual path to the main.py file - Replace
/path/to/your/obsidian/vaultwith 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.