Server data from the Official MCP Registry
Talk with your agents. A voice call in the browser that your agent can start or join.
About
Talk with your agents. A voice call in the browser that your agent can start or join.
Remote endpoints: streamable-http: https://voicehook.ai/mcp?utm_source=mcpregistry&utm_campaign=d11-registry
Security Report
The voicehook-agent CLI is a voice-call bridge for coding agents with token minting via an invite link, LiveKit data-channel publishing, and a local control socket. The code shows no obvious malicious patterns or hardcoded secrets in the visible portion, and network access to voicehook.ai is consistent with its purpose. Minor observations remain: the operator invite is passed as a query parameter (though it is redacted from error output), and the analysis covers only a truncated portion of cli.py, so the remaining modules (relay, transport, activity, selfupdate) were not reviewed.
3 files analyzed · 3 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Install & Connect
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
Documentation
View on GitHubFrom the project's GitHub README.
voicehook-agent
Talk to your coding agents instead of reading their output.

voicehook.ai is a voice call in the browser. Hit "invite agent", hand the link to Claude Code, Codex or opencode, and talk to it while it keeps working. Delta, the voice in the call, answers from the status board and FAQ your agent keeps up to date, so you hear what is going on without opening a terminal.
This repo holds the agent side: the voicehook-join Claude Code plugin and the
voicehook-agent CLI that lets any agent with a shell join a call.
Three ways to connect
| Your agent | How to connect |
|---|---|
| Claude Code | Plugin, two commands (see below). Details |
| claude.ai / Claude Desktop | Custom connector https://voicehook.ai/mcp (Settings, Connectors, Add custom connector; no key). Guide |
| Any agent with a shell | Quickstart A (HTTPS bridge, nothing to install) or the CLI |
Which one? MCP (connector or plugin) is the entry: nothing to install, one agent per call, the only path with
create_call, cards and decisions. The CLI is the pro tool for multi-agent work on one machine. The
HTTPS bridge is the protocol underneath and the fallback.
MCP/bridge = one agent in the call; activity lines are only what that agent writes by hand. For several agents/sessions on one machine working on one call, use the voicehook-agent CLI (pro): its multi-session relay + Claude Code hook feed the live activity log, status and decisions of ALL local sessions into the call automatically. MCP/bridge run on the server and cannot see the user's local sessions.
| path | role | use it when |
|---|---|---|
MCP (voicehook.ai/mcp) | entry + distribution | a single agent in a call, cloud/sandbox sessions, starting a call yourself |
CLI (voicehook-agent) | pro tool for multi-agent work | several agents/sessions on one machine in one call, live activity log of all sessions |
Bridge (/api/bridge/*) | protocol underneath + fallback | no MCP client and no CLI |
Details and install without git: docs/CLI.md.
In Claude Code:
/plugin marketplace add voicehook-ai/voicehook-agent
/plugin install voicehook-join@voicehook
Once connected, paste an invite link (https://voicehook.ai/r/<slug>?invite=<code>)
into your agent and it joins the call.
MCP tools (connector and plugin):
| tool | what it does |
|---|---|
create_call | start a new call for your user (main agent only: never delegate create_call to a subagent, the link would stay in its thread): human_url plus share_text (pass it on verbatim: open the link in a normal browser, not an app's built-in browser); hard rule: show share_text as text first, then join again until connected, then the next loop |
join | join a call from an invite link with your chip label; greets for you in the call language (greet, default on); returns the session, the call language and the call context (first_actions); before the person opened a create_call link it waits (up to 200 s in Claude clients, else 50 s) and returns waiting_for_human with next_action: call it again at once until it returns the session, never end the turn before; a local Claude Code also gets local_cli_hint (this CLI keeps it in the call) |
next | wait up to 50 s for the next turn (user, decision, operator, context, ended); call it at least every 10 to 15 s, one loop per agent; after a pause it brings missed |
say | the voicebot speaks the text |
status | status board (never spoken) the voicebot answers from, optional chip emoji |
show | a card on the call page (text, code, link or image), never spoken; an image card REQUIRES context (all information in the image as text, invisible on the page: the voicebot cannot see images) |
activity | one line of 3 to 8 words for the activity feed, on every step |
decide | a question for the Decision Board (yes/no or up to 3 options); the answer comes back in next |
leave | leave the call |
On 5xx, 503 or a network error the agent simply calls the tool again after 2 s; the session stays valid. Several agents in one call: rules.
CLI quickstart
uvx voicehook-agent join 'https://voicehook.ai/r/<slug>?invite=<code>' --name <your-own-name> --model <your-model-name>
--nameand--modelare mandatory: a display name the agent picks for itself and the exact model it runs on. Name your real model and vendor, never "Claude" unless you are Claude.- Use the full invite link, including
?invite=<code>. - stdout prints what the user and the voicebot say; every line on stdin is spoken.
In a call, keep voicehook-agent listen running in your harness's background mode
(Claude Code: run_in_background, never &/nohup): it exits on the first event that
needs you, which wakes you; start it again after handling it. Since 0.21.4 the Stop hook
(voicehook-agent hook install) blocks a turn end while your join is connected and nobody
listens (listen guard). Since 0.21.5
the join itself holds your presence and spools every event durably while you work
(event spool): listen picks them
up with a cursor, nothing is lost, and the Stop hook warns on unread events. When you wait for
the human, ALWAYS decide, never only a status (0.21.6: status --waiting ... --question ...
shows "wartet auf dich" together with the decision). In a call: answer every utterance first
(say), hand work longer than 2 tool calls to background agents, keep turns short; since 0.21.7
new utterances reach you mid-turn through the PostToolUse hook.
Every decision and every status entry MUST carry hidden background for the voicebot
(0.21.4): --context "..." plus the 3 most likely follow-up questions with prepared
answers, --faq "Frage::Antwort" (no answer yet: say who works on it and the ETA, "In
Arbeit bei , Ergebnis ca. 10 Min"). Activity lines may carry them too. On status
they attach to the item they follow; without them the CLI prints a hint (see
docs/CLI.md).
For a loop without polling (say, next, status, leave), the status board, the activity
hook and all flags see docs/CLI.md. Since 0.21.0: decide --context "..."
gives Delta the background of a question, ui large decisions / ui layout thirds /
ui focus voicehook control the call page of the humans, status|activity --project NAME
tags your project (docs/CLI.md).
Since 0.23.0 the agent in the call can give Delta standing rules and facts while the call
runs, so he answers more himself: voicehook-agent delta-rule add "Sprich den Kunden mit Sie an", voicehook-agent delta-note add "Der Release ist am Freitag", ... list, ... rm <id>.
Silent, from his next turn, max 20 rules and 30 facts of 300 characters.
Right after join (0.21.4) the CLI lists the other Claude Code / Codex sessions running on
this machine and suggests asking the human "Soll ich die anderen N Sessions hier einbinden,
damit sie ihren Status in den Call bringen?"; on yes the agent runs the printed setup
commands. Agents on MCP or the bridge cannot see local sessions: they say it works in
principle with the CLI installed: uv tool install voicehook-agent && voicehook-agent hook install.
Several Claude Code sessions on one machine (0.15.0): run voicehook-agent hook install
once; while one session is in a call, every other session reports turn goal, PR, deploy
and errors under its own name in the call's activity feed
(multi-session relay).
Since 0.16.0 such a helper session can also ask the human (decide, answer via
relay-next or decide --wait) and keep its own status board (status --doing ...)
(helper sessions).
OpenAI Codex CLI (0.20.0): voicehook-agent hook install --agent codex writes the same
automation into ~/.codex (hooks.json, notify, a local MCP server with status,
decide, next, activity; backup first), then trust the hooks once with /hooks in
Codex (other coding agents).
Watcher (0.32.0): while a call is active, join and helper-import start ONE detached
voicehook-agent watch per machine. It keeps every local session's board entry current with
one whole German sentence (cheapest model, claude -p --model haiku, hourly token cap, else a
fixed sentence), adds an activity line on state changes and removes decisions of sessions that
went on. Interval 1/5/10/15 min (call page > --interval > 15); it ends with the call;
VOICEHOOK_WATCH=0 turns it off
(watcher).
Session Watcher (0.34.0, named so since 0.35.0): voicehook-agent connect once (approve the code in the browser), then
voicehook-agent caretaker install: the watcher is active in every call of yours automatically, no
per-call start and no keys to create
(caretaker).
Pricing
About 10 minutes free every day. Prepaid from 10 EUR, no subscription.
Documentation
| Document | Contents |
|---|---|
| docs/CLI.md | Install, agent loop commands, status board and FAQ, speaking style, activity feed and hooks, shapes, self-update, Claude Code plugin, skill registration |
| docs/PROTOCOL.md | stdin/stdout protocol, data-channel topics, relay flags, HTTPS bridge, wake marker, server behaviour, environment variables |
| docs/DEVELOPMENT.md | CI jobs, plugin releases, CLI releases, PyPI setup |
| OPERATOR-PROTOCOL.md | Server-side operator protocol (voicehook.ai) |
Development, CI and releases
CI runs tests, ruff, plugin validation, a secret scan and a skill drift check on every PR. Release tags, the plugin release checklist and the PyPI setup are in docs/DEVELOPMENT.md.
License
MIT, see LICENSE.
Made in Germany, hosted in Nuremberg (Hetzner). No cookies, no tracking, no call recordings. Nothing you or your agent say is stored. Privacy policy
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
