Skip to main content
Glama

Obsidian MCP Server

Servidor MCP de Obsidian

Un servidor de Protocolo de Contexto de Modelo diseñado para que los LLM interactúen con las bóvedas de Obsidian. Desarrollado con TypeScript y con comunicación API segura, operaciones de archivos eficientes y funciones de búsqueda completas, permite a los asistentes de IA gestionar bases de conocimiento de forma fluida mediante una interfaz de herramientas clara y flexible.

El Protocolo de Contexto de Modelo (MCP) permite que los modelos de IA interactúen con herramientas y recursos externos a través de una interfaz estandarizada.

Requiere el complemento API REST local en Obsidian.

📋 Índice de contenidos

Características | Instalación | Configuración | Herramientas | Recursos | Estructura del proyecto | Contribución | Publicación | Licencia

✨ Características

  • Operaciones de archivos : Operaciones atómicas de archivos/directorios con validación, monitoreo de recursos y manejo de errores.
  • Sistema de búsqueda : búsqueda de texto completo con contexto configurable, consultas JsonLogic avanzadas, patrones glob y soporte para campos frontmatter.
  • Gestión de propiedades : análisis de frontmatter YAML, fusión inteligente, marcas de tiempo automáticas y compatibilidad con campos personalizados.
  • Seguridad y rendimiento : autenticación de clave API, limitación de velocidad, opciones SSL, monitoreo de recursos y apagado elegante.

🚀 Instalación

Nota: Requiere Node.js y el complemento API REST local habilitado en Obsidian.

Opción 1: Clonar y construir (para desarrollo o uso directo)

  1. Habilite el complemento API REST local en Obsidian.
  2. Clonar el repositorio, instalar las dependencias y compilar el proyecto:
    git clone git@github.com:cyanheads/obsidian-mcp-server.git cd obsidian-mcp-server npm install npm run build
  3. Configure el servidor utilizando variables de entorno (consulte la sección Configuración a continuación).
  4. Configure los ajustes del cliente MCP (p. ej., claude_desktop_config.json o cline_mcp_settings.json ) para incluir el servidor. Consulte la sección Configuración para obtener más información.

Opción 2: Instalar a través de npm (como dependencia o globalmente)

  1. Habilite el complemento API REST local en Obsidian.
  2. Instale el paquete usando npm:
    # Install locally (e.g., within another project) npm install obsidian-mcp-server # Or install globally npm install -g obsidian-mcp-server
  3. Configure los ajustes del cliente MCP (p. ej., claude_desktop_config.json o cline_mcp_settings.json ) para incluir el servidor. Consulte la sección Configuración para obtener más información.

⚙️ Configuración

Agregue a la configuración de su cliente MCP (por ejemplo, claude_desktop_config.json o cline_mcp_settings.json ):

{ "mcpServers": { "obsidian-mcp-server": { "command": "node", "args": ["/path/to/obsidian-mcp-server/dist/index.js"], "env": { "OBSIDIAN_API_KEY": "your_api_key_here", "VERIFY_SSL": "false", "OBSIDIAN_PROTOCOL": "https", "OBSIDIAN_HOST": "127.0.0.1", "OBSIDIAN_PORT": "27124", "REQUEST_TIMEOUT": "5000", "MAX_CONTENT_LENGTH": "52428800", "MAX_BODY_LENGTH": "52428800", "RATE_LIMIT_WINDOW_MS": "900000", "RATE_LIMIT_MAX_REQUESTS": "200", "TOOL_TIMEOUT_MS": "60000" } } } }

Variables de entorno:

  • OBSIDIAN_API_KEY (Obligatorio): Su clave API de la configuración del complemento API REST local de Obsidian.
  • VERIFY_SSL (Predeterminado: false ): Habilita la verificación SSL. Establézcalo en false para certificados autofirmados o uso local.
  • OBSIDIAN_PROTOCOL (Predeterminado: "https" ): Protocolo ( http o https ).
  • OBSIDIAN_HOST (Predeterminado: "127.0.0.1" ): Dirección del host.
  • OBSIDIAN_PORT (Predeterminado: 27124 ): Número de puerto.
  • REQUEST_TIMEOUT (Predeterminado: 5000 ): Tiempo de espera de solicitud (ms).
  • MAX_CONTENT_LENGTH (Predeterminado: 52428800 [50 MB]): Longitud máxima del contenido de la respuesta (bytes).
  • MAX_BODY_LENGTH (Predeterminado: 52428800 [50 MB]): Longitud máxima del cuerpo de la solicitud (bytes).
  • RATE_LIMIT_WINDOW_MS (Predeterminado: 900000 [15 min]): Ventana de límite de velocidad (ms).
  • RATE_LIMIT_MAX_REQUESTS (Predeterminado: 200 ): Máximo de solicitudes por ventana.
  • TOOL_TIMEOUT_MS (Predeterminado: 60000 [1 min]): Tiempo de espera de ejecución de la herramienta (ms).

🛠️ Herramientas

HerramientaDescripciónParámetros
lista_de_archivos_en_la_bóveda_de_obsidianaEnumera todos los archivos y directorios dentro de la raíz de su bóveda de Obsidian. Devuelve una estructura jerárquica que detalla archivos, carpetas y sus tipos.Ninguno
lista_de_obsidiana_archivos_en_directorioEnumera los archivos y directorios dentro de una carpeta específica en su bóveda de Obsidian. Devuelve una estructura jerárquica. Nota: Es posible que los directorios vacíos no se incluyan en los resultados. Útil para explorar la organización de la bóveda.dirpath* : Ruta de acceso a los archivos (relativa a la raíz del almacén). Tenga en cuenta que no se devolverán directorios vacíos.
obsidian_obtener_contenido_del_archivoRecupera el contenido completo de un archivo específico en tu bóveda de Obsidian. Admite varios formatos de archivo legibles.filepath* : Ruta al archivo relevante (relativo a la raíz de su bóveda).
contenido adicional de obsidianaAñade el contenido proporcionado al final de un archivo específico en el almacén. Si el archivo no existe, se creará.filepath* : Ruta al archivo (relativa a la raíz del almacén) content* : Contenido que se agregará al archivo
contenido actualizado de obsidianaSobrescribe todo el contenido de un archivo especificado en el almacén con el contenido proporcionado. Si el archivo no existe, se creará.filepath* : Ruta al archivo (relativa a la raíz del almacén) content* : El contenido nuevo y completo del archivo (sobrescribe el contenido existente).
obsidiana_encontrada_en_archivoRealiza una búsqueda de texto completo en todos los archivos de su bóveda de Obsidian. Devuelve los archivos coincidentes con el contexto correspondiente. Si hay más de 5 archivos coincidentes, solo se devuelven los nombres y el número de coincidencias para evitar un exceso de resultados. Ideal para localizar texto, etiquetas o patrones específicos.query* : Patrón de texto a buscar. Puede incluir etiquetas, palabras clave o frases. contextLength : Número de caracteres que rodean cada coincidencia para proporcionar contexto (predeterminado: 10).
búsqueda del complejo de obsidianaBusca archivos basándose en patrones de ruta mediante consultas JsonLogic. Admite principalmente glob para la búsqueda de patrones (p. ej., '*.md') y var para acceder a la variable 'path'. Nota: Para búsquedas basadas en contenido (texto completo, etiquetas dentro del contenido, fechas), utilice obsidian_find_in_file .query* : Un objeto de consulta JsonLogic que busca rutas de archivos. Ejemplo: {"glob": ["*.md", {"var": "path"}]} coincide con todos los archivos Markdown.
etiquetas de obtención de obsidianaRecupera todas las etiquetas definidas en el frontmatter YAML de los archivos Markdown en tu almacén de Obsidian, junto con sus recuentos de uso y las rutas de archivo asociadas. Opcionalmente, limita la búsqueda a una carpeta específica.path : ruta de carpeta opcional (relativa a la raíz del almacén) para restringir la búsqueda de etiquetas.
obsidian_get_propertiesRecupera propiedades (como título, etiquetas y estado) del frontmatter YAML de una nota de Obsidian especificada. Devuelve todas las propiedades definidas, incluidos los campos personalizados.filepath* : Ruta al archivo de nota (relativo a la raíz de la bóveda)
propiedades de actualización de obsidianaActualiza las propiedades dentro del frontmatter YAML de una nota de Obsidian especificada. Por defecto, las propiedades de la matriz (como etiquetas, tipo y estado) se fusionan; utilice la opción "reemplazar" para sobrescribirlas. Gestiona campos personalizados y marcas de tiempo automáticamente. Consulte el esquema para ver los campos estándar compatibles (título, autor, etiquetas, estado, etc.).filepath* : Ruta al archivo de notas (relativa a la raíz del almacén). properties* : Propiedades a actualizar. replace : Si es verdadero, las propiedades de la matriz (como etiquetas y estado) se reemplazarán completamente con los valores proporcionados en lugar de fusionarse con los valores existentes. El valor predeterminado es falso (fusionar).

🔗 Recursos

RecursoDescripciónDevoluciones
obsidiana://etiquetasLista de todas las etiquetas utilizadas en la bóveda de Obsidian con sus recuentos de usoaplicación/json

📁 Estructura del proyecto

El proyecto sigue una arquitectura modular con una clara separación de preocupaciones:

src/ ├── index.ts # Main entry point ├── mcp/ # MCP server implementation ├── obsidian/ # Obsidian API client and types ├── resources/ # MCP resource implementations ├── tools/ # MCP tool implementations │ ├── files/ # File operations tools │ ├── search/ # Search tools │ └── properties/ # Property management tools └── utils/ # Shared utilities

👥 Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Enviar una solicitud de extracción

Para errores y características, cree un problema en https://github.com/cyanheads/obsidian-mcp-server/issues .

📄 Licencia

Licencia Apache 2.0


-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Permite la interacción entre LLM y bóvedas de Obsidian a través del Protocolo de contexto de modelo, lo que admite operaciones de archivos seguras, administración de contenido y capacidades de búsqueda avanzadas.

  1. 📋 Índice de contenidos
    1. ✨ Características
      1. 🚀 Instalación
        1. Opción 1: Clonar y construir (para desarrollo o uso directo)
        2. Opción 2: Instalar a través de npm (como dependencia o globalmente)
      2. ⚙️ Configuración
        1. 🛠️ Herramientas
          1. 🔗 Recursos
            1. 📁 Estructura del proyecto
              1. 👥 Contribuyendo
                1. 📄 Licencia

                  Related MCP Servers

                  • A
                    security
                    A
                    license
                    A
                    quality
                    A Model Context Protocol server that enables LLMs to interact with Salesforce data through SOQL queries, SOSL searches, and various API operations including record management.
                    Last updated -
                    10
                    77
                    Python
                    MIT License
                  • A
                    security
                    A
                    license
                    A
                    quality
                    Adds powerful Hacker News integration to LLM clients, allowing users to access stories, comments, user profiles, and search functionality through the Model Context Protocol.
                    Last updated -
                    9
                    25
                    4
                    JavaScript
                    MIT License
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Model Context Protocol server enabling LLMs to search, retrieve, and manage documents through Rememberizer's knowledge management API.
                    Last updated -
                    24
                    Python
                    Apache 2.0
                  • -
                    security
                    A
                    license
                    -
                    quality
                    FEGIS is a Model Context Protocol server that gives LLMs structured, persistent and portable memory through customizable cognitive tools defined in schema.
                    Last updated -
                    16
                    Python
                    MIT License
                    • Apple
                    • Linux

                  View all related MCP servers

                  MCP directory API

                  We provide all the information about MCP servers via our MCP API.

                  curl -X GET 'https://glama.ai/api/mcp/v1/servers/cyanheads/obsidian-mcp-server'

                  If you have feedback or need assistance with the MCP directory API, please join our Discord server