missionctl suite · macOS + Linux

notectl

Notes from your Terminal

Notes and daily notes via MCP — Obsidian, Apple Notes, or Joplin, synced individually or together. Works on macOS and Linux. 8 MCP tools for AI-powered note-taking.

Download — FreeGet the Bundle — $39Unlock 2nd vault — $9 (-30% w/ L4uNch26)
notectl — daily note
$ notectl daily
✓ Opened daily note: 2026-07-04.md

$ notectl write "Meeting notes" --tags meeting,q3
✓ Created: vault/notes/Meeting notes.md

$ notectl search "Q3 budget"
Found 4 notes:
  vault/notes/Q3 Budget Review.md
  vault/daily/2026-06-28.md
  vault/notes/Finance Goals.md
  vault/notes/Meeting notes.md█

The terminal app

Type notectl — this is the real TUI with made-up demo data. T switches the colour theme.

notectl

Features

Obsidian Vault Support

Works directly with your existing Obsidian vault. No migration, no sync conflicts — reads and writes standard Markdown files.

Daily Notes

Auto-create and open today's daily note with your template. AI can append to your daily log via MCP.

Full-text Search

Search across your entire vault instantly. Returns ranked results with context snippets.

Tag-based Filtering

Filter notes by Obsidian tags, links, or frontmatter fields. Great for project-scoped AI workflows.

Apple Notes Sync (macOS)

Optional source backend alongside Obsidian/Joplin/Markdown. Reads and writes native Apple Notes over AppleScript — no export step.

Joplin Support

Reads and writes Joplin notes via its local Data API — including nested notebooks (Parent/Child paths), created automatically if they don't exist yet. Requires Joplin running with Web Clipper enabled.

Sync Multiple Sources at Once

sync_sources combines Obsidian, Apple Notes, and Joplin into one browsable cache — e.g. Apple Notes + Joplin together. Writing a new note still targets exactly one source, chosen via `source`.

Multiple Vaults (Bundle)

notectl vault add/list/use manages several named vaults and switches between them. The free tier includes one; more unlocks with the missionctl Bundle.

Real Checklist State (macOS)

Checked/unchecked status for Apple Notes checklists isn't exposed by AppleScript at all — notectl reads it straight from Notes' own local database, so ☑ and ☐ in the terminal always match what you see in the Notes app.

Command Palette

Press ":" and type an action by name — new note, sync, browse tags — instead of memorizing shortcuts. Live-filtered as you type.

Apple Notes checklists, done right

AppleScript's body of note doesn't expose whether a list item is checked — or even whether it's a checklist at all. Most tools that bridge Apple Notes either can't show checkbox state or fake it.

notectl reads it straight from Notes' own local database instead, so the terminal always matches what's actually checked in the Notes app — no guessing, no stale state.

notectl — Product Launch Checklist
🚀 Product Launch Checklist

📋 Pre-Launch
☑ Finalize pricing page
☑ Write announcement blog post
☐ Record demo video
☐ Submit to Product Hunt

🎯 Launch Day
☐ Post on Twitter/X
☐ Send email to waitlist
☐ Monitor error logs

esc:back  e:edit  space:toggle checkbox  q:quit

Command Reference

notectl — cheatsheet
# Open today's daily note
$ notectl daily

# Write a new note
$ notectl write "Meeting notes"
$ notectl write "Ideas" --tags project,ideas

# Read a note
$ notectl read "Meeting notes"

# Search vault
$ notectl search "Q3 budget"
$ notectl search --tag meeting

# List recent notes
$ notectl list --recent 10

# Append to daily note
$ notectl append --daily "- Fixed the login bug"

# Start MCP server
$ notectl mcp

MCP Tools

Available via notectl mcp

ToolDescription
list_notesList notes from the local cache, sorted by most recently modified
read_noteRead the full content of a note by title
write_noteWrite or update a note in the configured source — Obsidian, Apple Notes, or Joplin
search_notesSearch notes by keyword across title and content
sync_notesSync the configured source(s) into the local cache — one or several at once
get_daily_noteGet today's daily note, created from template if missing
append_daily_noteAppend content to today's daily note under a named section
delete_noteDelete a note by title — refuses to guess if the title isn't unique, so you can pass a folder to disambiguate

Ready to give your AI hands?

Free and open source. Or get the lifetime Bundle for all 9 tools — launch special: -30% with code L4uNch26.

Download — FreeGet the Bundle — $39Unlock 2nd vault — $9 (-30% w/ L4uNch26)