Skip to main content

MCP server for Obsidian Omnisearch

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_mcp_server_obsidian_omnisearch-0.1.0.tar.gz.

File metadata

File hashes

Hashes for iflow_mcp_mcp_server_obsidian_omnisearch-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3d1743b12a73dfdaec05632df5eaec10b088ca22f1ba2c95fc39eab10c6f09fe
MD5 1be368de7b230f074d196f2174fd6913
BLAKE2b-256 f1241ec177990a20083d040bda5b3af91f0106c70b7958a7b4a1422da4f0c802

See more details on using hashes here.

File details

Details for the file iflow_mcp_mcp_server_obsidian_omnisearch-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for iflow_mcp_mcp_server_obsidian_omnisearch-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 82dc99c9b0e7772d68dc67b541d9501c425b158afbb441e323f68d22ddedf071
MD5 b14a9a2dc77ce99bce50d006851c1118
BLAKE2b-256 e7532d3b15930513ad91e6f12ed55110eb24b9a53c015c1d4fd5081ab1e9868d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page