DocumentationDokumentation ▼
missionctl Documentationmissionctl-Dokumentation
67 MCP tools across 9 terminal apps. Local-first, no cloud, no subscriptions.67 MCP-Tools über 9 Terminal-Apps. Local-first, keine Cloud, keine Abos.
Getting StartedErste Schritte
InstallationInstallation
Fastest way — install via Homebrew. All 8 tools are free, MIT-licensed, and tapped from one repo:Am schnellsten geht's über Homebrew. Alle 8 Tools sind kostenlos, MIT-lizenziert und aus einem Repo getappt:
brew tap aeon022/tap https://github.com/aeon022/homebrew-tap
brew install aeon022/tap/calctl # repeat for any of: mailctl taskctl notectl budgetctl diaryctl timectl habctlOr clone and build from source. Every repo has a setup.sh that compiles the binary and installs it to ~/.local/bin/:Oder klone und baue aus dem Quellcode. Jedes Repo hat ein setup.sh, das das Binary kompiliert und nach ~/.local/bin/ installiert:
for repo in mailctl calctl taskctl notectl budgetctl diaryctl timectl habctl; do
git clone https://github.com/aeon022/$repo
cd $repo && ./setup.sh && cd ..
doneMake sure ~/.local/bin is on your $PATH:Stelle sicher, dass ~/.local/bin in deinem $PATH ist:
export PATH="$HOME/.local/bin:$PATH"
# add to ~/.zshrc or ~/.bashrcInitial SyncErste Synchronisation
After installing, run the initial sync for each tool to populate the local SQLite cache:Führe nach der Installation für jedes Tool die erste Synchronisation aus, um den lokalen SQLite-Cache zu befüllen:
mailctl sync # Apple Mail → local cache
calctl sync # Apple Calendar → local cache
taskctl sync # Apple Reminders → local cache
notectl sync # Obsidian, Apple Notes, or Joplin → local indexbudgetctl is import-driven — there's no background sync:budgetctl ist importgesteuert — es gibt keine Hintergrund-Synchronisation:
budgetctl import bank.csv --account checkingClaude Desktop ConfigClaude-Desktop-Konfiguration
Add all 9 tools to Claude Desktop in one config block. Edit~/Library/Application Support/Claude/claude_desktop_config.json:Füge alle 9 Tools mit einem Config-Block zu Claude Desktop hinzu. Bearbeite~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mailctl": { "command": "mailctl", "args": ["mcp"] },
"calctl": { "command": "calctl", "args": ["mcp"] },
"taskctl": { "command": "taskctl", "args": ["mcp"] },
"notectl": { "command": "notectl", "args": ["mcp"] },
"budgetctl": { "command": "budgetctl", "args": ["mcp"] },
"diaryctl": { "command": "diaryctl", "args": ["mcp"] },
"timectl": { "command": "timectl", "args": ["mcp"] },
"habctl": { "command": "habctl", "args": ["mcp"] },
"postctl": { "command": "postctl", "args": ["mcp"] }
}
}Restart Claude Desktop. All 67 MCP tools appear automatically in every conversation.Starte Claude Desktop neu. Alle 67 MCP-Tools erscheinen automatisch in jeder Unterhaltung.
Sync Across DevicesSync über mehrere Geräte
By default, each tool keeps its SQLite database in a private directory (~/.local/share/<tool>/ — ~/Library/Application Support/<tool>/ on some tools). That's fine for a single machine. To use the same data on a laptop and a desktop, point a tool's database at a folder you already sync yourself — iCloud Drive, Dropbox, Syncthing — via the data_dir config key or a <TOOL>_DATA_DIR environment variable. All 8 dev tools (not postctl, which has its own per-profile setup) support this the same way.Standardmäßig legt jedes Tool seine SQLite-Datenbank in einem privaten Verzeichnis ab (~/.local/share/<tool>/ — bei manchen Tools ~/Library/Application Support/<tool>/). Für ein einzelnes Gerät reicht das. Um dieselben Daten auf Laptop und Desktop zu nutzen, zeigst du die Datenbank eines Tools auf einen Ordner, den du bereits selbst synchronisierst — iCloud Drive, Dropbox, Syncthing — über den Config-Key data_dir oder eine Umgebungsvariable <TOOL>_DATA_DIR. Alle 8 Entwickler-Tools (nicht postctl, das ein eigenes Profil-System hat) unterstützen das auf dieselbe Weise.
Set it via config fileÜber die Config-Datei setzen
# ~/.config/budgetctl/budgetctl.yaml
data_dir: ~/Library/Mobile Documents/com~apple~CloudDocs/missionctl/budgetctlOr via environment variableOder über eine Umgebungsvariable
export BUDGETCTL_DATA_DIR="$HOME/Library/Mobile Documents/com~apple~CloudDocs/missionctl/budgetctl"
export NOTECTL_DATA_DIR="$HOME/Dropbox/missionctl/notectl"budgetctl also has a TUI settings screen for this — press o and set the sync folder without touching a config file by hand.budgetctl hat dafür auch einen TUI-Einstellungsbildschirm — drücke o und setze den Sync-Ordner, ohne eine Config-Datei von Hand zu bearbeiten.
What actually makes this safeWas das wirklich sicher macht
Pointing a SQLite file at a synced folder isn't automatically safe — three specific things can go wrong, and missionctl-core/syncdir (used by every tool) exists to close them:Eine SQLite-Datei einfach in einen synchronisierten Ordner zu legen ist nicht automatisch sicher — drei konkrete Dinge können schiefgehen, und missionctl-core/syncdir (von jedem Tool genutzt) schließt genau diese Lücken:
- WAL journal mode splits state across up to 3 files (
.db,.db-wal,.db-shm). A sync client uploads whichever one changed, whenever — with no guarantee the three land together. As soon as a tool is pointed at a user-configured directory, it switches to classic rollback-journal mode instead: one main file, plus a transient-journalsidecar that only exists mid-write and is gone the instant a transaction commits. The private default directory stays on WAL, untouched.Der WAL-Journal-Modus teilt den Zustand auf bis zu 3 Dateien auf (.db,.db-wal,.db-shm). Ein Sync-Client lädt hoch, was sich gerade geändert hat — ohne Garantie, dass alle drei zusammen ankommen. Sobald ein Tool auf ein benutzerdefiniertes Verzeichnis zeigt, wechselt es stattdessen auf den klassischen Rollback-Journal-Modus: eine Hauptdatei plus eine kurzlebige-journal-Begleitdatei, die nur während eines aktiven Schreibvorgangs existiert. Das private Standardverzeichnis bleibt unangetastet bei WAL. - Two processes on the same machine (two terminal tabs, a crashed session that never let go) must not write at once. An advisory file lock (
flock) enforces that — and releases itself automatically the moment the holding process exits, however it exits, so a crash can't leave the database stuck "locked" forever.Zwei Prozesse auf demselben Gerät (zwei Terminal-Tabs, eine abgestürzte Session, die nie losgelassen hat) dürfen nicht gleichzeitig schreiben. Ein Advisory-File-Lock (flock) erzwingt das — und löst sich automatisch, sobald der haltende Prozess beendet wird, egal wie, sodass ein Absturz die Datenbank nicht dauerhaft "gesperrt" zurücklässt. - macOS can evict an iCloud Drive file to save local disk space ("Optimize Mac Storage"), replacing it with a zero-byte placeholder. Tools detect this and re-download the real file before touching it, instead of silently opening an empty database.macOS kann eine iCloud-Drive-Datei auslagern, um lokalen Speicherplatz zu sparen ("Mac-Speicher optimieren"), und durch einen Null-Byte-Platzhalter ersetzen. Tools erkennen das und laden die echte Datei nach, statt stillschweigend eine leere Datenbank zu öffnen.
Licensing (Bundle features)Lizenzierung (Bundle-Features)
All 9 tools are free and MIT licensed. A small number of features that cost real compute (AI calls) or add real complexity are part of the missionctl Bundle instead of the free core — everything else stays free forever:Alle 9 Tools sind kostenlos und MIT-lizenziert. Eine kleine Zahl an Features, die echte Rechenkosten (KI-Aufrufe) verursachen oder echte Komplexität hinzufügen, gehören zum missionctl Bundle statt zum kostenlosen Kern — alles andere bleibt für immer kostenlos:
- budgetctl: AI transaction categorization (
--ai) and recurring-payment detection (budgetctl recurring).budgetctl: KI-Transaktionskategorisierung (--ai) und Erkennung wiederkehrender Zahlungen (budgetctl recurring). - notectl: more than one named vault (
notectl vault add) — the free tier includes one.notectl: mehr als ein benannter Vault (notectl vault add) — die kostenlose Version umfasst einen. - mailctl: AI draft reply (the
akey in the detail view).mailctl: KI-Antwortentwurf (diea-Taste in der Detailansicht). - calctl: AI meeting summaries (
calctl summarize).calctl: KI-Meeting-Zusammenfassungen (calctl summarize). - habctl: AI habit suggestions (
habctl suggest, theskey) and the AI weekly review (habctl review, therkey).habctl: KI-Gewohnheitsvorschläge (habctl suggest, dies-Taste) und der KI-Wochen-Review (habctl review, dier-Taste).
All five use the same real Polar.sh license-key check postctl's Pro license already uses — no phone-home telemetry, just a one-time (or offline-cached) validation against your key:Alle fünf nutzen denselben echten Polar.sh-Lizenzschlüssel-Check, den postctls Pro-Lizenz bereits verwendet — keine Phone-Home-Telemetrie, nur eine einmalige (oder offline-zwischengespeicherte) Prüfung deines Schlüssels:
budgetctl license activate <key> # after buying the Bundle
notectl license activate <key>
mailctl license activate <key>
calctl license activate <key>
habctl license activate <key>
budgetctl license status # ...and the same "status" subcommand for eachWithout a license, gated commands print a short message pointing at the Bundle and — where it makes sense, like --ai import — fall back to the free behavior instead of failing outright.Ohne Lizenz geben gesperrte Befehle eine kurze Meldung mit Verweis auf das Bundle aus und fallen — wo es sinnvoll ist, wie bei --ai-Import — auf das kostenlose Verhalten zurück, statt komplett fehlzuschlagen.
Choosing an AI providerKI-Provider auswählen
Once a feature is unlocked, it still needs an LLM to actually call — and that doesn't have to mean a paid Anthropic key. mailctl, calctl, budgetctl, habctl, and diaryctl (whose AI diary generation is free, not Bundle-gated) all auto-detect whichever of these is configured, in this order — full walkthrough with model recommendations in Local AI with Ollama below:Sobald ein Feature freigeschaltet ist, braucht es trotzdem noch ein LLM, das den eigentlichen Aufruf macht — und das muss kein bezahlter Anthropic-Key sein. mailctl, calctl, budgetctl, habctl und diaryctl (dessen KI-Tagebuchgenerierung kostenlos ist, nicht Bundle-gated) erkennen automatisch, was davon konfiguriert ist, in dieser Reihenfolge — ausführliche Anleitung mit Modellempfehlungen weiter unten unter Lokale KI mit Ollama:
ANTHROPIC_API_KEY— Claude, paid.ANTHROPIC_API_KEY— Claude, kostenpflichtig.OPENAI_API_KEY— GPT-4o mini, paid.OPENAI_API_KEY— GPT-4o mini, kostenpflichtig.GEMINI_API_KEY— free tier, no card required. Get one at aistudio.google.com/apikey in about 30 seconds.GEMINI_API_KEY— kostenlose Stufe, keine Kreditkarte nötig. In etwa 30 Sekunden unter aistudio.google.com/apikey erstellt.- A local Ollama model — no key, no signup, nothing leaves your machine. The always-available fallback if nothing else is set.Ein lokales Ollama-Modell — kein Key, keine Anmeldung, nichts verlässt deinen Rechner. Der immer verfügbare Fallback, falls nichts anderes gesetzt ist.
Override auto-detection with <TOOL>_PROVIDER=anthropic|openai|gemini|ollama (e.g. MAILCTL_PROVIDER=ollama). What's deliberately not supported: reusing a claude.ai or chatgpt.com browser session in place of an API key — both providers' terms of service prohibit programmatic reuse of a consumer web session, and it risks flagging your own account. Free-tier Gemini or local Ollama cover the "I don't want to pay or sign up for an API key" case without that risk.Automatische Erkennung überschreiben mit <TOOL>_PROVIDER=anthropic|openai|gemini|ollama (z. B. MAILCTL_PROVIDER=ollama). Bewusst nicht unterstützt: eine claude.ai- oder chatgpt.com-Browser-Session anstelle eines API-Keys wiederzuverwenden — die Nutzungsbedingungen beider Anbieter verbieten die programmatische Wiederverwendung einer Konsumenten-Web-Session, und es riskiert eine Sperre des eigenen Accounts. Kostenloses Gemini oder lokales Ollama decken den Fall "ich will nicht bezahlen oder mich für einen API-Key anmelden" ab, ohne dieses Risiko.
Local AI with OllamaLokale KI mit Ollama
Every AI-gated feature in the suite (plus diaryctl's free AI diary generation) already falls back to a local Ollama model automatically — no API key, no signup, no per-request cost, nothing leaves your machine. This is a full walkthrough: installing Ollama, picking the right model per tool, and the environment variables that control it.Jedes KI-Feature im Bundle (plus diaryctls kostenlose KI-Tagebuchgenerierung) fällt bereits automatisch auf ein lokales Ollama-Modell zurück — kein API-Key, keine Anmeldung, keine Kosten pro Anfrage, nichts verlässt deinen Rechner. Hier die vollständige Anleitung: Ollama installieren, das passende Modell pro Tool wählen, und die Umgebungsvariablen, die das steuern.
1. Install Ollama1. Ollama installieren
# macOS
brew install ollama
ollama serve # or just launch the Ollama.app — runs a background server on :11434
# Linux
curl -fsSL https://ollama.com/install.sh | sh2. Pull a model and test it2. Ein Modell laden und testen
ollama pull llama3.2
ollama run llama3.2 "Say hi in five words"3. That's it — try a gated feature3. Das war's — ein Bundle-Feature ausprobieren
Nothing else to configure. Provider auto-detection already tries Ollama last, with zero setup, once you've licensed the feature:Nichts weiter zu konfigurieren. Die automatische Provider-Erkennung probiert Ollama bereits als Letztes, ganz ohne Einrichtung, sobald das Feature lizenziert ist:
calctl summarize --event-title "Standup"Choosing a modelDas richtige Modell wählen
Bigger isn't always better — it's a size-vs-quality-vs-RAM tradeoff. Rough guide (all sizes are approximate 4-bit-quantized RAM, what Ollama pulls by default):Größer ist nicht immer besser — es ist ein Kompromiss aus Größe, Qualität und RAM. Grobe Übersicht (alle Größenangaben sind ungefähr, 4-Bit-quantisiert, was Ollama standardmäßig lädt):
| ModelModell | Pull commandPull-Befehl | ~RAM~RAM | Best forAm besten für |
|---|---|---|---|
| llama3.2 (3B) | ollama pull llama3.2 | ~2 GB | Default fallback. Fast, fine for short/low-stakes text — habit suggestions, quick summaries.Standard-Fallback. Schnell, ausreichend für kurze, unkritische Texte — Habit-Vorschläge, kurze Zusammenfassungen. |
| mistral (7B) | ollama pull mistral | ~4–5 GB | Solid general-purpose writing — noticeably better tone than llama3.2 for email-style text.Solide Allzweck-Textgenerierung — spürbar besserer Ton als llama3.2 für E-Mail-artige Texte. |
| mistral-nemo (12B) | ollama pull mistral-nemo | ~7–8 GB | Best quality-per-GB for longer synthesis — weekly reviews, meeting summaries, draft replies. 128k context.Bestes Verhältnis Qualität/GB für längere Synthese — Wochen-Reviews, Meeting-Zusammenfassungen, Antwortentwürfe. 128k Kontext. |
| qwen2.5 (14B) | ollama pull qwen2.5:14b | ~9 GB | Very reliable structured/JSON output — the safest pick for budgetctl's transaction categorization.Sehr zuverlässige strukturierte/JSON-Ausgabe — die sicherste Wahl für budgetctls Transaktionskategorisierung. |
| qwen2.5-coder (14B) | ollama pull qwen2.5-coder | ~9 GB | Reads code/diffs accurately while still writing reasonable prose — good middle ground for diaryctl.Liest Code/Diffs präzise und schreibt trotzdem brauchbare Prosa — guter Mittelweg für diaryctl. |
| codestral (22B) | ollama pull codestral | ~13 GB | Purpose-built for code generation, not narrative prose — most technically literal read of a git diff, least "personal" voice. See the diaryctl note below.Für Codegenerierung gebaut, nicht für erzählende Prosa — liest einen Git-Diff am technisch genauesten, klingt am wenigsten "persönlich". Siehe Hinweis zu diaryctl unten. |
Which model for which toolWelches Modell für welches Tool
| Tool / featureTool / Feature | Task typeAufgabentyp | RecommendedEmpfehlung | Set withSetzen mit |
|---|---|---|---|
| calctl summarize | Structured meeting summaryStrukturierte Meeting-Zusammenfassung | mistral-nemo | CALCTL_OLLAMA_MODEL |
| mailctl draft reply (a) | Tone-sensitive writingTonsensibles Schreiben | mistral-nemo | MAILCTL_OLLAMA_MODEL |
| budgetctl --ai import | Classification, strict JSONKlassifizierung, striktes JSON | qwen2.5:14b | BUDGETCTL_OLLAMA_MODEL |
| habctl suggest (s) | Short, low-stakes suggestionsKurze, unkritische Vorschläge | llama3.2 (default is fine)(Standard reicht) | — |
| habctl review / goal (r / g) | Longer synthesis, structured reasoningLängere Synthese, strukturiertes Reasoning | mistral-nemo oroder qwen2.5:14b | HABCTL_OLLAMA_MODEL |
| diaryctl narrative | Reads git diffs, writes personal proseLiest Git-Diffs, schreibt persönliche Prosa | qwen2.5-coder oroder mistral-nemo | DIARYCTL_OLLAMA_MODEL |
habctl's one caveat: the override applies per tool, not per feature — HABCTL_OLLAMA_MODEL affects suggest, review, and goal alike. If you want suggest on the fast default while review uses a bigger model, override it inline for just that one call instead of exporting it permanently: HABCTL_OLLAMA_MODEL=mistral-nemo habctl review.Ein Vorbehalt bei habctl: der Override gilt pro Tool, nicht pro Feature — HABCTL_OLLAMA_MODEL wirkt auf suggest, review und goal gleichermaßen. Willst du suggest beim schnellen Standard belassen, aber für review ein größeres Modell nutzen, setz es nur für diesen einen Aufruf statt dauerhaft zu exportieren: HABCTL_OLLAMA_MODEL=mistral-nemo habctl review.
mistral vs. codestral for diaryctl, specifically: Codestral is trained to generate code, not write prose about code — expect a technically accurate but fairly dry read of what a diff actually did, with less of a "personal reflection" voice. General models (mistral-nemo, qwen2.5) write noticeably warmer, more narrative diary entries but occasionally miss a subtlety in what the code changed. If your diary should read like something you'd actually want to re-read in a year, start with mistral-nemo; switch to qwen2.5-coder (a middle ground — code-aware but still writes reasonable prose) only if entries keep missing what your commits actually did. Pure codestral is worth trying if you mainly want an accurate technical changelog rather than a diary in the literary sense.Mistral vs. Codestral konkret für diaryctl: Codestral ist darauf trainiert, Code zu generieren, nicht Prosa über Code zu schreiben — erwarte eine technisch akkurate, aber eher trockene Beschreibung dessen, was ein Diff getan hat, mit weniger "persönlicher Reflexion". Allgemeine Modelle (mistral-nemo, qwen2.5) schreiben spürbar wärmere, erzählerischere Tagebucheinträge, übersehen aber gelegentlich eine Feinheit im Code. Soll dein Tagebuch sich wie etwas lesen, das du in einem Jahr gerne nochmal liest, starte mit mistral-nemo; wechsle zu qwen2.5-coder (Mittelweg — codebewusst, schreibt aber noch brauchbare Prosa), falls Einträge wiederholt nicht treffen, was deine Commits tatsächlich gemacht haben. Reines Codestral lohnt sich, wenn du eher ein akkurates technisches Changelog willst als ein Tagebuch im literarischen Sinn.
Configuration referenceKonfigurationsreferenz
OLLAMA_HOST— defaulthttp://localhost:11434. Override if Ollama runs elsewhere (another machine on your LAN, a custom port).OLLAMA_HOST— Standardhttp://localhost:11434. Überschreiben, falls Ollama woanders läuft (anderer Rechner im LAN, eigener Port).OLLAMA_MODEL— shared default model across every tool, if no per-tool override is set. Falls back tollama3.2if unset.OLLAMA_MODEL— gemeinsames Standardmodell für alle Tools, falls kein Tool-spezifischer Override gesetzt ist. Fällt aufllama3.2zurück, falls nicht gesetzt.<TOOL>_OLLAMA_MODEL— per-tool override, wins over the sharedOLLAMA_MODEL(e.g.DIARYCTL_OLLAMA_MODEL=qwen2.5-coder,MAILCTL_OLLAMA_MODEL=mistral-nemo).<TOOL>_OLLAMA_MODEL— Tool-spezifischer Override, gewinnt gegen das gemeinsameOLLAMA_MODEL(z. B.DIARYCTL_OLLAMA_MODEL=qwen2.5-coder,MAILCTL_OLLAMA_MODEL=mistral-nemo).<TOOL>_PROVIDER=ollama— forces that one tool onto Ollama even if an API key is also set (e.g. keep paying for Claude in mailctl but stay free in budgetctl).<TOOL>_PROVIDER=ollama— erzwingt für genau dieses Tool Ollama, selbst wenn auch ein API-Key gesetzt ist (z. B. in mailctl weiter Claude bezahlen, in budgetctl kostenlos bleiben).
Full precedence: <TOOL>_PROVIDER (if set) picks the provider outright. Otherwise auto-detect checks, in order: ANTHROPIC_API_KEY → OPENAI_API_KEY → GEMINI_API_KEY → Ollama (always available, no key needed — the guaranteed fallback). Once on Ollama, the model is <TOOL>_OLLAMA_MODEL → OLLAMA_MODEL → llama3.2.Vollständige Priorität: <TOOL>_PROVIDER (falls gesetzt) legt den Provider direkt fest. Sonst prüft die automatische Erkennung der Reihe nach: ANTHROPIC_API_KEY → OPENAI_API_KEY → GEMINI_API_KEY → Ollama (immer verfügbar, kein Key nötig — der garantierte Fallback). Bei Ollama gilt für das Modell: <TOOL>_OLLAMA_MODEL → OLLAMA_MODEL → llama3.2.
Example ~/.zshrc to pin different models per tool permanently:Beispiel ~/.zshrc, um pro Tool dauerhaft unterschiedliche Modelle festzulegen:
export MAILCTL_OLLAMA_MODEL=mistral-nemo
export DIARYCTL_OLLAMA_MODEL=qwen2.5-coder
export BUDGETCTL_OLLAMA_MODEL=qwen2.5:14b
export CALCTL_OLLAMA_MODEL=mistral-nemo
# habctl and everything else not listed here stays on the OLLAMA_MODEL default / llama3.2Performance notesHinweise zur Performance
- Apple Silicon: unified memory means a model's RAM footprint competes directly with everything else running. A 16 GB Mac comfortably handles up to ~9–10 GB models (mistral-nemo, qwen2.5:14b); on 8 GB, stick to llama3.2 or plain mistral (7B).Apple Silicon: Unified Memory heißt, der RAM-Bedarf eines Modells konkurriert direkt mit allem anderen, was läuft. Ein 16-GB-Mac verkraftet gut bis ~9–10-GB-Modelle (mistral-nemo, qwen2.5:14b); bei 8 GB lieber bei llama3.2 oder einfachem mistral (7B) bleiben.
- The first call after
ollama servestarts (or after switching to a different model) is slow — Ollama has to load the model into memory. Subsequent calls are fast as long as the model stays warm (Ollama keeps recently-used models loaded for a few minutes by default).Der erste Aufruf nach dem Start vonollama serve(oder nach einem Modellwechsel) ist langsam — Ollama muss das Modell erst in den Speicher laden. Folgeaufrufe sind schnell, solange das Modell warm bleibt (Ollama hält zuletzt genutzte Modelle standardmäßig einige Minuten geladen). - Every AI call in the suite streams token-by-token, so even a slower model shows visible progress instead of a long silent wait — see the live word-count in mailctl's compose view or diaryctl's editor.Jeder KI-Aufruf in der Suite streamt Token für Token, sodass auch ein langsameres Modell sichtbaren Fortschritt zeigt statt eines langen stillen Wartens — sichtbar an der Live-Wortzahl in mailctls Verfassen-Ansicht oder diaryctls Editor.
TroubleshootingFehlerbehebung
- "connection refused — is Ollama running?" —
ollama serveisn't running. Launch the Ollama.app, or runollama servein a terminal."connection refused — is Ollama running?" —ollama serveläuft nicht. Ollama.app starten, oderollama serveim Terminal ausführen. - "404 — model not found" — the model named in
OLLAMA_MODEL/<TOOL>_OLLAMA_MODELhasn't been pulled yet:ollama pull <name>."404 — model not found" — das inOLLAMA_MODEL/<TOOL>_OLLAMA_MODELgenannte Modell wurde noch nicht geladen:ollama pull <name>. - Slow or low-quality output — try a larger model if your RAM allows, or confirm what's actually loaded with
ollama ps.Langsame oder schwache Ausgabe — bei genug RAM ein größeres Modell probieren, oder mitollama psprüfen, was wirklich geladen ist. - Not sure which provider a tool picked? Gated commands print it in their output, and habctl's Settings screen (
Skey) shows the active provider directly.Unsicher, welchen Provider ein Tool gewählt hat? Gesperrte Befehle geben das in ihrer Ausgabe aus, und habctls Settings-Ansicht (S-Taste) zeigt den aktiven Provider direkt an.
Tutorial: First 10 MinutesTutorial: Die ersten 10 Minuten
A concrete walkthrough for someone setting up missionctl for the first time — using calctl and taskctl as the example, but the pattern is the same for every tool.Eine konkrete Anleitung für den ersten missionctl-Aufbau — am Beispiel calctl und taskctl, aber das Muster ist bei jedem Tool gleich.
1. Install two tools to try1. Zwei Tools zum Ausprobieren installieren
brew tap aeon022/tap https://github.com/aeon022/homebrew-tap
brew install aeon022/tap/calctl
brew install aeon022/tap/taskctl2. Run the initial sync2. Erste Synchronisation ausführen
This reads from Apple Calendar / Apple Reminders into each tool's local SQLite cache. Nothing leaves your machine.Das liest aus Apple Kalender / Apple Erinnerungen in den lokalen SQLite-Cache jedes Tools. Nichts verlässt deinen Rechner.
calctl sync
taskctl sync3. Try the TUI3. Die TUI ausprobieren
calctl # opens the week view
taskctl # opens the task listPress : in either one and type a few letters — the command palette live-filters every available action, so you don't need to memorize keybindings up front.Drücke in beiden : und tippe ein paar Buchstaben — die Befehlspalette filtert live alle verfügbaren Aktionen, du musst dir also keine Tastenkürzel vorher merken.
4. Connect Claude Desktop4. Claude Desktop verbinden
Add both to claude_desktop_config.json (see Claude Desktop config above), then restart Claude Desktop.Füge beide zu claude_desktop_config.json hinzu (siehe Claude-Desktop-Konfiguration oben), dann Claude Desktop neu starten.
{
"mcpServers": {
"calctl": { "command": "calctl", "args": ["mcp"] },
"taskctl": { "command": "taskctl", "args": ["mcp"] }
}
}5. Ask Claude something that spans both5. Claude etwas fragen, das beide betrifft
Try: "What's on my calendar tomorrow, and do I have any overdue tasks?" Claude calls calctl's list_events and taskctl's today_tasks automatically — no explicit tool selection needed, it reads the descriptions and picks the right ones.Probier: "Was steht morgen in meinem Kalender, und habe ich überfällige Aufgaben?" Claude ruft automatisch list_events von calctl und today_tasks von taskctl auf — keine explizite Tool-Auswahl nötig, Claude liest die Beschreibungen und wählt die richtigen aus.
6. Next steps6. Nächste Schritte
- Install the rest of the suite the same way — see Installation.Installiere den Rest der Suite genauso — siehe Installation.
- Using more than one machine? Set up sync across devices.Nutzt du mehr als ein Gerät? Richte Sync über mehrere Geräte ein.
- Browse more multi-tool prompt ideas in AI Workflows below.Weitere Multi-Tool-Prompt-Ideen findest du unten in KI-Workflows.
mailctl
Terminal email client with TUI inbox, full-text search, compose, and 6 MCP tools. Syncs your inbox into a local SQLite database — all reads happen locally. Apple Mail on macOS, Thunderbird on Linux (new, currently in testing — see below).Terminal-E-Mail-Client mit TUI-Posteingang, Volltextsuche, Verfassen und 6 MCP-Tools. Synchronisiert deinen Posteingang in eine lokale SQLite-Datenbank — alle Lesevorgänge passieren lokal. Apple Mail unter macOS, Thunderbird unter Linux (neu, derzeit in der Testphase — siehe unten).
InstallInstallation
git clone https://github.com/aeon022/mailctl
cd mailctl && ./setup.shSyncSynchronisation
mailctl sync # sync inbox
mailctl sync --all # sync all foldersLinux (beta)Linux (Beta)
On Linux, mailctl reads mail directly from your default Thunderbird profile's local mbox files, and sends via that account's own SMTP server. Newly added and currently being tested on real hardware — feedback and bug reports welcome.Unter Linux liest mailctl E-Mails direkt aus den lokalen mbox-Dateien deines Standard-Thunderbird-Profils und sendet über den eigenen SMTP-Server des Kontos. Neu hinzugekommen und derzeit auf echter Hardware in der Testphase — Feedback und Bug-Reports willkommen.
- Install and run Thunderbird at least once, with at least one IMAP account configured.Thunderbird mindestens einmal installieren und starten, mit mindestens einem eingerichteten IMAP-Konto.
- Store the account's SMTP app password (needed for sending, not for reading/syncing):Das SMTP-App-Passwort des Kontos hinterlegen (nötig zum Senden, nicht zum Lesen/Syncen):
mailctl account set-password you@example.com mailctl sync,mailctl, etc. work the same as on macOS.mailctl sync,mailctl, usw. funktionieren genauso wie unter macOS.
Current limitations: mbox mailbox format only (not Maildir), inbox only (no other folders), STARTTLS + password auth only (no implicit TLS on port 465, no OAuth2), no attachments on send, and no draft-saving or delete/mark-unread from mailctl — those would require writing into a Thunderbird mbox file it may have open, which mailctl avoids.Aktuelle Einschränkungen: nur mbox-Format (kein Maildir), nur Posteingang (keine anderen Ordner), nur STARTTLS + Passwort-Auth (kein implizites TLS auf Port 465, kein OAuth2), keine Anhänge beim Senden, kein Entwurf-Speichern oder Löschen/Ungelesen-Markieren aus mailctl heraus — das würde Schreibzugriffe auf eine Thunderbird-mbox-Datei erfordern, die eventuell noch offen ist, was mailctl vermeidet.
CLI commandsCLI-Befehle
mailctl inbox # open TUI inbox
mailctl inbox --json # JSON output
mailctl search "from:alice" # search emails
mailctl send --to bob@x.com # compose & send
mailctl draft --subject "Hello" # save to Drafts
mailctl thread --subject "Re:" # view thread
mailctl accounts # list accounts
mailctl license activate <key> # activate missionctl Bundle
mailctl license status # check license status
mailctl mcp # start MCP serverAI draft reply (the a key below) requires the missionctl Bundle — everything else here is free.Der KI-Antwortentwurf (die a-Taste unten) erfordert das missionctl Bundle — alles andere hier ist kostenlos.
TUI keybindingsTUI-Tastenkürzel
MCP toolsMCP-Tools
calctl
Apple Calendar bridge. Browse events, create events, find free slots. Requires macOS — talks to Apple Calendar via AppleScript and EventKit.Apple-Kalender-Anbindung. Termine durchsuchen, erstellen, freie Slots finden. Benötigt macOS — spricht mit Apple Kalender über AppleScript und EventKit.
InstallInstallation
git clone https://github.com/aeon022/calctl
cd calctl && ./setup.shSyncSynchronisation
calctl sync # sync next 30 days
calctl sync --days 90 # sync 90 daysCLI commandsCLI-Befehle
calctl list # list upcoming events
calctl list --from 2026-07-01 # events from date
calctl add "Team sync" --time 14:00 # create event
calctl free --from today --to +7d # find free slots
calctl export --week -o week.json # write a range's events to a file
calctl sync # sync calendar
calctl summarize --event-title "Standup" # AI meeting summary — missionctl Bundle
calctl license activate <key> # activate missionctl Bundle
calctl license status # check license status
calctl mcp # start MCP serverAI meeting summaries (calctl summarize) require the missionctl Bundle — everything else here is free.KI-Meeting-Zusammenfassungen (calctl summarize) erfordern das missionctl Bundle — alles andere hier ist kostenlos.
TUI keybindingsTUI-Tastenkürzel
MCP toolsMCP-Tools
taskctl
Apple Reminders bridge with TUI task manager, built-in Pomodoro timer, background sync daemon, and batch operations.Apple-Erinnerungen-Anbindung mit TUI-Aufgabenmanager, eingebautem Pomodoro-Timer, Hintergrund-Sync-Daemon und Stapelverarbeitung.
InstallInstallation
git clone https://github.com/aeon022/taskctl
cd taskctl && ./setup.shSyncSynchronisation
taskctl sync # sync Apple Reminders
taskctl daemon # start background sync daemonCLI commandsCLI-Befehle
taskctl list # list all tasks
taskctl today # today's tasks
taskctl week # this week's tasks
taskctl add "Review PR" --due today # create task
taskctl done <id> # mark complete
taskctl review # AI reviews this week, suggests follow-ups (approve each)
taskctl lists # list reminder lists
taskctl daemon # background daemon
taskctl mcp # start MCP serverTUI keybindingsTUI-Tastenkürzel
MCP toolsMCP-Tools
notectl
Notes bridge for Obsidian, Apple Notes, or Joplin. Sync notes to local SQLite, read/write notes, search, and manage daily notes — sync one source or several at once. Works on macOS and Linux.Notizen-Anbindung für Obsidian, Apple Notizen oder Joplin. Notizen nach lokalem SQLite synchronisieren, lesen/schreiben, durchsuchen, und Daily Notes verwalten — eine Quelle oder mehrere gleichzeitig. Läuft unter macOS und Linux.
InstallInstallation
git clone https://github.com/aeon022/notectl
cd notectl && ./setup.shConfigKonfiguration
Edit ~/.config/notectl/notectl.yaml:Bearbeite ~/.config/notectl/notectl.yaml:
vault_path: ~/Documents/Obsidian/MyVault
source: obsidian # obsidian | apple | markdown | joplinFor Joplin: enable Options → Web Clipper in Joplin, then set joplin_token to the token shown there.Für Joplin: Optionen → Web-Clipper in Joplin aktivieren, dann joplin_token auf den dort angezeigten Token setzen.
source: joplin
joplin_token: <token from Joplin's Web Clipper settings>Sync several sources into one combined cache with sync_sources (write target stays whatever source is):Mehrere Quellen mit sync_sources in einen gemeinsamen Cache synchronisieren (Schreibziel bleibt, was in source steht):
sync_sources: apple,joplinSyncSynchronisation
notectl sync # index configured source(s) into SQLite cacheCLI commandsCLI-Befehle
notectl list # list notes
notectl list --tag work # notes tagged "work"
notectl list --event <id> # notes linked to a calctl event
notectl read "Note title" # read a note
notectl write "New note" # create/update note
notectl write "Meeting" --event-id <id> # link a note to a calctl event
notectl search "keyword" # full-text search
notectl search "keyword" --tag work # search within a tag
notectl daily # open today's daily note
notectl license activate <key> # activate missionctl Bundle
notectl license status # check license status
notectl mcp # start MCP serverMultiple vaultsMehrere Vaults
The free tier includes one vault. Registering a second requires the missionctl Bundle — see Licensing.Die kostenlose Version umfasst einen Vault. Ein zweiter erfordert das missionctl Bundle — siehe Lizenzierung.
notectl vault add work ~/Documents/Obsidian/Work
notectl vault add personal ~/Documents/Obsidian/Personal # missionctl Bundle
notectl vault list # * marks the active vault
notectl vault use work # switch active vaultTUI keybindingsTUI-Tastenkürzel
MCP toolsMCP-Tools
budgetctl
Personal finance tool. Import bank CSVs, categorize transactions with rules, set budget goals, and detect recurring payments. Works on macOS and Linux.Persönliches Finanztool. Bank-CSVs importieren, Transaktionen per Regeln kategorisieren, Budgetziele setzen und wiederkehrende Zahlungen erkennen. Läuft unter macOS und Linux.
InstallInstallation
git clone https://github.com/aeon022/budgetctl
cd budgetctl && ./setup.shImportImport
budgetctl import bank.csv --account checking
budgetctl import n26.csv --format n26
budgetctl import bank.csv --ai # AI categorization — missionctl Bundle
# Supported: N26, ING, DKB, Sparkasse/George, Austrian bank Umsatzliste, Generic CSV
# File encoding is auto-detected (UTF-8, UTF-16 LE/BE, Windows-1252)CLI commandsCLI-Befehle
budgetctl list # list transactions
budgetctl list --month 2026-07 # filter by month
budgetctl summary # income/expense summary
budgetctl summary --month 2026-07 # monthly summary
budgetctl tag "Netflix" --category subscriptions
budgetctl apply-rules # re-apply all rules
budgetctl goal set --category food --limit 400
budgetctl goal list # show goals + progress
budgetctl goal delete --category food
budgetctl recurring # detect recurring payments — missionctl Bundle
budgetctl suggest-cuts # AI suggests budget cuts, approve each — missionctl Bundle
budgetctl export --format csv # export data
budgetctl export --summary --year 2026 # year-end category totals (tax report)
budgetctl license activate <key> # activate missionctl Bundle
budgetctl license status # check license status
budgetctl mcp # start MCP serverSee Licensing above — everything except --ai, recurring, and suggest-cuts is free.Siehe Lizenzierung oben — alles außer --ai, recurring und suggest-cuts ist kostenlos.
ProfilesProfile
Keep contexts fully separate — e.g. a business ("firma") account and your personal accounts — each in its own database, so transactions, categories, and budget goals never mix. Unlike the data_dir sync setting above, which just relocates one shared database, each profile is an entirely independent one:Halte Kontexte vollständig getrennt — z. B. ein Geschäftskonto ("firma") und deine privaten Konten — jeweils in einer eigenen Datenbank, sodass sich Transaktionen, Kategorien und Budgetziele nie vermischen. Anders als die data_dir-Sync-Einstellung oben, die nur eine gemeinsame Datenbank verschiebt, ist jedes Profil eine komplett eigenständige:
budgetctl profile add firma [--data-dir DIR] # create; --data-dir optional (e.g. to sync it too)
budgetctl profile use firma # everything (CLI, TUI, MCP) now scopes to firma
budgetctl profile list # show all profiles, mark the active one
budgetctl profile use default # back to the unscoped default database
budgetctl profile set-data-dir firma DIR # sync an already-created profile; "" moves it back to local
budgetctl profile remove firma # forgets the profile — its database stays on diskset-data-dir refuses a folder already used by another profile or the unscoped default — profiles exist to keep data apart, so give each synced one its own folder.set-data-dir verweigert einen Ordner, der schon von einem anderen Profil oder dem Default belegt ist — Profile sollen Daten trennen, also braucht jedes synchronisierte einen eigenen Ordner.
With no active profile, budgetctl behaves exactly as before. In the TUI, press p to switch, create, or remove profiles the same way.Ohne aktives Profil verhält sich budgetctl genau wie zuvor. Im TUI wechselst, erstellst oder entfernst du Profile ebenso mit p.
For a one-off command without switching your saved active profile, pass --profile (or -p) instead:Für einen einzelnen Befehl, ohne dein gespeichertes aktives Profil zu wechseln, nutze stattdessen --profile (oder -p):
budgetctl import statement.csv --profile firma --account checking
budgetctl --profile firma summaryTUI keybindingsTUI-Tastenkürzel
MCP toolsMCP-Tools
habctl
Terminal-first habit tracker. Track daily habits with streaks, an AI weekly coaching review, habit chains, and streak-at-risk alerts — all stored locally in SQLite.Terminal-first Habit-Tracker. Verfolge tägliche Gewohnheiten mit Streaks, einem KI-Wochen-Coaching- Review, Habit-Chains und Streak-Risiko-Warnungen — alles lokal in SQLite gespeichert.
InstallInstallation
git clone https://github.com/aeon022/habctl
cd habctl && ./setup.shCLI commandsCLI-Befehle
habctl add "Meditate" --desc "10 minutes every morning" # add a habit
habctl check Meditate # check in for today
habctl today # today's habit status
habctl list # list habits with streaks
habctl stats # streaks + progress bars
habctl review # AI weekly coaching review — missionctl Bundle
habctl suggest --goal "more focus" # AI habit suggestions — missionctl Bundle
habctl remind # macOS notification for unchecked habits
habctl license activate <key> # activate missionctl Bundle
habctl license status # check license status
habctl mcp # start MCP serverAI suggestions and the AI weekly review require the missionctl Bundle — everything else here is free.KI-Vorschläge und der KI-Wochen-Review erfordern das missionctl Bundle — alles andere hier ist kostenlos.
TUI keybindingsTUI-Tastenkürzel
MCP toolsMCP-Tools
postctl
Social media scheduling for Threads, Bluesky, Mastodon, Twitter, LinkedIn, Telegram, and Discord. Manage posts, campaigns, and drafts from your terminal. Available at postctl.sh.Social-Media-Planung für Threads, Bluesky, Mastodon, Twitter, LinkedIn, Telegram und Discord. Verwalte Posts, Kampagnen und Entwürfe direkt aus dem Terminal. Verfügbar unter postctl.sh.
InstallInstallation
git clone https://github.com/aeon022/postctl
cd postctl && ./setup.shCLI commandsCLI-Befehle
postctl list # list posts
postctl post "Hello world" # create post
postctl post --schedule "2026-07-05 09:00" "Hello"
postctl publish <id> # publish post immediately
postctl cancel <id> # cancel scheduled post
postctl delete <id> # delete post locally & remotely
postctl daemon # start scheduler daemon
postctl campaign list # list campaigns
postctl import posts.csv # import posts
postctl mcp # start MCP serverTUI keybindingsTUI-Tastenkürzel
Safety & Spam ProtectionSicherheit & Spam-Schutz
To avoid rate limits and account bans, postctl includes built-in safeguards:Um Rate-Limits und Account-Sperren zu vermeiden, bringt postctl eingebaute Schutzmechanismen mit:
- Queue spacing: Scheduled queue slots are spaced out automatically.Warteschlangen-Abstand: Geplante Slots werden automatisch zeitlich verteilt.
- Overdue protection: If multiple scheduled posts become overdue (e.g., system was offline), only the oldest is posted immediately. The subsequent posts are automatically rescheduled in 20-minute intervals.Überfälligkeitsschutz: Werden mehrere geplante Posts überfällig (z.B. weil das System offline war), wird nur der älteste sofort gepostet. Die restlichen werden automatisch in 20-Minuten-Intervallen neu geplant.
- Safe remote deletion: Deleting a post locally automatically issues API delete calls to the remote platforms to keep feeds in sync.Sichere Remote-Löschung: Das lokale Löschen eines Posts löst automatisch API-Löschaufrufe an die Plattformen aus, um die Feeds synchron zu halten.
MCP toolsMCP-Tools
diaryctl
Developer diary from your terminal. Reads git history, completed tasks (taskctl), calendar events (calctl), and time logs (timectl) to generate AI narrative diary entries.Entwicklertagebuch direkt aus dem Terminal. Liest Git-Historie, erledigte Aufgaben (taskctl), Kalendertermine (calctl) und Zeitprotokolle (timectl), um KI-generierte Tagebucheinträge zu erstellen.
InstallInstallation
git clone https://github.com/aeon022/diaryctl
cd diaryctl && ./setup.shSetupEinrichtung
diaryctl init ~/code/myproject --name "My Project"
diaryctl repos # list registered reposCLI commandsCLI-Befehle
diaryctl today # generate today's entry
diaryctl today --open # open in $EDITOR
diaryctl list # list all entries
diaryctl show 2026-07-04 # show a specific entry
diaryctl stats --days 30 # coding stats for last 30 days
diaryctl tui # open TUI (heatmap + list)
diaryctl mcp # start MCP serverTUI keybindingsTUI-Tastenkürzel
j/k navigate entries
1-9 jump to nth visible entry
enter open entry
n generate today's entry
e edit entry
d delete entry (asks to confirm)
y copy title
u undo last delete
g open corresponding note in notectl
r browse tracked git repos
/ search entries
: command palette
? help
q quitWhile editing an entry:Beim Bearbeiten eines Eintrags:
a stream an AI-generated continuation into the entry
ctrl+s save
ctrl+f toggle centered writing mode
ctrl+v enter vim-normal mode
tab / [ / ] jump to next / previous AI marker or "##" sectionMCP toolsMCP-Tools
timectl
Time tracking from your terminal. Start and stop timers, view a weekly bar chart, and integrate time logs into diaryctl diary entries.Zeiterfassung direkt aus dem Terminal. Timer starten und stoppen, Wochen-Balkendiagramm ansehen, und Zeitprotokolle in diaryctl-Tagebucheinträge integrieren.
InstallInstallation
git clone https://github.com/aeon022/timectl
cd timectl && ./setup.shCLI commandsCLI-Befehle
timectl start "Fix auth bug" --project myapp
timectl stop
timectl status # check running timer
timectl today # time log for today
timectl week # weekly bar chart
timectl log --days 7 # last 7 days log
timectl tui # open TUI
timectl mcp # start MCP serverTUI keybindingsTUI-Tastenkürzel
n start new timer (task@project)
T start timer from an open taskctl task
s stop running timer
r restart selected entry's task
c copy selected entry into new-task input
j/k navigate log
1-9 jump to nth visible entry
e edit notes
d delete entry (asks to confirm)
u undo last delete
y copy task name
g open linked taskctl task
←/→/t browse previous/next day, back to today
w week view
v stats view
/ filter by task, project, notes
: command palette
? help
q quitMCP toolsMCP-Tools
MCP ReferenceMCP-Referenz
All 67 tools grouped by app. Each tool is callable from Claude Desktop once the config is in place.Alle 67 Tools nach App gruppiert. Jedes Tool ist aus Claude Desktop aufrufbar, sobald die Config eingerichtet ist.
mailctl
inbox | List recent inbox messages with sender, subject, preview |
search_email | Search by keyword across subject, sender, body |
email_thread | Get all messages in a thread matched by subject |
send_email | Send an email via Apple Mail |
draft_email | Save a composed message to Apple Mail Drafts |
sync_inbox | Sync from Apple Mail into local cache |
calctl
list_events | List events between two dates |
today | Today's events |
this_week | This week's events (Monday to Sunday) |
find_free_slots | Find free time within working hours |
create_event | Create a calendar event |
delete_event | Delete an event by title and date |
sync | Sync from Apple Calendar into local cache |
taskctl
today_tasks | Tasks due today or overdue |
week_tasks | Tasks due this week |
list_tasks | List tasks, filter by list or status |
sync | Sync from Apple Reminders |
create_task | Create task with title, list, due date, notes |
complete_task | Mark a task completed |
delete_task | Delete a task |
notectl
list_notes | List notes from cache (filter: folder, source) |
read_note | Read full note content by title |
write_note | Create or update a note in the vault |
search_notes | Keyword search across title and content |
sync_notes | Sync Obsidian vault into cache |
get_daily_note | Get today's daily note (creates from template if missing) |
append_daily_note | Append content under a named section |
delete_note | Delete a note by title (folder disambiguates duplicates) |
budgetctl
list_transactions | List transactions, filter by month/category/query |
add_transaction | Add a manual income or expense entry |
delete_transaction | Delete a transaction by its ID |
budget_summary | Monthly income/expenses/net with category breakdown |
import_transactions | Import from a bank CSV file |
tag_transactions | Create a category rule (pattern → category) |
apply_category_rules | Re-apply all rules to all transactions |
list_budget_goals | Goals with current-month spending progress |
set_budget_goal | Set a monthly spending limit for a category |
delete_budget_goal | Remove a goal |
detect_recurring_payments | Detect subscriptions and recurring charges |
diaryctl
get_today_stats | Git commits, files changed, suite data (tasks, events, time tracked) for today |
get_diary_entry | Read a diary entry by date (default: today) |
write_diary_entry | Save or overwrite a diary entry — used by Claude to fill in the narrative |
get_coding_stats | Aggregate stats for last N days: streak, commits, most active day, repo breakdown |
list_diary_entries | List recent entries with date and preview |
timectl
start_timer | Start a timer with task name and optional project tag |
stop_timer | Stop the running timer, returns task name and duration |
get_time_log | Time entries for a date or date range with total duration |
get_time_stats | Breakdown by task/project, daily average, streak for last N days |
habctl
list_habits | List all habits with current streak and today's status |
check_habit | Check in for a habit today (or a specific date) |
uncheck_habit | Undo a check-in — correct an accidental entry |
add_habit | Add a new habit to track |
delete_habit | Delete a habit and all its check-in history |
get_habit_stats | Streak, longest streak, and 30-day completion rate |
streak_at_risk | List active streaks not yet checked in today |
get_weekly_summary | Habit completion summary for the last 7 days |
get_weekly_review | Per-habit 7/30-day data for an AI coaching briefing |
suggest_habits | AI-suggested new habits based on goals |
add_checkin_note | Add a text note on a habit's check-in |
list_chains | List habit chains — finish one, get nudged to the next |
postctl
list_posts | List posts, filter by platform/status/campaign |
get_post | Get a single post by ID with full content |
create_post | Create a draft or scheduled post |
publish_post | Publish a post immediately |
schedule_post | Update a post's scheduled time |
list_campaigns | List campaigns with post counts and status breakdown |
get_campaign | Get all posts in a campaign with full content |
AI WorkflowsKI-Workflows
Once all tools are connected, Claude can orchestrate them together. A single prompt can span multiple apps and execute a dozen tool calls automatically.Sobald alle Tools verbunden sind, kann Claude sie gemeinsam orchestrieren. Ein einzelner Prompt kann mehrere Apps umfassen und automatisch ein Dutzend Tool-Aufrufe ausführen.
Morning briefingMorning Briefing
Ask Claude: "Give me my morning briefing". Claude callsinbox, today_tasks, and todayto pull email summaries, overdue tasks, and today's events — then synthesizes them into a prioritized briefing.Frag Claude: "Gib mir mein Morning Briefing". Claude ruftinbox, today_tasks und today auf, um E-Mail-Zusammenfassungen, überfällige Aufgaben und heutige Termine zu holen — und fasst sie zu einem priorisierten Briefing zusammen.
Weekly planningWochenplanung
Ask Claude: "Help me plan my week". Claude usesthis_week, week_tasks, find_free_slots, and get_daily_note to review your schedule and draft a plan in your Obsidian daily note.Frag Claude: "Hilf mir, meine Woche zu planen". Claude nutztthis_week, week_tasks, find_free_slotsund get_daily_note, um deinen Zeitplan zu prüfen und einen Plan in deiner Obsidian Daily Note zu entwerfen.
Monthly finance reviewMonatlicher Finanz-Review
Ask Claude: "Review my finances for June". Claude callsbudget_summary, list_transactions, anddetect_recurring_payments, then useswrite_note to save the analysis to your vault.Frag Claude: "Prüfe meine Finanzen für Juni". Claude ruftbudget_summary, list_transactions unddetect_recurring_payments auf und nutzt dannwrite_note, um die Analyse in deinem Vault zu speichern.
Email to taskE-Mail zu Aufgabe
Ask Claude: "Turn important emails from this week into tasks". Claude searches your inbox (search_email), identifies action items, and creates tasks in Apple Reminders (create_task).Frag Claude: "Verwandle wichtige E-Mails dieser Woche in Aufgaben". Claude durchsucht deinen Posteingang (search_email), identifiziert Handlungsbedarf und erstellt Aufgaben in Apple Erinnerungen (create_task).
Ready to start?Bereit loszulegen? brew install — Freebrew install — Kostenlos →