Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Zettelkasten Server

FreeNot checked

Provides Claude with structured access to a Zettelkasten note system, enabling querying, analyzing, and reorganizing notes via 12 tools built on the tools4zette

GitHubEmbed

About

Provides Claude with structured access to a Zettelkasten note system, enabling querying, analyzing, and reorganizing notes via 12 tools built on the tools4zettelkasten library.

README

Dieses Repository implementiert einen Model Context Protocol (MCP) Server, der als Brücke zwischen Claude Desktop / Claude Code und deinem Zettelkasten (basierend auf tools4zettelkasten) fungiert.

Warum dieser MCP Server?

Die Bibliothek tools4zettelkasten bietet mächtige Python-Werkzeuge zur Verwaltung eines Zettelkastens (Dateinamen-Logik, Strukturen, Links). Dieser MCP Server macht diese Werkzeuge für KI-Assistenten wie Claude zugänglich.

Der Nutzen:

  • Direkter Zugriff: Claude kann deinen Zettelkasten nicht nur "sehen" (als Dateien), sondern versteht die Struktur (Verwandte Zettel, Hierarchien).
  • Sichere Manipulation: Statt dass die KI versucht, Dateien 'blind' umzubenennen, nutzt sie die getestete Logik der Bibliothek, um konsistente Dateinamen und IDs zu erzeugen.
  • Komplexe Analysen: Claude kann Fragen beantworten wie "Welche Themen hängen damit zusammen?", indem es die Graphen-Analyse der Bibliothek nutzt.

Architektur

┌─────────────────────────────────────────────────────────────┐
│                 Claude Desktop / Claude Code                │
└─────────────────────┬───────────────────────────────────────┘
                      │ stdio (JSON-RPC)
                      ▼
┌─────────────────────────────────────────────────────────────┐
│                 zettelkasten_mcp/server.py                  │
│  ┌───────────────────────────────────────────────────────┐  │
│  │  MCP Protocol Handler (FastMCP)                       │  │
│  └───────────────────────────────────────────────────────┘  │
│                          │                                  │
│  ┌───────────────────────▼───────────────────────────────┐  │
│  │  12 Tools                                             │  │
│  │  • list_input_files    • search_zettel                │  │
│  │  • stage_file          • get_zettel                   │  │
│  │  • preview_staging     • list_zettel                  │  │
│  │  • get_statistics      • get_links                    │  │
│  │  • find_related        • analyze_structure            │  │
│  │  • preview_reorganize  • execute_reorganize           │  │
│  └───────────────────────────────────────────────────────┘  │
│                          │                                  │
│  ┌───────────────────────▼───────────────────────────────┐  │
│  │  tools4zettelkasten (importlib)                       │  │
│  │  • persistency.PersistencyManager                     │  │
│  │  • handle_filenames                                   │  │
│  │  • reorganize                                         │  │
│  │  • analyse                                            │  │
│  └───────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘
                          │
                          ▼
        ┌─────────────────────────────────────┐
        │  ~/Dropbox/zettelkasten/            │
        │  ├── mycelium/  (567 Zettel)        │
        │  └── input/     (neue Notizen)      │
        └─────────────────────────────────────┘

Projektstruktur

~/Dropbox/zettelkasten_mcp/
├── README.md                    # Diese Datei
├── venv/                        # Python 3.11 Virtual Environment
│   └── bin/python               # Python-Interpreter für MCP
└── zettelkasten_mcp/
    ├── __init__.py
    ├── __main__.py              # Entry point: python -m zettelkasten_mcp
    └── server.py                # MCP Server mit allen Tools

Abhängigkeiten

Python-Version: 3.11+ (MCP erfordert >= 3.10)

Installierte Packages im venv:

  • mcp[cli] - MCP Protocol Library
  • flask, flask-wtf, flask-pagedown - Flask-Abhängigkeiten von tools4zettelkasten
  • graphviz, pyfiglet, inquirerpy, colorama, markdown - Weitere Abhängigkeiten

Externe Abhängigkeit (tools4zettelkasten):

  • Repository: rreben/tools4zettelkasten
  • Beschreibung: Python-Tools für das "Folgezettel"-Prinzip, Verwaltung alphanumerischer Sortierungen und Strukturanalyse.
  • Integration: Dieses Projekt importiert die Bibliothek direkt (via PYTHONPATH), um deren Logik für Parsing und Dateisystem-Operationen zu nutzen.

Konfiguration

Claude Desktop / Claude Code

Datei: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "zettelkasten": {
      "command": "/Users/rupertrebentisch/Dropbox/zettelkasten_mcp/venv/bin/python",
      "args": ["-m", "zettelkasten_mcp"],
      "env": {
        "PYTHONPATH": "/Users/rupertrebentisch/Library/CloudStorage/Dropbox/tools4zettelkasten",
        "TOOLS4ZETTELKASTEN_PATH": "/Users/rupertrebentisch/Library/CloudStorage/Dropbox/tools4zettelkasten",
        "ZETTELKASTEN": "/Users/rupertrebentisch/Dropbox/zettelkasten/mycelium",
        "ZETTELKASTEN_INPUT": "/Users/rupertrebentisch/Dropbox/zettelkasten/input"
      },
      "cwd": "/Users/rupertrebentisch/Dropbox/zettelkasten_mcp"
    }
  }
}

Umgebungsvariablen

Variable Beschreibung Standard
ZETTELKASTEN Pfad zum Hauptordner des Zettelkastens ~/Dropbox/zettelkasten/mycelium
ZETTELKASTEN_INPUT Pfad zum Input-Ordner für neue Notizen ~/Dropbox/zettelkasten/input
TOOLS4ZETTELKASTEN_PATH Pfad zum tools4zettelkasten-Repository ~/Library/CloudStorage/Dropbox/tools4zettelkasten
PYTHONPATH Muss tools4zettelkasten enthalten (wie TOOLS4ZETTELKASTEN_PATH)

Tools-Übersicht

Input-Management

Tool Parameter Beschreibung
list_input_files - Zeigt alle Dateien im Input-Ordner
preview_staging - Vorschau der geplanten Umbenennungen
stage_file filename Benennt eine Datei nach Titel um

Zettelkasten-Abfragen

Tool Parameter Beschreibung
get_zettel identifier (ID oder Filename) Liest einen einzelnen Zettel
search_zettel query, limit=10 Volltextsuche
list_zettel prefix="", limit=50 Listet Zettel (optional nach Topic)
get_statistics - Statistiken über den Zettelkasten

Struktur & Analyse

Tool Parameter Beschreibung
get_links identifier Ein-/ausgehende Links eines Zettels
find_related identifier, limit=5 Verwandte Zettel (Links + Hierarchie)
analyze_structure topic="" Strukturanalyse (Tree + Links)

Reorganisation

Tool Parameter Beschreibung
preview_reorganize - Zeigt geplante Änderungen
execute_reorganize confirm=False Führt Reorganisation durch

Technische Hinweise

Import-Workaround

tools4zettelkasten hat in seiner __init__.py ein from .cli import *, das Click-Commands exportiert und dabei Modulnamen wie reorganize überschreibt. Der MCP-Server umgeht dies durch direkten Import via importlib:

import importlib
ro = importlib.import_module("tools4zettelkasten.reorganize")

Manuelles Testen

cd ~/Dropbox/zettelkasten_mcp

# Server-Import testen
PYTHONPATH="$HOME/Library/CloudStorage/Dropbox/tools4zettelkasten" \
ZETTELKASTEN="$HOME/Dropbox/zettelkasten/mycelium" \
ZETTELKASTEN_INPUT="$HOME/Dropbox/zettelkasten/input" \
./venv/bin/python -c "from zettelkasten_mcp.server import mcp; print('OK')"

# Tools testen
PYTHONPATH="$HOME/Library/CloudStorage/Dropbox/tools4zettelkasten" \
ZETTELKASTEN="$HOME/Dropbox/zettelkasten/mycelium" \
ZETTELKASTEN_INPUT="$HOME/Dropbox/zettelkasten/input" \
./venv/bin/python -c "
from zettelkasten_mcp.server import get_statistics
print(get_statistics())
"

MCP-Status in Claude Code prüfen

claude mcp list

Oder im Chat: /mcp

Deployment-Checkliste

  1. Python 3.11+ installiert? (python3.11 --version)
  2. venv erstellt? (python3.11 -m venv venv)
  3. Dependencies installiert?
    ./venv/bin/pip install "mcp[cli]" flask flask-wtf flask-pagedown \
        graphviz pyfiglet inquirerpy colorama markdown mistune
    
  4. claude_desktop_config.json konfiguriert?
  5. Pfade korrekt? (Dropbox-Symlinks beachten!)
  6. Claude Desktop/Code neu gestartet?

Beispiel-Nutzung

Du: "Was liegt im Input-Ordner?"
Claude: [ruft list_input_files auf]

Du: "Zeige mir den Zettel über Kreativität"
Claude: [ruft search_zettel(query="Kreativität") auf]

Du: "Welche Zettel sind mit 01_001 verwandt?"
Claude: [ruft find_related(identifier="01_001") auf]

Du: "Gib mir Statistiken"
Claude: [ruft get_statistics auf]

Erstellt am: 27. Januar 2026

from github.com/rreben/zettelkasten-mcp

Installing Zettelkasten Server

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/rreben/zettelkasten-mcp

FAQ

Is Zettelkasten Server MCP free?

Yes, Zettelkasten Server MCP is free — one-click install via Unyly at no cost.

Does Zettelkasten Server need an API key?

No, Zettelkasten Server runs without API keys or environment variables.

Is Zettelkasten Server hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Zettelkasten Server in Claude Desktop, Claude Code or Cursor?

Open Zettelkasten Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Zettelkasten Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs