Skip to main content
Glama

Obsidian MCP Server

Apache 2.0
202
157
  • Apple
  • Linux

Сервер Obsidian MCP

Сервер Model Context Protocol, разработанный для взаимодействия LLM с хранилищами Obsidian. Созданный с помощью TypeScript и обладающий защищенной связью API, эффективными файловыми операциями и комплексными возможностями поиска, он позволяет помощникам ИИ беспрепятственно управлять базами знаний с помощью чистого, гибкого интерфейса инструментов.

Протокол контекста модели (MCP) позволяет моделям ИИ взаимодействовать с внешними инструментами и ресурсами через стандартизированный интерфейс.

Требуется плагин Local REST API в Obsidian.

📋 Содержание

Возможности | Установка | Конфигурация | Инструменты | Ресурсы | Структура проекта | Участие | Публикация | Лицензия

✨ Особенности

  • Файловые операции : атомарные операции с файлами/каталогами с проверкой, мониторингом ресурсов и обработкой ошибок.
  • Поисковая система : полнотекстовый поиск с настраиваемым контекстом, расширенными запросами JsonLogic, шаблонами glob и поддержкой полей frontmatter.
  • Управление свойствами : анализ содержимого YAML, интеллектуальное слияние, автоматические временные метки и поддержка настраиваемых полей.
  • Безопасность и производительность : аутентификация по ключу API, ограничение скорости, параметры SSL, мониторинг ресурсов и плавное завершение работы.

🚀 Установка

Примечание: требуется Node.js и включенный плагин Local REST API в Obsidian.

Вариант 1: Клонировать и собрать (для разработки или прямого использования)

  1. Включите плагин Local REST API в Obsidian.
  2. Клонируйте репозиторий, установите зависимости и соберите проект:
    git clone git@github.com:cyanheads/obsidian-mcp-server.git cd obsidian-mcp-server npm install npm run build
  3. Настройте сервер с помощью переменных среды (см. раздел «Конфигурация» ниже).
  4. Настройте параметры клиента MCP (например, claude_desktop_config.json или cline_mcp_settings.json ), чтобы включить сервер. Подробности см. в разделе «Конфигурация».

Вариант 2: Установка через npm (как зависимость или глобально)

  1. Включите плагин Local REST API в Obsidian.
  2. Установите пакет с помощью npm:
    # Install locally (e.g., within another project) npm install obsidian-mcp-server # Or install globally npm install -g obsidian-mcp-server
  3. Настройте параметры клиента MCP (например, claude_desktop_config.json или cline_mcp_settings.json ), чтобы включить сервер. Подробности см. в разделе «Конфигурация».

⚙️ Конфигурация

Добавьте в настройки клиента MCP (например, claude_desktop_config.json или 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" } } } }

Переменные среды:

  • OBSIDIAN_API_KEY (обязательно): ваш ключ API из настроек плагина локального REST API Obsidian.
  • VERIFY_SSL (по умолчанию: false ): включить проверку SSL. Установите значение false для самоподписанных сертификатов или локального использования.
  • OBSIDIAN_PROTOCOL (по умолчанию: "https" ): протокол ( http или https ).
  • OBSIDIAN_HOST (по умолчанию: "127.0.0.1" ): адрес хоста.
  • OBSIDIAN_PORT (по умолчанию: 27124 ): номер порта.
  • REQUEST_TIMEOUT (по умолчанию: 5000 ): время ожидания запроса (мс).
  • MAX_CONTENT_LENGTH (по умолчанию: 52428800 [50 МБ]): максимальная длина содержимого ответа (байты).
  • MAX_BODY_LENGTH (по умолчанию: 52428800 [50 МБ]): максимальная длина тела запроса (байты).
  • RATE_LIMIT_WINDOW_MS (По умолчанию: 900000 [15 мин]): Окно ограничения скорости (мс).
  • RATE_LIMIT_MAX_REQUESTS (по умолчанию: 200 ): Максимальное количество запросов на окно.
  • TOOL_TIMEOUT_MS (По умолчанию: 60000 [1 мин]): Время ожидания выполнения инструмента (мс).

🛠️ Инструменты

ИнструментОписаниеПараметры
obsidian_list_files_in_vaultПеречисляет все файлы и каталоги в корне вашего хранилища Obsidian. Возвращает иерархическую структуру, детализирующую файлы, папки и их типы.Никто
obsidian_list_files_in_dirПеречисляет файлы и каталоги в определенной папке в вашем хранилище Obsidian. Возвращает иерархическую структуру. Примечание: пустые каталоги могут не быть включены в результаты. Полезно для изучения организации хранилища.dirpath* : Путь к списку файлов (относительно корня хранилища). Обратите внимание, что пустые каталоги не будут возвращены.
obsidian_get_file_contentsИзвлекает полное содержимое указанного файла в вашем хранилище Obsidian. Поддерживает различные читаемые форматы файлов.filepath* : Путь к соответствующему файлу (относительно корня вашего хранилища).
obsidian_append_contentДобавляет предоставленное содержимое в конец указанного файла в хранилище. Если файл не существует, он будет создан.filepath* : Путь к файлу (относительно корня хранилища) content* : Содержимое для добавления к файлу
obsidian_update_contentПерезаписывает все содержимое указанного файла в хранилище предоставленным содержимым. Если файл не существует, он будет создан.filepath* : Путь к файлу (относительно корня хранилища) content* : Новое, полное содержимое файла (перезаписывает существующее содержимое).
obsidian_find_in_fileВыполняет полнотекстовый поиск по всем файлам в вашем хранилище Obsidian. Возвращает соответствующие файлы с контекстом вокруг каждого совпадения. Если совпадает более 5 файлов, возвращаются только имена файлов и количество совпадений, чтобы избежать избыточного вывода. Идеально подходит для поиска определенного текста, тегов или шаблонов.query* : Текстовый шаблон для поиска. Может включать теги, ключевые слова или фразы. contextLength : Количество символов, окружающих каждое совпадение, для предоставления контекста (по умолчанию: 10).
obsidian_complex_searchНаходит файлы на основе шаблонов путей с использованием запросов JsonLogic. В первую очередь поддерживает glob для сопоставления с шаблоном (например, '*.md') и var для доступа к переменной 'path'. Примечание: для поиска по содержимому (полный текст, теги внутри содержимого, даты) используйте obsidian_find_in_file .query* : Объект запроса JsonLogic, нацеленный на пути к файлам. Пример: {"glob": ["*.md", {"var": "path"}]} соответствует всем файлам markdown.
obsidian_get_tagsИзвлекает все теги, определенные в YAML frontmatter файлов markdown в вашем хранилище Obsidian, вместе с их счетчиками использования и соответствующими путями к файлам. При желании можно ограничить поиск определенной папкой.path : Необязательный путь к папке (относительно корня хранилища) для ограничения поиска по тегам.
obsidian_get_propertiesИзвлекает свойства (например, заголовок, теги, статус) из YAML frontmatter указанной заметки Obsidian. Возвращает все определенные свойства, включая любые пользовательские поля.filepath* : Путь к файлу заметки (относительно корня хранилища)
obsidian_update_propertiesОбновляет свойства в YAML frontmatter указанной заметки Obsidian. По умолчанию свойства массива (такие как теги, тип, статус) объединяются; используйте опцию «replace», чтобы перезаписать их. Обрабатывает пользовательские поля и автоматически управляет временными метками. См. схему для поддерживаемых стандартных полей (название, автор, теги, статус и т. д.).filepath* : Путь к файлу заметки (относительно корня хранилища) properties* : Свойства для обновления replace : Если true, свойства массива (например, теги, статус) будут полностью заменены предоставленными значениями вместо объединения с существующими значениями. По умолчанию false (объединение).

🔗 Ресурсы

РесурсОписаниеВозвраты
обсидиан://тегиСписок всех тегов, используемых в хранилище Obsidian, с указанием количества их использований.приложение/json

📁 Структура проекта

Проект имеет модульную архитектуру с четким разделением задач:

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

👥 Вклад

  1. Форк репозитория
  2. Создать ветку функций
  3. Отправить запрос на извлечение

Для сообщений об ошибках и функциях создайте запрос по адресу https://github.com/cyanheads/obsidian-mcp-server/issues .

📄 Лицензия

Лицензия 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.

Обеспечивает взаимодействие между LLM и хранилищами Obsidian через протокол контекста модели, поддерживая безопасные операции с файлами, управление контентом и расширенные возможности поиска.

  1. 📋 Содержание
    1. ✨ Особенности
      1. 🚀 Установка
        1. Вариант 1: Клонировать и собрать (для разработки или прямого использования)
        2. Вариант 2: Установка через npm (как зависимость или глобально)
      2. ⚙️ Конфигурация
        1. 🛠️ Инструменты
          1. 🔗 Ресурсы
            1. 📁 Структура проекта
              1. 👥 Вклад
                1. 📄 Лицензия

                  Related MCP Servers

                  • -
                    security
                    A
                    license
                    -
                    quality
                    A comprehensive toolkit that enhances LLM capabilities through the Model Context Protocol, allowing LLMs to interact with external services including command-line operations, file management, Figma integration, and audio processing.
                    Last updated -
                    22
                    Python
                    Apache 2.0
                    • Linux
                    • Apple
                  • A
                    security
                    A
                    license
                    A
                    quality
                    Connects Obsidian vaults stored in iCloud Drive to AI models via the Model Context Protocol, allowing AI assistants to access and interact with your Obsidian notes.
                    Last updated -
                    12
                    328
                    2
                    TypeScript
                    MIT License
                    • Apple
                    • Linux
                  • A
                    security
                    A
                    license
                    A
                    quality
                    A Model Context Protocol server that enables AI assistants like Claude to interact with your Obsidian vault through the Local REST API plugin, allowing reading, creating, searching, and managing notes.
                    Last updated -
                    19
                    18
                    Python
                    MIT License
                    • Apple
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Model Context Protocol server that provides comprehensive access to Obsidian vaults with Claude.ai remote integration, Tailscale support, and advanced query capabilities.
                    Last updated -
                    202
                    4
                    TypeScript
                    Apache 2.0

                  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