Obsidian MCP Server

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: Клонировать и собрать (для разработки или прямого использования)

  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

local-only server

The server can only run on the client's local machine because it depends on local resources.

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

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

                  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
                    53
                    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 -
                    19
                    Python
                    Apache 2.0
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Model Context Protocol server that enables AI assistants to read, write, and manipulate notes in your Obsidian vault through a standardized interface.
                    Last updated -
                    598
                    TypeScript
                    ISC License

                  View all related MCP servers

                  ID: syuh40cxyk