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 Server
Ein Model Context Protocol-Server, der für die Interaktion von LLMs mit Obsidian-Tresoren entwickelt wurde. Erstellt mit TypeScript und mit sicherer API-Kommunikation, effizienten Dateioperationen und umfassenden Suchfunktionen ermöglicht er KI-Assistenten die nahtlose Verwaltung von Wissensdatenbanken über eine übersichtliche, flexible Tool-Oberfläche.
Das Model Context Protocol (MCP) ermöglicht KI-Modellen die Interaktion mit externen Tools und Ressourcen über eine standardisierte Schnittstelle.
Erfordert das lokale REST-API-Plugin in Obsidian.
📋 Inhaltsverzeichnis
Funktionen | Installation | Konfiguration | Werkzeuge | Ressourcen | Projektstruktur | Mitwirken | Veröffentlichen | Lizenz
✨ Funktionen
- Dateioperationen : Atomare Datei-/Verzeichnisoperationen mit Validierung, Ressourcenüberwachung und Fehlerbehandlung.
- Suchsystem : Volltextsuche mit konfigurierbarem Kontext, erweiterten JsonLogic-Abfragen, Glob-Mustern und Unterstützung für Frontmatter-Felder.
- Immobilienverwaltung : YAML-Frontmatter-Parsing, intelligentes Zusammenführen, automatische Zeitstempel und Unterstützung für benutzerdefinierte Felder.
- Sicherheit und Leistung : API-Schlüsselauthentifizierung, Ratenbegrenzung, SSL-Optionen, Ressourcenüberwachung und ordnungsgemäßes Herunterfahren.
🚀 Installation
Hinweis: Erfordert Node.js und das in Obsidian aktivierte lokale REST-API-Plugin .
Option 1: Klonen und Erstellen (für die Entwicklung oder den direkten Gebrauch)
- Aktivieren Sie das lokale REST-API-Plugin in Obsidian.
- Klonen Sie das Repository, installieren Sie Abhängigkeiten und erstellen Sie das Projekt:Copy
- Konfigurieren Sie den Server mithilfe von Umgebungsvariablen (siehe Abschnitt „Konfiguration“ weiter unten).
- Konfigurieren Sie Ihre MCP-Clienteinstellungen (z. B.
claude_desktop_config.json
odercline_mcp_settings.json
), um den Server einzubeziehen. Weitere Informationen finden Sie im Abschnitt „Konfiguration“.
Option 2: Installation über npm (als Abhängigkeit oder global)
- Aktivieren Sie das lokale REST-API-Plugin in Obsidian.
- Installieren Sie das Paket mit npm:Copy
- Konfigurieren Sie Ihre MCP-Clienteinstellungen (z. B.
claude_desktop_config.json
odercline_mcp_settings.json
), um den Server einzubeziehen. Weitere Informationen finden Sie im Abschnitt „Konfiguration“.
⚙️ Konfiguration
Fügen Sie zu Ihren MCP-Clienteinstellungen hinzu (z. B. claude_desktop_config.json
oder cline_mcp_settings.json
):
Umgebungsvariablen:
OBSIDIAN_API_KEY
(Erforderlich): Ihr API-Schlüssel aus den Einstellungen des lokalen REST-API-Plugins von Obsidian.VERIFY_SSL
(Standard:false
): SSL-Verifizierung aktivieren. Für selbstsignierte Zertifikate oder die lokale Verwendung auffalse
setzen.OBSIDIAN_PROTOCOL
(Standard:"https"
): Protokoll (http
oderhttps
).OBSIDIAN_HOST
(Standard:"127.0.0.1"
): Hostadresse.OBSIDIAN_PORT
(Standard:27124
): Portnummer.REQUEST_TIMEOUT
(Standard:5000
): Anforderungs-Timeout (ms).MAX_CONTENT_LENGTH
(Standard:52428800
[50 MB]): Maximale Länge des Antwortinhalts (Bytes).MAX_BODY_LENGTH
(Standard:52428800
[50 MB]): Maximale Länge des Anforderungstexts (Bytes).RATE_LIMIT_WINDOW_MS
(Standard:900000
[15 Min.]): Ratenbegrenzungsfenster (ms).RATE_LIMIT_MAX_REQUESTS
(Standard:200
): Maximale Anfragen pro Fenster.TOOL_TIMEOUT_MS
(Standard:60000
[1 min]): Timeout der Tool-Ausführung (ms).
🛠️ Werkzeuge
Werkzeug | Beschreibung | Parameter |
---|---|---|
obsidian_list_files_in_vault | Listet alle Dateien und Verzeichnisse im Stammverzeichnis Ihres Obsidian-Tresors auf. Gibt eine hierarchische Struktur mit detaillierten Angaben zu Dateien, Ordnern und deren Typen zurück. | Keiner |
obsidian_list_files_in_dir | Listet Dateien und Verzeichnisse in einem bestimmten Ordner in Ihrem Obsidian-Tresor auf. Gibt eine hierarchische Struktur zurück. Hinweis: Leere Verzeichnisse werden möglicherweise nicht in die Ergebnisse aufgenommen. Nützlich für die Erkundung der Tresororganisation. | dirpath* : Pfad zum Auflisten der Dateien (relativ zum Stammverzeichnis des Tresors). Beachten Sie, dass leere Verzeichnisse nicht zurückgegeben werden. |
obsidian_get_file_contents | Ruft den vollständigen Inhalt einer angegebenen Datei in Ihrem Obsidian-Tresor ab. Unterstützt verschiedene lesbare Dateiformate. | filepath* : Pfad zur relevanten Datei (relativ zu Ihrem Tresorstamm). |
obsidian_append_content | Fügt den bereitgestellten Inhalt an das Ende einer angegebenen Datei im Tresor an. Falls die Datei nicht vorhanden ist, wird sie erstellt. | filepath* : Pfad zur Datei (relativ zum Stammverzeichnis des Tresors) content* : Inhalt, der an die Datei angehängt werden soll |
obsidian_update_content | Überschreibt den gesamten Inhalt einer angegebenen Datei im Tresor mit dem bereitgestellten Inhalt. Falls die Datei nicht vorhanden ist, wird sie erstellt. | filepath* : Pfad zur Datei (relativ zum Tresorstammverzeichnis) content* : Der neue, vollständige Inhalt der Datei (überschreibt vorhandenen Inhalt). |
obsidian_find_in_file | Führt eine Volltextsuche in allen Dateien Ihres Obsidian-Speichers durch. Gibt passende Dateien mit Kontext zu jedem Treffer zurück. Bei mehr als fünf übereinstimmenden Dateien werden nur Dateinamen und Trefferanzahl zurückgegeben, um übermäßige Ausgaben zu vermeiden. Ideal zum Auffinden von bestimmtem Text, Tags oder Mustern. | query* : Zu suchendes Textmuster. Kann Tags, Schlüsselwörter oder Ausdrücke enthalten. contextLength : Anzahl der Zeichen, die jede Übereinstimmung umgeben, um Kontext bereitzustellen (Standard: 10). |
Obsidiankomplexsuche | Findet Dateien anhand von Pfadmustern mithilfe von JsonLogic-Abfragen. Unterstützt hauptsächlich glob für Musterabgleich (z. B. „*.md“) und var für den Zugriff auf die Variable „path“. Hinweis: Für inhaltsbasierte Suchen (Volltext, Tags im Inhalt, Datum) verwenden Sie obsidian_find_in_file . | query* : Ein JsonLogic-Abfrageobjekt, das auf Dateipfade abzielt. Beispiel: {"glob": ["*.md", {"var": "path"}]} findet alle Markdown-Dateien. |
obsidian_get_tags | Ruft alle im YAML-Frontmatter der Markdown-Dateien in Ihrem Obsidian-Tresor definierten Tags zusammen mit deren Verwendungszahlen und den zugehörigen Dateipfaden ab. Optional können Sie die Suche auf einen bestimmten Ordner beschränken. | path : Optionaler Ordnerpfad (relativ zum Tresorstamm), um die Tag-Suche einzuschränken. |
obsidian_get_properties | Ruft Eigenschaften (wie Titel, Tags, Status) aus dem YAML-Frontmatter einer angegebenen Obsidian-Notiz ab. Gibt alle definierten Eigenschaften zurück, einschließlich aller benutzerdefinierten Felder. | filepath* : Pfad zur Notizdatei (relativ zum Tresorstamm) |
obsidian_update_properties | Aktualisiert Eigenschaften im YAML-Frontmatter einer angegebenen Obsidian-Notiz. Standardmäßig werden Array-Eigenschaften (wie Tags, Typ, Status) zusammengeführt. Verwenden Sie stattdessen die Option „Ersetzen“, um sie zu überschreiben. Benutzerdefinierte Felder und Zeitstempel werden automatisch verwaltet. Siehe Schema für unterstützte Standardfelder (Titel, Autor, Tags, Status usw.). | filepath* : Pfad zur Notizdatei (relativ zum Stammverzeichnis des Tresors) properties* : Zu aktualisierende Eigenschaften replace : Wenn „true“, werden Array-Eigenschaften (wie Tags, Status) vollständig durch die angegebenen Werte ersetzt, anstatt mit vorhandenen Werten zusammengeführt zu werden. Standardmäßig „false“ (zusammenführen). |
🔗 Ressourcen
Ressource | Beschreibung | Rückgaben |
---|---|---|
Obsidian://Tags | Liste aller im Obsidian-Tresor verwendeten Tags mit ihren Nutzungszahlen | Anwendung/JSON |
📁 Projektstruktur
Das Projekt folgt einer modularen Architektur mit klarer Trennung der Belange:
👥 Beitragen
- Forken Sie das Repository
- Erstellen eines Feature-Zweigs
- Senden einer Pull-Anfrage
Erstellen Sie für Fehler und Funktionen ein Problem unter https://github.com/cyanheads/obsidian-mcp-server/issues .
📄 Lizenz
Apache-Lizenz 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
Ermöglicht die Interaktion zwischen LLMs und Obsidian-Tresoren über das Model Context Protocol und unterstützt sichere Dateivorgänge, Inhaltsverwaltung und erweiterte Suchfunktionen.
- 📋 Inhaltsverzeichnis
- ✨ Funktionen
- 🚀 Installation
- ⚙️ Konfiguration
- 🛠️ Werkzeuge
- 🔗 Ressourcen
- 📁 Projektstruktur
- 👥 Beitragen
- 📄 Lizenz
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