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#
claude mcp add macrophone -- macrophone mcpThat adds it to the current project. To have it in every project, add it at user scope:
claude mcp add --scope user macrophone -- macrophone mcpRun /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:
{
"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#
| Tool | Input | Returns |
|---|---|---|
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.