Obsidian Omnisearch

Busca en tu bóveda de Obsidian usando el plugin Omnisearch a través de una API REST.

Documentación

Servidor MCP Obsidian Omnisearch

smithery badge Un servidor basado en FastMCP que proporciona funcionalidad de búsqueda en bóvedas de Obsidian a través de una interfaz de API REST.

Descripción general

Este proyecto implementa un servicio de búsqueda que permite buscar notas en bóvedas de Obsidian de forma programática. Utiliza FastMCP para exponer la funcionalidad de búsqueda como una herramienta que puede integrarse con otros servicios.

Características

  • Búsqueda en notas de bóvedas de Obsidian
  • Integración con API REST
  • Devuelve rutas absolutas a las notas coincidentes
  • Fácil integración con herramientas FastMCP

Requisitos previos

  • Python 3.x
  • Obsidian con el plugin Omnisearch instalado y en ejecución
  • Biblioteca FastMCP
  • Bóveda de Obsidian activa

Instalación

Instalación mediante Smithery

Para instalar MCP Server Obsidian Omnisearch para Claude Desktop automáticamente a través de Smithery:

npx -y @smithery/cli install @anpigon/mcp-server-obsidian-omnisearch --client claude

Instalación manual

  1. Clonar el repositorio:
git clone https://github.com/anpigon/mcp-server-obsidian-omnisearch.git
cd mcp-server-obsidian-omnisearch
  1. Instalar dependencias:
uv install

Configuración

La ruta de la bóveda de Obsidian ahora se proporciona como un argumento de línea de comandos al ejecutar el servidor:

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

Uso

API de Obsidian Omnisearch

Necesitas el plugin comunitario Obsidian Omnisearch en ejecución: https://publish.obsidian.md/omnisearch/Inject+Omnisearch+results+into+your+search+engine

Claude Desktop

En MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

En Windows: %APPDATA%/Claude/claude_desktop_config.json

Configuración de Servidores No Publicados
{
  "mcpServers": {
    "obsidian-omnisearch": {
      "command": "uv",
      "args": [
        "--directory",
        "<dir_to>/mcp-server-obsidian-omnisearch",
        "run",
        "mcp-server-obsidian-omnisearch",
        "/path/to/your/obsidian/vault"
      ]
    }
  }
}
Configuración de Servidores Publicados
{
  "mcpServers": {
    "obsidian-omnisearch": {
      "command": "uvx",
      "args": [
        "mcp-server-obsidian-omnisearch",
        "/path/to/your/obsidian/vault"
      ]
    }
  }
}

Referencia de la API

Buscar notas

  • Función: obsidian_notes_search(query: str)
  • Descripción: Busca notas de Obsidian y devuelve rutas absolutas a las notas coincidentes
  • Parámetros:
    • query: Cadena de consulta de búsqueda
  • Devuelve: Lista de rutas absolutas a las notas coincidentes

Desarrollo

Compilación y publicación

Para preparar el paquete para su distribución:

  1. Sincronizar dependencias y actualizar el archivo de bloqueo:
uv sync
  1. Compilar distribuciones del paquete:
uv build

Esto creará distribuciones de código fuente y wheel en el directorio dist/.

  1. Publicar en PyPI:
uv publish

Nota: Necesitarás configurar las credenciales de PyPI mediante variables de entorno o banderas de comando:

  • Token: --token o UV_PUBLISH_TOKEN
  • O nombre de usuario/contraseña: --username/UV_PUBLISH_USERNAME y --password/UV_PUBLISH_PASSWORD

Depuración

Dado que los servidores MCP se ejecutan sobre stdio, la depuración puede ser desafiante. Para la mejor experiencia de depuración, recomendamos encarecidamente usar el MCP Inspector.

Puedes lanzar el MCP Inspector a través de npm con este comando:

npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-server-obsidian-omnisearch run mcp-server-obsidian-omnisearch

Al iniciar, el Inspector mostrará una URL que puedes acceder en tu navegador para comenzar a depurar.

También puedes ver los registros del servidor con este comando:

tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-server-obsidian-omnisearch.log

Dependencias

  • FastMCP
  • requests
  • urllib

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción (Pull Request).