Zettelkasten Server
FreeNot checkedProvides Claude with structured access to a Zettelkasten note system, enabling querying, analyzing, and reorganizing notes via 12 tools built on the tools4zette
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 Libraryflask,flask-wtf,flask-pagedown- Flask-Abhängigkeiten von tools4zettelkastengraphviz,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
- Python 3.11+ installiert? (
python3.11 --version) - venv erstellt? (
python3.11 -m venv venv) - Dependencies installiert?
./venv/bin/pip install "mcp[cli]" flask flask-wtf flask-pagedown \ graphviz pyfiglet inquirerpy colorama markdown mistune - claude_desktop_config.json konfiguriert?
- Pfade korrekt? (Dropbox-Symlinks beachten!)
- 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
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-mcpFAQ
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
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare 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
