Integrations
Enables AI models to interact with Obsidian vaults through a standardized interface, providing file operations, search capabilities, and property management for knowledge bases in Obsidian
Сервер 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.
- Клонируйте репозиторий, установите зависимости и соберите проект:Copy
- Настройте сервер с помощью переменных среды (см. раздел «Конфигурация» ниже).
- Настройте параметры клиента MCP (например,
claude_desktop_config.json
илиcline_mcp_settings.json
), чтобы включить сервер. Подробности см. в разделе «Конфигурация».
Вариант 2: Установка через npm (как зависимость или глобально)
- Включите плагин Local REST API в Obsidian.
- Установите пакет с помощью npm:Copy
- Настройте параметры клиента 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
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Обеспечивает взаимодействие между LLM и хранилищами Obsidian через протокол контекста модели, поддерживая безопасные операции с файлами, управление контентом и расширенные возможности поиска.
- 📋 Содержание
- ✨ Особенности
- 🚀 Установка
- ⚙️ Конфигурация
- 🛠️ Инструменты
- 🔗 Ресурсы
- 📁 Структура проекта
- 👥 Вклад
- 📄 Лицензия
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA 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 -1053PythonMIT License
- AsecurityAlicenseAqualityAdds 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 -9254JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server enabling LLMs to search, retrieve, and manage documents through Rememberizer's knowledge management API.Last updated -19PythonApache 2.0
- -securityAlicense-qualityA Model Context Protocol server that enables AI assistants to read, write, and manipulate notes in your Obsidian vault through a standardized interface.Last updated -598TypeScriptISC License