Skip to main content
Glama
Alexandre1116

Obsidian Vault API

Obsidian Vault API — Docker

Docker-совместимая версия Obsidian Vault API. Предоставляет доступ к вашему хранилищу Obsidian как MCP-сервер — без необходимости в десктопном приложении Obsidian. Работает круглосуточно на любом сервере или NAS.

Оригинальный плагин работает внутри Obsidian и использует Obsidian API + Canvas из Electron для обработки изображений. Эта версия работает как отдельный процесс Node.js в Docker, используя прямые операции fs и sharp для изменения размера изображений. Все 13 MCP-инструментов из оригинала сохранены.

Быстрый старт

docker-compose (рекомендуется)

services:
  vault-api:
    build: .
    container_name: obsidian-vault-api
    restart: unless-stopped
    ports:
      - "2768:2768"
    volumes:
      - /path/to/your/vault:/vault
      - vault-api-data:/data
    environment:
      - VAULT_API_KEY=your-secret-key-here

volumes:
  vault-api-data:
docker compose up -d

docker run

docker run -d \
  --name obsidian-vault-api \
  -p 2768:2768 \
  -v /path/to/your/vault:/vault \
  -v vault-api-data:/data \
  -e VAULT_API_KEY=your-secret-key-here \
  ghcr.io/alexandre1116/obsidian-vault-api-docker:latest

Веб-интерфейс

После запуска контейнера откройте браузер и перейдите по адресу:

http://localhost:2768/

Панель управления позволяет:

  • Просматривать статус сервера (запущен/остановлен, порт, имя хранилища)

  • Изменять конфигурацию (порт, адрес привязки, разрешённые команды) — изменения сохраняются в /data/config.json и сохраняются между перезапусками

  • Перегенерировать API-ключ — создаёт новый секрет, требует переподключения клиентов

  • Перезапускать / останавливать MCP-сервер без остановки контейнера

  • Копировать информацию для подключения — SSE URL, JSON-конфигурация Claude Desktop, API-ключ

Сам веб-интерфейс не требует аутентификации (это страница конфигурации). MCP-эндпоинты (/sse, /message, /raw) требуют API-ключ.

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

Конфигурация хранится в /data/config.json и сохраняется между перезапусками контейнера. Переменные окружения действуют как первоначальные переопределения при первом запуске — после этого файл конфигурации является источником истины.

Переменная

По умолчанию

Описание

VAULT_PATH

/vault

Путь к каталогу хранилища внутри контейнера

DATA_DIR

/data

Путь для постоянного файла конфигурации

VAULT_API_PORT

2768

Порт для прослушивания

VAULT_API_BIND

0.0.0.0

Адрес привязки (0.0.0.0 для Docker / сетевого доступа)

VAULT_API_KEY

(авто-генерация)

API-ключ для аутентификации MCP. Если пусто, генерируется и сохраняется

VAULT_API_ALLOWED_COMMANDS

*

Glob-шаблоны для разрешённых shell-команд (через запятую). * = все

VAULT_API_HOST

127.0.0.1:2768

Хост, указываемый в URL изображений (укажите ваш внешний адрес, если за прокси)

Подключение вашего AI-клиента

LM Studio / Open WebUI / любой MCP-клиент с поддержкой SSE

Добавьте URL MCP-сервера:

http://localhost:2768/sse?key=YOUR_API_KEY

Claude Desktop

Добавьте в claude_desktop_config.json:

{
  "mcpServers": {
    "obsidian": {
      "url": "http://localhost:2768/sse?key=YOUR_API_KEY"
    }
  }
}

Или скопируйте JSON напрямую из панели веб-интерфейса.

Аутентификация

Либо:

  • Параметр запроса: ?key=YOUR_API_KEY

  • HTTP-заголовок: X-Api-Key: YOUR_API_KEY

Доступные инструменты

Инструмент

Описание

list_files

Список файлов хранилища — фильтрация по папке или расширению

read_file

Чтение текстовых файлов, просмотр изображений, получение бинарных данных в base64

write_file

Создание или обновление текстового файла

write_binary

Создание или перезапись бинарного файла из данных base64

append_file

Добавление текста в существующий файл

delete_file

Удаление файла

read_frontmatter

Чтение YAML-фронтматтера в виде разобранных пар ключ-значение

update_frontmatter

Установка, обновление или удаление полей фронтматтера

create_folder

Создание новой папки

delete_folder

Удаление папки

rename_folder

Переименование или перемещение папки

search

Поиск по ключевым словам в именах файлов и содержимом

run_local_command

Выполнение shell-команды внутри контейнера в каталоге хранилища

Поддержка изображений

Большие изображения автоматически изменяются с помощью sharp (чистый Node.js, без Electron):

Размер файла

Максимальный размер

Формат

<= 4 MB

Оригинал

Как есть

4–20 MB

1024 px

JPEG 85%

20–100 MB

800 px

JPEG 85%

> 100 MB

512 px

JPEG 85%

NFS / Сетевые монтирования

Сервер читает файлы напрямую из файловой системы при каждом вызове инструмента — без кэширования. NFS-монтирования работают в реальном времени:

volumes:
  - nfs-vault:/vault

volumes:
  nfs-vault:
    driver: local
    driver_opts:
      type: nfs
      device: ":/path/on/nfs"
      o: addr=10.0.0.1,nfsvers=4

Проверка состояния

curl http://localhost:2768/health

Публично возвращает { "status": "ok", "version": "1.1.0" }. Аутентифицированные запросы также возвращают vault, port и sessions.

Сборка из исходников

git clone https://github.com/Alexandre1116/Obsidian-Vault-API-Docker
cd Obsidian-Vault-API-Docker
docker compose build
docker compose up -d

Или без Docker:

npm install
npm run build
VAULT_PATH=/path/to/vault VAULT_API_KEY=secret npm start

Отличия от оригинального плагина

Оригинал (плагин Obsidian)

Версия Docker

Среда выполнения

Внутри десктопного приложения Obsidian

Отдельный Node.js в Docker

Доступ к файлам

Obsidian Vault API (app.vault)

Node.js fs

Изменение размера изображений

Electron Canvas API

sharp (нативный, без зависимости от GUI)

Удаление файлов

Системная корзина (восстановимо)

Безвозвратное удаление

Интерфейс настроек

Вкладка настроек Obsidian

Веб-интерфейс по адресу http://host:2768/

Хранение конфигурации

Данные плагина Obsidian

/data/config.json (том Docker)

Адрес привязки

только 127.0.0.1

Настраиваемый (0.0.0.0 по умолчанию)

Bridge.js / конфигурация Claude

Автоматически записывается плагином

Копируется из веб-интерфейса

Лицензия

CC BY-NC-SA 4.0 — та же, что и у оригинального проекта.

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.

  • Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.

  • Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.

View all MCP Connectors

Latest Blog Posts

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/Alexandre1116/Obsidian-Vault-API-Docker'

If you have feedback or need assistance with the MCP directory API, please join our Discord server