Obsidian MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OBSIDIAN_VAULT_PATH | Yes | The absolute path to your Obsidian vault directory |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| listar_notasB | Lista todas las notas (.md) en el vault o en una carpeta específica Args: carpeta: Carpeta específica a explorar (vacío = raíz del vault) incluir_subcarpetas: Si incluir subcarpetas en la búsqueda |
| leer_notaB | Lee el contenido completo de una nota especifica Args: nombre_archivo: Nombre del archivo (ej: "Diario/2024-01-01.md") |
| buscar_en_notasA | Busca texto en las notas del vault usando búsqueda inteligente (ripgrep o fallback Python). Soporta múltiples términos: "nas ssh" buscará notas que contengan "nas" Y "ssh". Args: texto: Texto a buscar (puede incluir múltiples palabras) carpeta: Carpeta específica donde buscar (vacío = todo el vault) solo_titulos: Si buscar solo en los títulos de las notas |
| buscar_notas_por_fechaC | Busca notas modificadas en un rango de fechas Args: fecha_desde: Fecha de inicio (YYYY-MM-DD) fecha_hasta: Fecha de fin (YYYY-MM-DD, opcional, por defecto hoy) |
| mover_notaA | Mueve o renombra una nota dentro del vault. Args: origen: Ruta relativa actual de la nota (ej: "Sin titulo.md") destino: Ruta relativa nueva de la nota (ej: "01_Inbox/Nueva Nota.md") crear_carpetas: Si crear las carpetas destino si no existen (True) Returns: Mensaje de exito o error. |
| concepto_aleatorioA | Extrae un concepto aleatorio del vault como flashcard sorpresa. Util para reforzar conocimiento o descubrir notas olvidadas. Args: carpeta: Carpeta especifica donde buscar (vacio = todo el vault) |
| listar_plantillasB | Lista las plantillas disponibles en la carpeta ZZ_Plantillas. Returns: Lista de nombres de plantillas disponibles. |
| sugerir_ubicacionA | Sugiere carpetas candidatas para una nota nueva según su contenido y tags. ⚠️ IMPORTANTE PARA AGENTES DE IA: ⚠️ Esta herramienta devuelve SUGERENCIAS PROBABILÍSTICAS, no respuestas definitivas. Debes:
La sugerencia se basa en notas similares ya existentes en el vault. No es infalible: el usuario puede tener una mejor idea de dónde ubicarla. Args: titulo: Título de la nota. contenido: Fragmento o contenido total de la nota. etiquetas: Etiquetas enviadas o planeadas. Returns: Lista de carpetas sugeridas con confianza, o fallback a reglas. |
| crear_notaA | Crea una nueva nota en el vault. ⚠️ ADVERTENCIA CRÍTICA PARA AGENTES DE IA: ⚠️
Args: titulo: Título de la nota. contenido: Contenido de la nota. carpeta: Carpeta donde crear la nota (vacío = raíz). etiquetas: Etiquetas separadas por comas. plantilla: Nombre del archivo de plantilla (ej: "Diario.md"). agente_creador: Si se creó usando un agente específico (ej: "escritor"). descripcion: Descripción breve de la nota (para placeholder {{description}}). |
| agregar_a_notaB | Agrega contenido a una nota existente. Args: nombre_archivo: Nombre del archivo a modificar. contenido: Contenido a agregar. al_final: Si agregar al final (True) o al principio (False) de la nota. Returns: Un mensaje indicando el resultado de la operación. |
| eliminar_notaA | Elimina una nota del vault (requiere confirmación). Args: nombre_archivo: Nombre del archivo a eliminar. confirmar: Confirmación para eliminar (debe ser True). Returns: Un mensaje indicando el resultado de la operación. |
| editar_notaA | Edita una nota existente, reemplazando todo su contenido. ⚠️ ADVERTENCIA CRÍTICA PARA AGENTES DE IA: ⚠️
Args: nombre_archivo: Nombre o ruta de la nota a editar (ej: "Mi Nota.md") nuevo_contenido: El contenido completo actualizado (incluye frontmatter YAML) Returns: Mensaje de confirmación o error |
| buscar_y_reemplazar_globalA | Busca y reemplaza texto en todas las notas del vault. Útil para corregir enlaces rotos, renombrar tags, o actualizar rutas. Args: buscar: Texto o patrón a buscar (texto literal, no regex). reemplazar: Texto de reemplazo. carpeta: Carpeta específica donde buscar (vacío = todo el vault). solo_preview: Si True, solo muestra qué cambiaría sin modificar. limite: Máximo de archivos a procesar (seguridad). Returns: Resumen de archivos afectados y cambios realizados. |
| captura_rapidaA | Captura rápida de una idea al Inbox sin fricción. Crea una nota en la carpeta Inbox (00_Bandeja) con timestamp automático. Ideal para "guardar esto rápido" sin pensar en ubicación o formato. Args: texto: El contenido a capturar. etiquetas: Etiquetas opcionales separadas por comas. Returns: Confirmación con la ruta de la nota creada. |
| agregar_en_seccionA | Añade contenido debajo de una sección específica de una nota. Busca el heading de la sección y añade el contenido justo antes del siguiente heading del mismo nivel o superior. Args: nombre_archivo: Nombre de la nota a modificar. seccion: Nombre de la sección (ej: "Recursos", "## Ideas"). contenido: Contenido a insertar. crear_si_no_existe: Si True, crea la sección si no existe. Returns: Confirmación del contenido añadido. |
| estadisticas_vaultB | Genera estadísticas completas del vault de Obsidian |
| obtener_tags_canonicasB | Obtiene la lista de tags oficiales/canónicas definidas en el archivo 'Registro de Tags del Vault.md'. Returns: Lista de tags categorizadas según el registro oficial. |
| analizar_etiquetasB | Analiza el uso de etiquetas en el vault. |
| sincronizar_registro_tagsC | Sincroniza el uso de tags en el vault con el registro oficial. Args: actualizar: Si es True, intenta actualizar la tabla de estadísticas en el archivo de registro. |
| obtener_lista_etiquetasA | Obtiene una lista simple de las etiquetas existentes en el vault. Útil para ver qué etiquetas ya existen antes de crear nuevas. Returns: Lista de etiquetas formateada como string. |
| analizar_enlacesB | Analiza los enlaces internos en el vault |
| resumen_actividad_recienteB | Genera un resumen de la actividad reciente en el vault Args: dias: Número de días hacia atrás para analizar (por defecto 7) |
| obtener_backlinksA | Obtiene todas las notas que enlazan a la nota especificada (backlinks). Args: nombre_nota: Nombre de la nota (con o sin .md) Returns: Lista de notas que contienen enlaces a esta nota |
| obtener_notas_por_tagB | Busca todas las notas que contienen una etiqueta específica. Args: tag: Etiqueta a buscar (con o sin #) Returns: Lista de notas que contienen la etiqueta |
| obtener_grafo_localB | Obtiene el grafo local de una nota: enlaces salientes y entrantes. Args: nombre_nota: Nombre de la nota central profundidad: Niveles de profundidad (1 = solo conexiones directas) Returns: Visualización del grafo local de la nota |
| encontrar_notas_huerfanasB | Encuentra notas huérfanas: sin enlaces entrantes ni salientes. Returns: Lista de notas que no están conectadas al grafo del vault |
| get_youtube_transcriptA | Obtiene la transcripción de un video de YouTube. Args: url: URL del video de YouTube o ID del video. language: Código del idioma opcional (ej: 'es', 'en'). Si se omite, busca subtítulos manuales en el idioma original, o falla al autogenerado del video. Returns: El texto completo de la transcripción o un mensaje de error. |
| leer_contexto_vaultA | Lee la estructura general del vault y estadísticas clave. ⚠️ OBLIGATORIO PARA AGENTES DE IA: ⚠️ Esta debe ser SIEMPRE la PRIMERA herramienta que ejecutes al comenzar cualquier tarea con el vault. Te informa de:
Devuelve un resumen de carpetas, plantillas y etiquetas comunes. |
| listar_agentesB | Lista las skills (agentes) disponibles en el vault. |
| obtener_instrucciones_agenteB | Obtiene el contenido de una Skill específica (SKILL.md). Args: nombre: El nombre de la carpeta de la skill (ej: 'escritor'). |
| obtener_reglas_globalesA | Obtiene las reglas globales del Agente (.agent/REGLAS_GLOBALES.md). ⚠️ OBLIGATORIO PARA AGENTES DE IA: ⚠️ DEBES leer estas reglas ANTES de realizar cualquier escritura o modificación en el vault. Contienen restricciones críticas (ej: NO emojis, formatos permitidos). |
| refrescar_cache_skillsA | Invalida y refresca el caché de skills (úsalo tras editar SKILL.md). |
| generar_skillB | Genera una nueva skill con estructura consistente. Crea automáticamente el archivo SKILL.md con:
Args: nombre: Identificador de la skill (ej: "profesor-fisica"). descripcion: Descripción breve de lo que hace la skill. instrucciones: Instrucciones principales en markdown. herramientas: Herramientas separadas por comas (ej: "read, edit, web"). ubicacion_defecto: Carpeta por defecto para notas (ej: "02_Aprendizaje/"). |
| sugerir_skills_para_vaultB | Analiza el vault y sugiere skills personalizadas. Escanea patrones de uso: tags frecuentes, carpetas con más contenido, tipos de notas. Devuelve sugerencias de skills basadas en tu vault. |
| sincronizar_skillsA | Sincroniza y valida las skills existentes. Detecta problemas como:
Args: actualizar: Si True, aplica correcciones. Si False, solo reporta. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| prompt_asistente_obsidian | Prompt especializado para gestión de Obsidian |
| prompt_crear_nota_estructurada | Genera un prompt para crear notas estructuradas usando plantillas del vault Args: tema: Tema principal de la nota tipo: Tipo de nota (reflexion, proyecto, meeting, idea, etc.) |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| resource_listar_skills | Recurso que devuelve la lista de skills disponibles. |
| info_vault | Información general del vault de Obsidian |
TDQS
Scored across 35 tools
Most tools have distinct purposes, but there is some overlap that could cause confusion. For example, 'agregar_a_nota' and 'agregar_en_seccion' both add content to notes with subtle differences, and 'analizar_enlaces' vs 'obtener_backlinks' vs 'obtener_grafo_local' all deal with note links but in different ways. The descriptions help clarify, but an agent might misselect without careful reading.
Naming is inconsistent with mixed conventions. Some tools use Spanish verbs like 'agregar' or 'analizar', others use English verbs like 'get' or 'list', and there are variations in style such as 'buscar_en_notas' vs 'buscar_notas_por_fecha'. This lack of a predictable pattern increases cognitive load for agents.
With 35 tools, the count is excessive for an Obsidian vault management server. Many tools could be consolidated or removed without losing functionality, such as having separate tools for 'analizar_enlaces', 'analizar_etiquetas', and 'estadisticas_vault' instead of a unified analysis tool. This bloats the interface and complicates agent decision-making.
The tool set provides comprehensive coverage for managing an Obsidian vault, including CRUD operations for notes (crear_nota, leer_nota, editar_nota, eliminar_nota), advanced features like linking analysis and skill management, and utilities for searching, tagging, and synchronization. No obvious gaps exist for the domain.