Notes MCP Server

Un servidor MCP para interactuar con notas de Obsidian. Requiere que la variable de entorno OBSIDIAN_VAULT_PATH esté configurada.

Documentación

Notes MCP Server

Un servidor MCP (Model Context Protocol) para interactuar con notas de Obsidian. Este servidor proporciona herramientas para buscar y leer notas de tu bóveda de Obsidian, haciendo que tu base de conocimientos sea accesible para los asistentes de IA.

Características

  • Buscar Notas: Búsqueda de texto completo en tu bóveda de Obsidian usando ripgrep
  • Leer Notas: Analiza y extrae contenido, metadatos y etiquetas de las notas
  • Multiplataforma: Funciona en Windows, macOS y Linux
  • Soporte de Frontmatter: Extrae el frontmatter YAML como metadatos estructurados
  • Extracción de Etiquetas: Identifica y extrae automáticamente las etiquetas de Obsidian

Requisitos previos

  • Entorno de ejecución Deno
  • ripgrep (comando rg)
  • Una bóveda de Obsidian con archivos markdown

Configuración

  1. Clona o descarga este proyecto
  2. Establece la variable de entorno OBSIDIAN_VAULT_PATH:
    export OBSIDIAN_VAULT_PATH="/path/to/your/obsidian/vault"
    
  3. Ejecuta el servidor:
    # Using Deno directly
    deno task start
    
    # Using mise (if you have mise installed)
    mise run start
    

Desarrollo

Para desarrollo con observación de archivos:

# Using Deno
deno task dev

# Using mise
mise run dev

Pruebas

Puedes probar el servidor MCP usando la herramienta CLI de consulta incluida:

# Search for notes containing a pattern (case-insensitive by default)
mise run query search "productivity"

# Case-sensitive search
mise run query search "TODO" --case-sensitive

# Search for whole words only
mise run query search "test" --whole-word

# Multiline search
mise run query search "pattern.*spans.*lines" --multiline

# Search with custom context lines (default: 5)
mise run query search "pattern" --context 10

# Read specific notes
mise run query read "daily-notes/2024-01-15"
mise run query read "note1" "folder/note2"

# Use verbose mode to see the request being sent
mise run query -v search "pattern"
mise run query --verbose read "note1"

La herramienta de consulta se conecta al servidor MCP y devuelve las respuestas JSON sin procesar, lo que resulta útil para pruebas y depuración.

Herramientas

search_notes

Busca archivos markdown en tu bóveda usando patrones de ripgrep.

Parámetros:

  • pattern (cadena, obligatorio): Patrón de búsqueda para ripgrep
  • flags (matriz, opcional): Banderas adicionales de ripgrep

Devuelve: Matriz de resultados de búsqueda con:

  • path: Ruta relativa de la nota (sin extensión .md)
  • matches: Matriz de coincidencias con números de línea y contexto

read_notes

Lee y analiza una o más notas de tu bóveda.

Parámetros:

  • paths (matriz, obligatorio): Matriz de rutas relativas de notas (con o sin extensión .md)

Devuelve: Matriz de objetos de nota con:

  • name: Nombre de la nota (ruta relativa sin extensión .md)
  • contents: Contenido Markdown (sin frontmatter ni etiquetas)
  • metadata: Frontmatter analizado como objeto JSON
  • tags: Matriz de etiquetas de Obsidian extraídas

Ejemplo de uso

Una vez conectado a un cliente MCP, puedes:

// Search for notes containing "productivity"
await search_notes({
  pattern: "productivity",
  flags: ["-i"] // case-insensitive
});

// Read specific notes
await read_notes({
  paths: ["daily-notes/2024-01-15", "projects/my-project"]
});

Configuración

El servidor requiere que la variable de entorno OBSIDIAN_VAULT_PATH esté establecida en el directorio de tu bóveda de Obsidian.

Integración con Claude Desktop

Para usar este servidor MCP con Claude Desktop, agrégalo a tu archivo de configuración de Claude:

macOS/Linux: ~/.config/claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "notes": {
      "command": "deno",
      "args": [
        "run",
        "--allow-read=/path/to/your/obsidian/vault",
        "--allow-run=rg",
        "--allow-env=OBSIDIAN_VAULT_PATH",
        "src/index.ts"
      ],
      "cwd": "/path/to/notes-mcp",
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault"
      }
    }
  }
}

Usando mise (recomendado si tienes mise instalado):

{
  "mcpServers": {
    "notes": {
      "command": "/path/to/notes-mcp/start-server.sh",
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault"
      }
    }
  }
}

Esto usa el script start-server.sh incluido, que se encarga de cambiar al directorio del proyecto y ejecutar mise run start.

Reemplaza las rutas con:

  • /path/to/notes-mcp: La ruta absoluta al directorio de este proyecto
  • /path/to/your/obsidian/vault: La ruta absoluta a tu bóveda de Obsidian

Después de actualizar la configuración, reinicia Claude Desktop. El servidor aparecerá como "notes" y proporcionará las herramientas search_notes y read_notes.