I talk to myself a lot. Not in a concerning way, more like a running commentary on life, ideas, things I need to remember. The problem is, those thoughts used to disappear into the ether. Now they end up in my second brain.

One Button Recording

I wear an Apple Watch Ultra. On the side there’s an action button. Big, orange, impossible to miss. I set it to record Voice Memos. One press and I’m recording. Walking to lunch, driving to work, lying in bed at 2am with an idea I’ll definitely forget by morning. Press, talk, done.

The memos pile up. Some are grocery lists. Some are half-baked product ideas. Some are specific thoughts about projects I’m working on. All of them were archived in the Voice Memos app. A couple times a week, I’d open my laptop where iCloud had synced the recordings. I’d go into the Voice Memos app, hit transcribe on each recording, copy the transcription, paste it into my second brain, then process with Claude Code. It worked fine but those steps quickly got monotonous.

My Second Brain

My vault is an Obsidian folder—markdown files organized by date and topic, all linked together with [[wikilinks]]. Notes about people, places, trips, recipes, projects. Everything connected. I’ve taught Claude Code how the vault works via a CLAUDE.md file with all my naming conventions, folder structures, and linking rules.

Too Much Friction

The gap between a voice memo on my watch and a note in my vault was all manual. Transcribe, copy, paste, file, link. Friction kills habits, and this had too much friction.

I wanted to tell Claude: “Listen to my voice memos from today and process them into my vault.”

So I (with Claude Code) built the MCP tools to make that possible.

What I Built

MCP (Model Context Protocol) is Anthropic’s standard for giving AI assistants access to external tools and data. I built two servers:

apple-voice-memo-mcp reads directly from the Voice Memos database on macOS. It can list memos, get metadata, extract audio, pull existing transcripts, and transcribe on-device using Apple’s speech recognition. No cloud APIs, no sending my rambling thoughts to third parties. As far as I can tell, nobody else has built Voice Memos access for MCP.

whisper-mcp handles transcription with OpenAI’s Whisper model, running locally. There are several Whisper MCP servers out there. Mine is as light as possible, built to pair with the voice memo server above.

Now I Just Talk

Now my note-taking routine includes a simple command in Claude Code:

“Process my voice memos.”

Claude finds the recordings, transcribes them, figures out what each one is about, and files them appropriately. A random thought about a food project goes to my cooking folder. A reminder to call someone becomes a task. A shower thought about some code I’m writing gets appended to that project’s notes.

The friction is gone. I talk, and the thoughts find their way home.

I lose ideas all the time. The gap between having a thought and capturing it is where most of them die. The watch closes that gap. The MCP servers close the gap between capture and organization.

Get the Tools

Both servers are in the official MCP registry and on npm. Add them to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "apple-voice-memo-mcp": {
      "command": "npx",
      "args": ["-y", "apple-voice-memo-mcp"]
    },
    "whisper-mcp": {
      "command": "npx",
      "args": ["-y", "whisper-mcp"]
    }
  }
}

For Claude Code, add the same to ~/.claude/settings.json or your project’s .mcp.json.

Requirements: macOS Sonoma+, Node.js 18+, Full Disk Access permission. For whisper-mcp, also brew install whisper-cpp ffmpeg.

Source code is MIT licensed on GitHub:

If you have ideas for improvements, PRs are welcome.

The best tools are the ones that disappear. Press a button, talk, and trust that the thought will end up where it belongs.

– John