Macrophone

Docs

MCP server

Give Claude, or any agent that speaks the Model Context Protocol, a tool that reads what you just said or waits for what you say next.

The server is the macrophone mcp command: JSON-RPC 2.0 over standard input and output, MCP protocol version 2025-06-18 (older client versions are accepted). It reads from the Mac app's local API, so Macrophone for Mac must be running. Install the command-line tool first.

Claude Code#

Terminal
claude mcp add macrophone -- macrophone mcp

That adds it to the current project. To have it in every project, add it at user scope:

Terminal
claude mcp add --scope user macrophone -- macrophone mcp

Run /mcp inside Claude Code to check it's connected.

Claude Desktop#

Open Settings › Developer › Edit Config in Claude Desktop, or edit ~/Library/Application Support/Claude/claude_desktop_config.json, and add:

claude_desktop_config.json
{
  "mcpServers": {
    "macrophone": {
      "command": "/usr/local/bin/macrophone",
      "args": ["mcp"]
    }
  }
}

Use the full path: apps opened from the Dock don't see your shell's PATH. Restart Claude Desktop afterwards.

Other clients#

Any MCP client that can launch a local stdio server works the same way: the command is /usr/local/bin/macrophone with the single argument mcp. If you didn't install the command-line tool, use /Applications/Macrophone.app/Contents/Helpers/macrophone.

Tools#

ToolInputReturns
get_latest_dictation{ "raw"?: boolean }The latest dictation’s text (the raw transcript when raw is true), with its metadata as structured content.
list_dictations{ "limit"?: 1–50 }Recent dictations, newest first.
wait_for_dictation{ "timeout_seconds"?: 1–300 }The next dictation’s text, or “No dictation arrived in N seconds.”

The metadata is the same dictation object the API returns, so it carries reply too: Claude's answer when the profile has an Ask Claude action, or null. The tool's text is always your dictation.

Prompts to try#

  • “Wait for my next dictation and treat it as the task.”
  • “I'm going to describe the bug out loud. Wait up to five minutes, then reproduce it.”
  • “Use my latest dictation as the commit message, tidied into one line.”
  • “List my last five dictations and turn them into a checklist.”

MCP or app targeting?#

They solve different problems. With MCP, Claude asks for your voice: it calls wait_for_dictation and carries on when you answer, whatever window is in front. With app targeting, you start the turn: Macrophone types your prompt into the Claude app or the Terminal tab running Claude Code, and sends it. Many people use both.

A dictation is your words, not a command from Macrophone. Claude sees them exactly as you said them (cleaned up, if cleanup is on), with nothing added.