Setup
Install the CLI once
The CLI is a signed helper that ships inside the app. One click links it into your shell.
Enable local automation
Open Settings → Automation in Murmur and turn on Allow local automation. Nothing outside the app can call the helper until you do.
Install the CLI
Click Install CLI in the same pane. Murmur links ~/.local/bin/murmur to the signed helper inside the app — no separate download, no package manager.
Verify from Terminal
Run murmur status. If Terminal says command not found, add the line below to ~/.zshrc and restart it.
export PATH="$HOME/.local/bin:$PATH"murmur statusGenerate
Create your first audio file
Pass text directly, or point Murmur at a UTF-8 text or Markdown script. Output can be WAV or M4A.
murmur generate \
--text "Welcome back. Today we're building a local voice workflow." \
--voice af_bella \
--speed 0.95 \
--output audio/intro.wavmurmur generate \
--input scripts/chapter-01.txt \
--model kokoro \
--output audio/chapter-01.m4amurmur models for IDs, install with murmur models install ID, and choose the default with murmur models default ID.Agents
Connect your coding agent
MCP is the agent-facing layer over the same CLI contract. Each setup uses the helper’s absolute path, so it works without any shell PATH configuration.
Codex
Adds Murmur to your Codex MCP config.
codex mcp add murmur -- /Applications/Murmur.app/Contents/Helpers/murmur mcp serveClaude Code
Registers Murmur as a user-scope stdio server.
claude mcp add --transport stdio --scope user murmur -- /Applications/Murmur.app/Contents/Helpers/murmur mcp serveCursor
Goes in ~/.cursor/mcp.json, or .cursor/mcp.json for one project.
{
"mcpServers": {
"murmur": {
"command": "/Applications/Murmur.app/Contents/Helpers/murmur",
"args": ["mcp", "serve"]
}
}
}Workflow
Ask for the outcome, not the plumbing
Read video/script.md. Split it into intro, demo, and outro. Use Murmur to create WAV files in video/voiceover/, keeping one voice and pace across every scene. Don’t replace existing takes.
The agent can inspect, download, select, and remove models; inspect voices; then submit audio work and return the exact files it created. Long operations return a job ID by default, so the agent can keep working and poll murmur_get_job without blocking the MCP connection.
Projects
Version a whole voiceover with your project
Keep a small JSON manifest beside the video script. Relative input and output paths resolve from the manifest’s folder, so the voiceover versions with the project.
{
"items": [
{
"id": "intro",
"text": "Here is the feature we are building today.",
"outputPath": "audio/01-intro.wav",
"voiceID": "af_bella",
"speed": 0.95
},
{
"id": "demo",
"inputPath": "scripts/02-demo.txt",
"outputPath": "audio/02-demo.wav",
"voiceID": "af_bella"
}
]
}murmur batch --manifest video/scenes.jsonReference
Commands & MCP tools
CLI reference
murmur status [--json]Readiness and defaultsmurmur models [--json]Model IDs and install statemurmur models install ID [--detach]Download a modelmurmur models default IDChange the default modelmurmur models remove ID --confirmRemove a downloaded modelmurmur voices [--model ID] [--json]Preset and saved voicesmurmur generate …Create one WAV or M4Amurmur batch --manifest FILECreate multiple filesmurmur jobs get IDRead a detached jobmurmur jobs cancel IDStop active generationmurmur mcp serveStart the stdio MCP serverMCP tools
murmur_statusCheck setup, license, app, and automation readiness.murmur_list_modelsSee every model, capability, and install state.murmur_list_voicesList preset voices and saved reference profiles.murmur_install_modelDownload a model as a trackable background job.murmur_set_default_modelChoose the installed model used when model_id is omitted.murmur_remove_modelRemove downloaded model files after explicit confirmation.murmur_generate_speechQueue one WAV or M4A inside the active workspace.murmur_generate_batchQueue a sequence of named audio files as one job.murmur_get_jobRead progress and finished artifact paths.murmur_cancel_jobStop an active generation, batch, or model operation.Privacy
Local by design. Explicit by default.
Automation starts disabled and must be enabled inside Murmur.
The Mac app runs generation, so the CLI and agents do not start competing model servers.
MCP reads and writes only inside the directory where the agent launched it.
Existing output fails safely unless you pass --force.
Removing downloaded model files requires confirm: true. Bundled Kokoro cannot be removed.
Prompts, scripts, saved voices, and generated audio remain on your Mac.
Help
Troubleshooting
murmur: command not found
Run the PATH command in Install the CLI, restart Terminal, or call /Applications/Murmur.app/Contents/Helpers/murmur directly.
Automation is disabled
Open Murmur → Settings → Automation and turn on “Allow local automation.” Status requests still work so agents can explain what is missing.
A model is not installed
Ask the agent to call murmur_install_model, or run murmur models install MODEL_ID. Downloads stay managed by the app and report progress through the job tools.
The output already exists
Choose a new take name, remove the old file yourself, or pass --force when replacing it is intentional.