Skip to main content
Glama
Alexandre1116

Obsidian Vault API

Obsidian Vault API — Docker

Docker-kompatible Version von Obsidian Vault API. Stellt Ihren Obsidian-Vault als MCP-Server bereit – keine Obsidian-Desktop-App erforderlich. Läuft 24/7 auf jedem Server oder NAS.

Das ursprüngliche Plugin läuft in Obsidian und nutzt die Obsidian-API + die Canvas-API von Electron zur Bildverarbeitung. Diese Version läuft als eigenständiger Node.js-Prozess in Docker und verwendet direkte fs-Operationen sowie sharp zum Ändern der Bildgröße. Alle 13 MCP-Tools des Originals bleiben erhalten.

Schnellstart

docker-compose (empfohlen)

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

Web-UI

Nach dem Starten des Containers öffnen Sie Ihren Browser und gehen Sie zu:

http://localhost:2768/

Das Dashboard ermöglicht Ihnen:

  • Serverstatus anzeigen (läuft/gestoppt, Port, Vault-Name)

  • Konfiguration bearbeiten (Port, Bind-Adresse, erlaubte Befehle) — Änderungen werden in /data/config.json gespeichert und bleiben über Neustarts hinweg erhalten

  • API-Schlüssel neu generieren — erzeugt ein neues Geheimnis; Clients müssen sich neu verbinden

  • MCP-Server neu starten / stoppen, ohne den Container zu stoppen

  • Verbindungsinformationen kopieren — SSE-URL, Claude Desktop JSON-Konfiguration, API-Schlüssel

Die Web-UI selbst erfordert keine Authentifizierung (es ist die Konfigurationsseite). Die MCP-Endpunkte (/sse, /message, /raw) erfordern den API-Schlüssel.

Konfiguration

Die Konfiguration wird in /data/config.json gespeichert und bleibt über Container-Neustarts hinweg erhalten. Umgebungsvariablen dienen beim ersten Start als anfängliche Überschreibungen – danach ist die Konfigurationsdatei die maßgebliche Quelle.

Variable

Standard

Beschreibung

VAULT_PATH

/vault

Pfad zum Vault-Verzeichnis im Container

DATA_DIR

/data

Pfad für die persistente Konfigurationsdatei

VAULT_API_PORT

2768

Port, auf dem der Server lauscht

VAULT_API_BIND

0.0.0.0

Bind-Adresse (0.0.0.0 für Docker / Netzwerkzugriff)

VAULT_API_KEY

(automatisch generiert)

API-Schlüssel für die MCP-Authentifizierung. Wenn leer, wird einer generiert und gespeichert

VAULT_API_ALLOWED_COMMANDS

*

Glob-Muster für erlaubte Shell-Befehle (kommagetrennt). * = alle

VAULT_API_HOST

127.0.0.1:2768

Host, der in Bild-URLs angegeben wird (auf Ihre externe Adresse setzen, wenn Sie hinter einem Proxy liegen)

Ihren KI-Client verbinden

LM Studio / Open WebUI / Jeder MCP-Client mit SSE-Unterstützung

Fügen Sie die MCP-Server-URL hinzu:

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

Claude Desktop

Fügen Sie Folgendes zu claude_desktop_config.json hinzu:

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

Oder kopieren Sie das JSON direkt aus dem Web-UI-Dashboard.

Authentifizierung

Entweder:

  • Query-Parameter: ?key=YOUR_API_KEY

  • HTTP-Header: X-Api-Key: YOUR_API_KEY

Verfügbare Tools

Tool

Beschreibung

list_files

Vault-Dateien auflisten – nach Ordner oder Erweiterung filtern

read_file

Textdateien lesen, Bilder anzeigen, Binärdaten als base64 abrufen

write_file

Eine Textdatei erstellen oder aktualisieren

write_binary

Eine Binärdatei aus base64-Daten erstellen oder überschreiben

append_file

Text an eine vorhandene Datei anhängen

delete_file

Eine Datei löschen

read_frontmatter

YAML-Frontmatter als geparste Schlüssel-Wert-Paare lesen

update_frontmatter

Frontmatter-Felder setzen, aktualisieren oder löschen

create_folder

Einen neuen Ordner erstellen

delete_folder

Einen Ordner löschen

rename_folder

Einen Ordner umbenennen oder verschieben

search

Stichwortsuche über Dateinamen und Inhalt

run_local_command

Einen Shell-Befehl innerhalb des Containers im Vault-Verzeichnis ausführen

Bildunterstützung

Große Bilder werden automatisch mit sharp in der Größe angepasst (reines Node.js, kein Electron):

Dateigröße

Maximale Abmessung

Format

<= 4 MB

Original

Unverändert

4–20 MB

1024 px

JPEG 85%

20–100 MB

800 px

JPEG 85%

> 100 MB

512 px

JPEG 85%

NFS / Netzwerk-Mounts

Der Server liest Dateien bei jedem Tool-Aufruf frisch vom Dateisystem – kein Caching. NFS-Mounts funktionieren in Echtzeit:

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

Gesundheitscheck

curl http://localhost:2768/health

Gibt öffentlich { "status": "ok", "version": "1.1.0" } zurück. Authentifizierte Anfragen geben zusätzlich vault, port und sessions zurück.

Aus dem Quellcode erstellen

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

Oder ohne Docker:

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

Unterschiede zum ursprünglichen Plugin

Original (Obsidian-Plugin)

Docker-Version

Laufzeit

In der Obsidian-Desktop-App

Eigenständiges Node.js in Docker

Dateizugriff

Obsidian Vault API (app.vault)

Node.js fs

Bildgrößenänderung

Electron-Canvas-API

sharp (nativ, keine GUI-Abhängigkeit)

Dateilöschung

Systempapierkorb (wiederherstellbar)

Endgültiges Löschen

Einstellungs-UI

Obsidian-Einstellungs-Tab

Web-UI unter http://host:2768/

Konfigurationsspeicherung

Obsidian-Plugin-Daten

/data/config.json (Docker-Volume)

Bind-Adresse

nur 127.0.0.1

Konfigurierbar (standardmäßig 0.0.0.0)

Bridge.js / Claude-Konfiguration

Automatisch vom Plugin geschrieben

Aus der Web-UI kopieren

Lizenz

CC BY-NC-SA 4.0 — wie beim ursprünglichen Projekt.

-
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