Сервер 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: Клонировать и собрать (для разработки или прямого использования)
- Включите плагин Local REST API в Obsidian.
- Клонируйте репозиторий, установите зависимости и соберите проект:
- Настройте сервер с помощью переменных среды (см. раздел «Конфигурация» ниже).
- Настройте параметры клиента MCP (например,
claude_desktop_config.json
илиcline_mcp_settings.json
), чтобы включить сервер. Подробности см. в разделе «Конфигурация».
Вариант 2: Установка через npm (как зависимость или глобально)
- Включите плагин Local REST API в Obsidian.
- Установите пакет с помощью npm:
- Настройте параметры клиента MCP (например,
claude_desktop_config.json
илиcline_mcp_settings.json
), чтобы включить сервер. Подробности см. в разделе «Конфигурация».
⚙️ Конфигурация
Добавьте в настройки клиента MCP (например, claude_desktop_config.json
или cline_mcp_settings.json
):
Переменные среды:
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 |
📁 Структура проекта
Проект имеет модульную архитектуру с четким разделением задач:
👥 Вклад
- Форк репозитория
- Создать ветку функций
- Отправить запрос на извлечение
Для сообщений об ошибках и функциях создайте запрос по адресу https://github.com/cyanheads/obsidian-mcp-server/issues .
📄 Лицензия
Лицензия Apache 2.0
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Обеспечивает взаимодействие между LLM и хранилищами Obsidian через протокол контекста модели, поддерживая безопасные операции с файлами, управление контентом и расширенные возможности поиска.
- 📋 Содержание
- ✨ Особенности
- 🚀 Установка
- ⚙️ Конфигурация
- 🛠️ Инструменты
- 🔗 Ресурсы
- 📁 Структура проекта
- 👥 Вклад
- 📄 Лицензия
Related Resources
Related MCP Servers
- -securityAlicense-qualityA 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 -22PythonApache 2.0
- AsecurityAlicenseAqualityConnects 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 -123282TypeScriptMIT License
- AsecurityAlicenseAqualityA 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 -1918PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that provides comprehensive access to Obsidian vaults with Claude.ai remote integration, Tailscale support, and advanced query capabilities.Last updated -2024TypeScriptApache 2.0