Skip to main content
Glama

Obsidian MCP Server

Apache 2.0
181
215
  • Apple
  • Linux

Сервер Obsidian MCP

Машинопись Модель контекстного протокола ВерсияСтатус GitHub

Сервер 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

Лицензия 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 -
                    25
                    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
                    228
                    2
                    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.
                  • -
                    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 -
                    181
                    6
                    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