Talk to Claude Code by voice: OpenWhisp is now an MCP server
To talk to Claude Code by voice, enable OpenWhisp's Agent Bridge and run one command: openwhisp setup claude-code. It registers OpenWhisp as an MCP server and adds the agent instruction for you. From then on your agent asks questions out loud — the voice overlay opens, you speak, and when you go quiet the transcript returns to the agent. Everything runs on your Mac; no cloud, no API key.
If you use a coding agent, you know the rhythm: it works for a while, then stops to ask a question — “deploy to staging or production?”, “which of these three approaches do you prefer?” — and you type a paragraph back into a chat box. OpenWhisp’s new Agent Bridge closes that loop with your voice: the agent asks out loud, you answer out loud, and it keeps working. No other dictation app ships this.
What the Agent Bridge is
OpenWhisp now doubles as a local Model Context Protocol server — the standard way tools plug into agents like Claude Code, Cursor, Hermes, and OpenClaw. Register it once and your agent gets three new tools:
- openwhisp_dictate — the agent asks you a question by voice. OpenWhisp’s overlay opens with the prompt, you speak, and the transcript returns to the agent.
- openwhisp_refine — the agent rewrites text using the same on-device AI model as your refine hotkey. No other dictation app exposes this to agents at all.
- openwhisp_history — the agent reads your recent dictations (text, timestamp, target app), stored only on your Mac.
Set it up in one command
Turn the bridge on in Settings → Agent Bridge (it’s off by default — nothing listens until you enable it), then let OpenWhisp wire itself up:
openwhisp setup claude-codeThat does two things: registers OpenWhisp as an MCP server (via claude mcp add), and appends a standing instruction to your ~/.claude/CLAUDE.md telling the agent to ask questions through openwhisp_dictate instead of plain text. The instruction line matters — agents only reach for tools they’re told to prefer. Both steps are idempotent, so re-running is safe, and --print previews the changes without writing anything.
openwhisp setup cursor merges the server into your project’s .cursor/mcp.json without disturbing other servers you have; Hermes and OpenClaw get printed instructions. The first time an agent connects, OpenWhisp asks you to approve it — once, always, or only while the app runs.
Example 1: answer your agent without touching the keyboard
You ask Claude Code to ship a release. Mid-task it needs a decision, so instead of parking the question in the terminal and waiting for you to notice, it calls openwhisp_dictate:
● openwhisp_dictate("Tests pass. Deploy to staging or production?")
↳ the OpenWhisp overlay opens — you say:
"production, and tag it v1.4"
↳ you go quiet — the answer is sent on its own
● Deploying to production, tagging v1.4…You were reading a doc in another window; you answered in three seconds without switching apps or pressing a single key — when you stop talking, OpenWhisp detects the silence and ends the turn for you (a natural pause between words won’t cut you off; toggleable in Settings). Prefer an explicit finish? openwhisp dictate --stop from any shell sends what was captured, and --cancel discards it. This is the difference between an agent that waits for typed input and one you can talk to.
Example 2: brain-dump a bug report, let the agent file it
Describing a bug is faster out loud than in prose. Tell your agent “ask me about the bug, then file a GitHub issue” and it will interview you by voice — what happened, how to reproduce it, what you expected — then turn your rambling answers into a clean, structured issue. You talk for ninety seconds; it writes the report.
Example 3: your dictation AI, in any shell pipeline
The bridge also ships an agent-callable CLI, which means the refine step works anywhere you can pipe text — no agent required:
# make the clipboard formal, in place
pbpaste | openwhisp refine -i "make it formal" | pbcopy
# tighten a commit message before you commit
git log -1 --format=%B | openwhisp refine -i "tighten this up"The rewrite runs on the same on-device model as OpenWhisp’s refine hotkey — your prompts, your machine, nothing sent anywhere.
Example 4: turn your dictation history into a standup
Everything you dictate is already in OpenWhisp’s local, searchable history. With openwhisp_history, your agent can use it: “read my dictations from this morning and draft a standup update” — and the notes you spoke into tickets, commit messages, and chats all day become a summary you didn’t have to write.
Built so agents can’t go rogue
Handing agents a microphone and an AI model deserves paranoia, so the bridge is engineered around consent:
- Off by default. No socket exists until you enable the bridge in Settings.
- You approve every client. Each agent is approved the first time it connects, and you can revoke any of them in Settings.
- Local, signed connections only. The transport is a private UNIX socket on your Mac — not a TCP port — and by default only OpenWhisp’s own code-signed CLI may connect, so browser pages and random processes can’t reach it.
- The cloud gate. If your AI provider is OpenAI, agent-initiated refinement is blocked unless you explicitly allow it — a prompt-injected agent can’t exfiltrate text through your API key. Local models are unaffected.
- The human always wins the mic. Pressing your dictation hotkey during an agent session cancels it — the agent gets nothing — and starts your own. Agent microphone use always shows the overlay, and password fields are never dictated into.
The full design is documented in docs/AGENT_BRIDGE.md — and because OpenWhisp is open source, you can read the implementation rather than take the security story on faith.
Frequently asked questions
- Does voice input work with Cursor and other agents, not just Claude Code?
- Yes. Any MCP-capable agent can use the bridge — run `openwhisp setup <agent>` for Cursor, Hermes, or OpenClaw. Short tool-call timeouts aren't a problem either: while a dictation waits for you, OpenWhisp streams MCP progress notifications so agents like Cursor (which caps tool calls near 60 seconds) don't give up mid-answer.
- Is my voice sent to the cloud when an agent asks me a question?
- No. The agent's question and your spoken answer are handled entirely on your Mac — transcription runs on-device, and the bridge itself is a local UNIX socket, not a network service. Cloud AI is only involved if you explicitly allow agents to use a cloud provider for refinement.
- Can any process on my Mac connect to the Agent Bridge?
- No. The bridge is off by default, the socket is only readable by your user account, and by default only OpenWhisp's own code-signed CLI may connect. On top of that, every agent must be approved by you the first time it connects.
Try OpenWhisp
Free, open source, and 100% on-device dictation for Apple Silicon Macs.