Semantic search and recent notes exposure for Obsidian vaults via MCP server
The Obsidian Index MCP Server provides semantic search capabilities over an Obsidian vault, exposing recently modified notes as resources to Model Context Protocol (MCP) clients. This server is designed to enhance the integration of AI applications such as Claude Desktop, Continue, and Cursor by providing a standardized access point to the user's data stored within their Obsidian vault.
The core feature of the Obsidian Index MCP Server lies in its ability to seamlessly integrate with various AI applications through the MCP protocol. By exposing notes as resources with URLs that adhere to specific schemes (e.g., obsidian://<VAULT_NAME>/<NOTE_PATH>), this server enables MCP clients to retrieve and analyze data from the Obsidian vault. The built-in tool, search-notes, performs semantically rich searches over indexed notes, making it an invaluable resource for users working with complex note systems in Obsidian.
The Obsidian Index MCP Server exposes recently modified notes within a user's Obsidian vaults as resources. These resources are addressed using URL schemes, such as:
obsidian://<VAULT_NAME>/<NOTE_PATH>
<VAULT_NAME> is the name of the Obsidian vault.<NOTE_PATH> is the path to the specific note within the vault.The exposed notes have a media type of text/markdown, facilitating easy parsing and transformation into various formats suitable for AI applications. The server’s resource handling ensures that each note can be efficiently retrieved, allowing clients to perform quick access and analysis of relevant content without the need for complex navigation through the Obsidian interface.
The primary tool integrated with the Obsidian Index MCP Server is search-notes, which performs semantic searches over indexed notes within the vault. This tool leverages sophisticated language understanding algorithms to provide accurate results based on user queries, making it a powerful addition to any AI application looking to integrate advanced searching capabilities.
claude_desktop_config.json file. Here’s a snippet to configure Obsidian Index MCP Server:{
"mcpServers": {
"obsidian-index": {
"command": "uv",
"args": [
"--directory",
"<PATH_TO_PROJECT>"
]
}
}
}
For published servers, the configuration will typically use a different command:
{
"mcpServers": {
"obsidian-index": {
"command": "uvx",
"args": [
"obsidian-index",
"--database",
"<PATH_TO_DATABASE>"
]
}
}
}
To prepare the package for distribution:
Sync Dependencies:
uv sync
Build Package Distributions:
uv build
This command creates source and wheel distributions, which are then stored in the dist/ directory.
Publish to PyPI:
uv publish
You will need to set up PyPI credentials via environment variables or command flags:
--token or UV_PUBLISH_TOKEN--username and --passwordAI agents, such as Claude Desktop, can benefit from the Obsidian Index MCP Server by seamlessly fetching recent updates across all notes. This allows for real-time content analysis, ensuring up-to-date information is available and actionable.
Development teams using Obsidian can enhance their documentation management processes through this server. Automated semantic searches make it easier to locate relevant code snippets or design documents during development sprints, improving collaboration and efficiency.
The Obsidian Index MCP Server supports the following MCP clients:
| MCP Client | Resources | Tools | Prompts | Status |
|---|---|---|---|---|
| Claude Desktop | ✅ Full access and updates | Full tool integration | Natural language prompts | Fully supported |
| Continue | ✅ Notes | ✅ Tool usage for automation | Not yet implemented | Tools only |
| Cursor | ❌ Incompatibility | ✅ Tool usage | Not yet implemented | Tools only |
The Obsidian Index MCP Server supports advanced configuration through environment variables and command-line arguments. For example, the --watch flag ensures real-time indexing updates as notes are modified:
uv run obsidian-index mcp --vault <VAULT_PATH> --database <DATABASE_PATH> --reindex --watch
"env": {
"API_KEY": "your-api-key"
}
How do I set up the Obsidian Index MCP Server for my AI application?
Can other AI tools besides Claude Desktop use this server?
How frequently does the Obsidian Index update its indexes?
--watch flag ensures real-time updates, making the data as current as possible. Additionally, you can run a full reindex using the --reindex option whenever necessary.Can I protect my Obsidian vaults from being accessed by unauthorized parties?
What should I do if I encounter issues during installation or use of the server?
To contribute to the Obsidian Index MCP Server project, follow these guidelines:
Fork and Clone Repository:
Set Up Your Environment:
uv setup to install dependencies.Make Changes and Test:
Pull Request:
For more information about the Model Context Protocol and its ecosystem, visit Model Context Protocol. Explore additional resources, including community discussions, documentation, and issue tracking to stay updated on the latest developments.
RuinedFooocus is a local AI image generator and chatbot image server for seamless creative control
Learn to set up MCP Airflow Database server for efficient database interactions and querying airflow data
Simplify MySQL queries with Java-based MysqlMcpServer for easy standard input-output communication
Explore CoRT MCP server for advanced self-arguing AI with multi-LLM inference and enhanced evaluation methods
Build stunning one-page websites track engagement create QR codes monetize content easily with Acalytica
Access NASA APIs for space data, images, asteroids, weather, and exoplanets via MCP integration