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 --password
AI 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.
Learn to connect to MCP servers over HTTP with Python SDK using SSE for efficient protocol communication
Analyze search intent with MCP API for SEO insights and keyword categorization
Next-generation MCP server enhances documentation analysis with AI-powered neural processing and multi-language support
Python MCP client for testing servers avoid message limits and customize with API key
Learn how to use MCProto Ruby gem to create and chain MCP servers for custom solutions
Expose Chicago Public Schools data with a local MCP server accessing SQLite and LanceDB databases