Ripgrep Search

Busca eficientemente en bóvedas de Obsidian usando la herramienta ripgrep.

Documentación

Búsqueda en Bóveda de Obsidian para Claude

Este servidor MCP permite a Claude buscar contenido en archivos usando ripgrep, con funcionalidades adicionales para Obsidian. Comprende elementos específicos de Obsidian como enlaces wiki, propiedades de frontmatter, y proporciona contexto inteligente sobre dónde se encuentran las coincidencias.

Herramientas Disponibles

rg_search_notes

Busca contenido de texto dentro de tus notas con opciones de alcance flexibles.

  • Busca todo el contenido, solo frontmatter, o solo contenido de notas
  • Obtén contexto inteligente que muestra qué propiedad de frontmatter o encabezado contiene cada coincidencia
  • Filtra por carpeta y controla los límites de resultados

rg_search_links

Encuentra y analiza enlaces en toda tu bóveda.

  • Descubre enlaces wiki ([[Note Title]]), enlaces markdown y URL externas
  • Filtra enlaces por patrones de URL o patrones de título
  • Útil para encontrar enlaces rotos o analizar las conexiones de tu grafo de conocimiento

rg_search_backlinks

Encuentra todas las notas que enlazan a una nota objetivo específica.

  • Identifica qué notas hacen referencia a un tema o nota en particular
  • Comprende el contexto alrededor de cada referencia de enlace inverso
  • Descubre cómo las ideas se conectan a través de tu bóveda

rg_search_recent_notes

Encuentra notas modificadas dentro de rangos de fechas específicos.

  • Busca por fecha de modificación usando el formato AAAA-MM-DD
  • Útil para revisar trabajo reciente o encontrar notas de períodos de tiempo específicos
  • Combínalo con otras búsquedas para encontrar notas recientes sobre temas específicos

rg_search_orphaned_notes

Identifica notas que no tienen enlaces entrantes o salientes.

  • Encuentra notas aisladas que podrían necesitar una mejor integración
  • Descubre contenido olvidado que podría conectarse a tu grafo de conocimiento
  • Útil para el mantenimiento y la organización de la bóveda

Capacidades Específicas de Obsidian

Detección de Contexto Inteligente

Cuando se encuentran coincidencias, Claude recibe contexto inteligente:

  • Coincidencias en frontmatter: Muestra el nombre de la propiedad (ej., tags, project, status)
  • Coincidencias en contenido: Muestra el encabezado más cercano (ej., ## Project Ideas, ### Meeting Notes)
  • Propiedades anidadas: Maneja estructuras YAML complejas en el frontmatter

Comprensión de Enlaces

  • Enlaces Wiki: [[Note Title]] y [[Note Title|Display Text]]
  • Enlaces Markdown: [Display Text](note-file.md) y URL externas
  • Enlaces en Frontmatter: Enlaces dentro de propiedades y listas YAML

Organización de Archivos

  • Filtrado por Carpeta: Limita las búsquedas a directorios específicos
  • Descubrimiento por Fecha: Encuentra archivos por fecha de modificación
  • Estructura de la Bóveda: Comprende los patrones de organización de archivos de Obsidian

Parámetros Adicionales

La mayoría de las herramientas de búsqueda admiten estos parámetros comunes:

Comportamiento de Búsqueda

  • case_sensitive: true o false (por defecto: false)
  • folder: Limita la búsqueda a una carpeta específica (ej., "Daily Notes", "Projects/Active")
  • max_results: Número de resultados a devolver (1-100, por defecto: 15, con límite automático)
  • smart_context: Incluir detección de contexto (por defecto: true, establece false para búsquedas más rápidas)

Alcance de Búsqueda (para rg_search_notes)

  • search_scope:
    • "all" - Busca todo (por defecto)
    • "content_only" - Omite el frontmatter, busca solo el contenido de las notas
    • "frontmatter_only" - Busca solo las propiedades del frontmatter YAML

Filtrado por Fecha (para rg_search_recent_notes)

  • start_date: Fecha de inicio en formato AAAA-MM-DD (ej., "2024-01-15")
  • end_date: Fecha de fin en formato AAAA-MM-DD (ej., "2024-01-31")

Filtrado de Enlaces (para rg_search_links)

  • link_type: "all", "wiki_links", "markdown_links" o "external_urls"
  • url_pattern: Patrón regex para filtrar URL
  • title_pattern: Patrón regex para filtrar títulos de enlaces

Instalación

Requisitos Previos

  • Python 3.8 o superior
  • ripgrep instalado y disponible en PATH
  • Una bóveda de Obsidian

Instalar ripgrep

Windows:

# Using winget (recommended)
winget install BurntSushi.ripgrep.MSVC

# Using chocolatey
choco install ripgrep

# Using scoop
scoop install ripgrep

macOS:

brew install ripgrep

Linux (Ubuntu/Debian):

sudo apt install ripgrep

Instalar el Servidor MCP

# Clone the repository
git clone https://github.com/kpetrovsky/kp-ripgrep-mcp.git
cd kp-ripgrep-mcp

# Install the package
pip install -e .

Configurar Claude Desktop

Añade esta configuración a Claude Desktop:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "obsidian-search": {
      "command": "python",
      "args": ["-m", "rgrep_mcp.server"],
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault"
      }
    }
  }
}

Reemplaza /path/to/your/obsidian/vault con la ruta real de tu bóveda.

Configuración Alternativa

Variable de Entorno (todas las plataformas):

export OBSIDIAN_VAULT_PATH="/path/to/your/obsidian/vault"

Archivo de Configuración: Crea ~/.rgrep-mcp.json:

{
  "vault_path": "/path/to/your/obsidian/vault",
  "default_case_sensitive": false,
  "default_result_limit": 15
}

Solución de Problemas

"ripgrep (rg) no está instalado o no está en PATH"

Verifica la instalación de ripgrep:

rg --version

Si este comando falla, reinstala ripgrep usando las instrucciones anteriores.

"No se ha configurado la ruta de la bóveda" o "La ruta de la bóveda no existe"

  • Asegúrate de que la variable de entorno OBSIDIAN_VAULT_PATH esté configurada correctamente
  • Verifica que la ruta apunte al directorio de tu bóveda de Obsidian (que contenga archivos .md)
  • Usa rutas absolutas, no relativas
  • En Windows, usa barras diagonales o escapa las barras invertidas en JSON: "C:/Users/Name/Vault" o "C:\\Users\\Name\\Vault"

Claude no encuentra los resultados esperados

  • Verifica los términos de búsqueda: Comprueba que el contenido realmente exista en tus notas
  • Revisa el alcance: Prueba con "search_scope": "all" primero, luego reduce
  • Prueba con consultas simples: Comienza con búsquedas de texto básicas antes de usar patrones complejos
  • Revisa las restricciones de carpeta: Si usas el parámetro folder, asegúrate de que contenga las notas esperadas

Problemas de rendimiento con bóvedas grandes

  • Usa filtrado por carpeta: Limita las búsquedas a directorios específicos cuando sea posible
  • Reduce max_results: Comienza con límites más pequeños (5-10) para respuestas más rápidas
  • Desactiva smart_context: Establece "smart_context": false para búsquedas más rápidas cuando no se necesita contexto
  • Sé específico: Los términos de búsqueda más específicos son más rápidos que las consultas amplias

Errores de formato de fecha

Usa el formato AAAA-MM-DD para las fechas:

  • ✅ "2024-01-15"
  • ✅ "2024-12-31"
  • ❌ "01/15/2024"
  • ❌ "15 ene 2024"

Problemas de permisos

  • Asegúrate de que Claude Desktop tenga permiso para acceder al directorio de tu bóveda
  • En macOS, es posible que debas otorgar Acceso Completo al Disco a Claude Desktop en Preferencias del Sistema

Ejemplos de Uso

Pídele a Claude:

  • "Encuentra todas las notas que contengan 'machine learning' en mi carpeta Research"
  • "Muéstrame las notas que modifiqué la semana pasada"
  • "¿Qué notas enlazan a mi nota 'Project Ideas'?"
  • "Encuentra notas con 'productivity' en la propiedad tags"
  • "Busca 'meeting' solo en el contenido de las notas, no en el frontmatter"

Licencia

Licencia MIT: consulta el archivo LICENSE para más detalles.