Provides searchable access to Obsidian vault notes through the Omnisearch plugin, returning absolute file paths to matching notes based on search queries
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Obsidian Omnisearch MCP Serversearch for meeting notes about Q3 planning"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server Obsidian Omnisearch
A FastMCP-based server that provides Obsidian vault search functionality through a REST API interface.
Overview
This project implements a search service that allows you to search through Obsidian vault notes programmatically. It uses FastMCP to expose the search functionality as a tool that can be integrated with other services.
Related MCP server: Obsidian MCP REST Server
Features
Search through Obsidian vault notes
REST API integration
Returns absolute paths to matching notes
Easy integration with FastMCP tools
Prerequisites
Python 3.x
Obsidian with Omnisearch plugin installed and running
FastMCP library
Active Obsidian vault
Installation
Installing via Smithery
To install MCP Server Obsidian Omnisearch for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @anpigon/mcp-server-obsidian-omnisearch --client claudeManual Installation
Clone the repository:
git clone https://github.com/anpigon/mcp-server-obsidian-omnisearch.git
cd mcp-server-obsidian-omnisearchInstall dependencies:
uv installConfiguration
The Obsidian vault path is now provided as a command line argument when running the server:
python server.py /path/to/your/obsidian/vaultUsage
Obsidian Omnisearch API
You need the Obsidian Omnisearch community plugin running: https://publish.obsidian.md/omnisearch/Inject+Omnisearch+results+into+your+search+engine
Claude Desktop
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"obsidian-omnisearch": {
"command": "uv",
"args": [
"--directory",
"<dir_to>/mcp-server-obsidian-omnisearch",
"run",
"mcp-server-obsidian-omnisearch",
"/path/to/your/obsidian/vault"
]
}
}
}{
"mcpServers": {
"obsidian-omnisearch": {
"command": "uvx",
"args": [
"mcp-server-obsidian-omnisearch",
"/path/to/your/obsidian/vault"
]
}
}
}API Reference
Search Notes
Function:
obsidian_notes_search(query: str)Description: Searches Obsidian notes and returns absolute paths to matching notes
Parameters:
query: Search query string
Returns: List of absolute paths to matching notes
Development
Building and Publishing
To prepare the package for distribution:
Sync dependencies and update lockfile:
uv syncBuild package distributions:
uv buildThis will create source and wheel distributions in the dist/ directory.
Publish to PyPI:
uv publishNote: You'll need to set PyPI credentials via environment variables or command flags:
Token:
--tokenorUV_PUBLISH_TOKENOr username/password:
--username/UV_PUBLISH_USERNAMEand--password/UV_PUBLISH_PASSWORD
Debugging
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm with this command:
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-server-obsidian-omnisearch run mcp-server-obsidian-omnisearchUpon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
You can also watch the server logs with this command:
tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-server-obsidian-omnisearch.logDependencies
FastMCP
requests
urllib
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.