Skip to main content
Glama

Voice Memo Hub

Python Status License

Voice Memo Hub turns Apple Voice Memos into a local inbox for transcription, search, review, and safe Codex workflow handoff.

It is designed for an always-on Mac that ingests synced Voice Memos, transcribes them locally when configured, indexes them in SQLite, and prepares bounded workflow candidates for humans or agents to review.

Alpha: this project is early. CLI flags, policy shape, data schema, and install flow may change before beta.

What It Does

  • Reads Apple Voice Memos metadata from the local synced Voice Memos container.

  • Copies new .m4a files into a managed private archive outside the repo.

  • Stores durable metadata in SQLite.

  • Indexes transcripts with SQLite FTS5.

  • Optionally transcribes locally with MLX Whisper.

  • Extracts conservative action candidates for review.

  • Applies narrow external automation policy for safe local handling.

  • Exposes a small stdio MCP server for Codex and other clients.

Related MCP server: Granola MCP Server

Privacy Model

The repo contains code, docs, and generic examples only. Runtime data belongs outside git:

~/Library/Application Support/voice-memo-hub/

That runtime directory may contain raw audio, transcripts, logs, policy files, workflow state, and local outbox files. Do not commit it.

Automation policy is runtime configuration, not app code. See docs/POLICY.md.

Current Status

This repo is in public alpha. The core local workflow is available:

  • ingest synced Apple Voice Memos

  • transcribe selected recordings with optional local dependencies

  • search transcripts

  • extract and review action candidates

  • prepare Codex task prompts

  • run a narrow safe automation dispatcher

  • serve read-first MCP tools

Known limitations:

  • macOS Voice Memos storage is private app data and can be affected by Apple sync and privacy behavior.

  • launchd may need a host-specific access workaround on some Macs.

  • automatic action execution is intentionally limited to local status updates, local outbox files, and fixed-template notifications.

  • no hosted API or packaged installer is provided yet.

  • schema migrations are not stabilized for long-lived external users.

Quick Start

Prerequisites: macOS, Python 3.9+, local access to the synced Voice Memos container, and optional MLX Whisper dependencies for transcription.

git clone https://github.com/OWNER/voice-memo-hub.git
cd voice-memo-hub
python3 -m venv .venv
. .venv/bin/activate
pip install -e ".[transcribe]"
memo doctor
memo ingest
memo list
memo search "idea"
memo transcribe --pending --limit 2 --max-duration-seconds 1800
memo actions --extract
memo inbox
memo automate --dry-run

Without the optional transcribe dependencies, ingest/search still works after transcripts are available.

Common Commands

memo doctor
memo run-once --transcribe --limit 2 --max-duration-seconds 1800 --apply-policy
memo digest --limit 10
memo policy
memo policy --check <action_id>
memo automate --dry-run
memo approve <action_id> --note "reason"
memo prepare-codex-task <action_id>
memo dispatch <action_id> --runner codex

dispatch records a handoff in workflow_runs; it does not execute arbitrary work by itself. Codex should use prepare-codex-task as the safe prompt source.

Default Paths

Voice Memos source:

~/Library/Group Containers/group.com.apple.VoiceMemos.shared/Recordings

Voice Memo Hub runtime:

~/Library/Application Support/voice-memo-hub

External policy:

~/Library/Application Support/voice-memo-hub/config/policy.json

Automation Safety

The dispatcher only runs allowlisted action types:

  • mark_reviewed: local database status update.

  • prepare_codex_task: writes a prompt file under runtime outbox/.

  • local_notification: fixed-template macOS notification.

External writes, deploys, commits, pushes, public posts, email, work-system updates, and device-control actions should remain manual or approval_required policy rules.

See config/automation-policy.example.json for a generic starter policy.

Codex MCP

Voice Memo Hub includes a stdio MCP server for Codex:

[mcp_servers.voice_memo_hub]
command = "/path/to/voice-memo-hub/.venv/bin/python"
args = ["-m", "voice_memo_hub.mcp_server"]
startup_timeout_sec = 30.0

The MCP server exposes read-first tools for recent memos, transcript search, recording detail, action candidates, marking reviewed, prompt preparation, and digest rendering.

Documentation

Development

python3 -m venv .venv
. .venv/bin/activate
pip install -e ".[transcribe]"
python3 -m pytest
python3 -m voice_memo_hub.cli --help

Community And Support

  • Use GitHub Issues for bugs and concrete feature requests.

  • Security reports should follow SECURITY.md.

  • External contributions are welcome after alpha expectations are documented in CONTRIBUTING.md.

License

Apache License 2.0 - Copyright 2026 Voice Memo Hub contributors.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jremick/voice-memo-hub'

If you have feedback or need assistance with the MCP directory API, please join our Discord server