Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-server-obsidian-omnisearch

MCP.Pizza Chef: anpigon

The MCP Server Obsidian Omnisearch is a FastMCP-based server that provides powerful search capabilities within Obsidian vaults using the Omnisearch plugin API. It exposes a REST API interface allowing programmatic access to search through notes in an active Obsidian vault. The server returns absolute file paths to matching notes, facilitating seamless integration with other MCP tools and services. Designed for developers and power users, it requires Python 3.x, an active Obsidian vault with the Omnisearch plugin installed, and the FastMCP library. This server enables efficient, automated retrieval of relevant notes, enhancing workflows that depend on quick access to Obsidian content.

Use This MCP server To

Programmatically search notes in Obsidian vaults Integrate Obsidian search into AI workflows Retrieve absolute paths of matching notes Enable REST API access to Obsidian content Automate knowledge base queries in Obsidian Combine Obsidian search with other MCP tools

README

MCP Server Obsidian Omnisearch

smithery badge 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.

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 claude

Manual Installation

  1. Clone the repository:
git clone https://github.com/anpigon/mcp-server-obsidian-omnisearch.git
cd mcp-server-obsidian-omnisearch
  1. Install dependencies:
uv install

Configuration

The Obsidian vault path is now provided as a command line argument when running the server:

python server.py /path/to/your/obsidian/vault

Usage

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

Development/Unpublished Servers Configuration
{
  "mcpServers": {
    "obsidian-omnisearch": {
      "command": "uv",
      "args": [
        "--directory",
        "<dir_to>/mcp-server-obsidian-omnisearch",
        "run",
        "mcp-server-obsidian-omnisearch",
        "/path/to/your/obsidian/vault"
      ]
    }
  }
}
Published Servers Configuration
{
  "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:

  1. Sync dependencies and update lockfile:
uv sync
  1. Build package distributions:
uv build

This will create source and wheel distributions in the dist/ directory.

  1. Publish to PyPI:
uv publish

Note: You'll need to set PyPI credentials via environment variables or command flags:

  • Token: --token or UV_PUBLISH_TOKEN
  • Or username/password: --username/UV_PUBLISH_USERNAME and --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-omnisearch

Upon 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.log

Dependencies

  • 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.

mcp-server-obsidian-omnisearch FAQ

How do I install the MCP Server Obsidian Omnisearch?
You can install it via Smithery for automatic setup or manually by ensuring Python 3.x, FastMCP, and an active Obsidian vault with the Omnisearch plugin are installed.
What are the prerequisites for running this MCP server?
You need Python 3.x, an active Obsidian vault with the Omnisearch plugin running, and the FastMCP library installed.
How does the server return search results?
It returns absolute file paths to the notes that match the search query, enabling easy access and integration.
Can this server be integrated with other MCP tools?
Yes, it is designed for seamless integration with other FastMCP-based tools and services via its REST API.
Is the search functionality limited to specific note types?
The server searches through all notes within the active Obsidian vault accessible by the Omnisearch plugin.
Does this server support real-time updates from the Obsidian vault?
The server relies on the Omnisearch plugin's current index, so updates depend on the plugin's indexing frequency.
What programming languages can interact with this MCP server?
Any language that can make REST API calls can interact with this server, making it versatile for various development environments.
Is this MCP server compatible with multiple LLM providers?
Yes, it can be integrated into workflows using OpenAI, Claude, Gemini, and other LLM providers via MCP clients.