Skip to main content
Glama
ubahmapk

obsidian-mcp

by ubahmapk

obsidian-mcp (Python)

Ein Python-MCP-Server (Model Context Protocol), der einem LLM-Client (z. B. Claude Desktop) Lese-/Schreibzugriff auf lokale Obsidian-Vaults gewährt – über direkten Dateisystemzugriff – ohne Obsidian-Local-REST-API-Plugin, ohne HTTP, ohne erforderliches Authentifizierungstoken.

Dies ist ein Python-Port von obsidian-mcp (TypeScript), funktional äquivalent mit einigen bewussten Korrekturen und Vereinfachungen – siehe Plans/review-the-typescript-obsidian-mcp-parsed-shamir.md und ISA.md für die vollständige Begründung.

Warnung: Dieser Server hat Lese-/Schreibzugriff auf Ihren Vault. Sichern Sie Ihre Notizen (z. B. per git), bevor Sie ihn verwenden.

Anforderungen

  • Python 3.11+

  • uv

  • Ein Obsidian-Vault (ein Verzeichnis, das mindestens einmal mit Obsidian geöffnet wurde, d. h. eine .obsidian/app.json enthält)

  • macOS oder Linux (Windows wird nicht unterstützt – siehe ISA „Out of Scope")

Related MCP server: Obsidian MCP Server

Installation & Ausführung

uv sync
uv run obsidian-mcp /path/to/your/vault [/path/to/another/vault ...]

Vault-Namen werden automatisch aus dem Basisnamen jedes Verzeichnisses abgeleitet (in Kleinbuchstaben, nicht-alphanumerische Zeichen werden zu Bindestrichen, Duplikate erhalten ein numerisches Suffix). Bis zu 10 Vaults; Vault-Pfade dürfen nicht ineinander verschachtelt sein.

Claude-Desktop-Konfiguration

Bearbeiten Sie claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "obsidian": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/py-obsidian-mcp", "obsidian-mcp", "/path/to/your/vault"]
    }
  }
}

Tools

read-note, create-note, edit-note (anhängen/voranstellen/ersetzen/löschen), delete-note (standardmäßig Soft-Delete in .trash/), move-note, create-directory, search-vault (Inhalts-/Dateinamen-/Tag-Suche, mit optionalem max_results), add-tags, remove-tags, rename-tag (vaultweit, hierarchieerhaltend), list-available-vaults.

Stellt außerdem ein obsidian-vault://-Ressourcenschema (Vault-Auflistung/-Informationen) und einen list-vaults-Prompt bereit.

Entwicklung

uv sync --all-extras
uv run pytest -q
uv run ruff check src tests

Sicherheitshinweise

  • Jedes Tool validiert, dass Zielpfade innerhalb des Vaults bleiben (src/obsidian_mcp/utils/path_safety.py), einschließlich symlink-bewusster Containment-Prüfungen.

  • Das TypeScript-Original hatte einen bestätigten Fehler, bei dem diese Containment-Prüfung praktisch wirkungslos war (eine asynchrone Validierungsfunktion wurde ohne await aufgerufen). Die Pfadsicherheitsfunktionen dieses Ports sind alle synchron, wodurch diese Fehlerklasse strukturell verhindert wird.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables direct file system access to Obsidian vaults with auto-discovery, full-text search, and note operations. Supports reading, writing, and searching across Obsidian notes without requiring plugins or REST API.
    6
    2,784 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Obsidian vaults through direct filesystem access, supporting note management, lightning-fast search with SQLite indexing, image analysis, tag/link management, and bulk operations.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to interact with local Obsidian vaults through direct filesystem access for reading, creating, and managing notes. It features high-performance SQLite indexing for fast searches, regex support, and tools for organizing tags and links without requiring additional plugins.
    27
    1
    MIT