MCP server shim for Prodius — lets AI agents reach you by voice
Project description
prodius-mcp
Let your AI agents reach you by voice.
prodius-mcp is a lightweight MCP server that bridges any MCP-capable AI tool (Claude Code, Cursor, Windsurf, Codex CLI, and more) to the Prodius desktop app. When an agent needs your input, a popup appears on your screen — wherever you are — and you answer by voice. No switching back to the terminal.
It's a thin stdio shim: standard library only, no third-party dependencies, fast startup, and it talks only to the Prodius desktop app running locally on 127.0.0.1.
Requirements
- Python 3.10+
- The Prodius desktop app installed and running, with Voice Bridge enabled in settings.
Install
pip install prodius-mcp
If prodius-mcp isn't found afterwards, make sure the Python environment you installed into is on your PATH — or use pipx install prodius-mcp.
Connect your tool
Claude Code
The quickest start is one command:
claude mcp add prodius -- prodius-mcp
For the full experience (correct agent label in the modal header, automatic conversation reset on /clear), add the block below to your ~/.claude/settings.json instead. The claude mcp add shortcut omits both pieces.
{
"env": { "PRODIUS_AGENT_NAME": "Claude Code" },
"mcpServers": {
"prodius": {
"command": "prodius-mcp",
"args": [],
"env": { "PRODIUS_AGENT_NAME": "Claude Code" }
}
},
"hooks": {
"SessionStart": [
{ "matcher": "*", "hooks": [{ "type": "command", "command": "prodius-mcp-reset" }] }
]
}
}
The SessionStart hook calls prodius-mcp-reset whenever you run /clear or open a new session so Prodius doesn't carry stale context across conversations. The top-level env makes the agent name visible to that hook.
To enable voice push (microphone stays available between questions so you can speak to Claude anytime, not just when it asks), start Claude with the channels flag:
claude --dangerously-load-development-channels server:prodius
Cursor / Windsurf / any MCP client
Add to your client's MCP config (e.g. ~/.cursor/mcp.json):
{
"mcpServers": {
"prodius": { "command": "prodius-mcp" }
}
}
Codex CLI
[mcp_servers.prodius]
command = "prodius-mcp"
env = { PRODIUS_AGENT_NAME = "Codex CLI" }
Full setup instructions for each tool, including session-reset hooks and optional voice push, live at prodius.ai/connect.
Tools exposed
| Tool | What it does |
|---|---|
ask_user |
Pops a question on your screen and captures your spoken (or typed) reply. Supports optional clickable answer buttons. |
notify |
Reports a result to you via a desktop overlay — meant as the agent's final action so its response is never invisible. |
Configuration
The shim auto-discovers the running Prodius app. You rarely need to set anything, but these environment variables override the defaults:
| Variable | Purpose | Default |
|---|---|---|
PRODIUS_MCP_TOKEN |
Auth token for the local Prodius server. | Read from the Prodius app's settings.json. |
PRODIUS_BASE_URL |
Prodius local server URL. | Discovered from settings (http://127.0.0.1:5555). |
PRODIUS_AGENT_NAME |
Label shown so you know which agent is asking. | Unknown Agent |
Console scripts
-
prodius-mcp— the MCP server (run by your AI tool, not by hand). -
prodius-mcp-reset— resets the Prodius conversation. Wire it to a Claude CodeSessionStarthook (see the snippet above) so a new session doesn't inherit stale context. -
prodius-permission-hook— routes Claude Code tool-approval prompts to the Prodius voice overlay so you can speak "allow" / "deny" from anywhere. Add it as aPreToolUsehook in~/.claude/settings.json:"hooks": { "PreToolUse": [ { "matcher": "*", "hooks": [{ "type": "command", "command": "prodius-permission-hook" }] } ] }
Falls through to the normal terminal prompt if Prodius isn't running — never blocks you. Full instructions at prodius.ai/connect.
Troubleshooting
- Popup doesn't appear? Confirm the Prodius desktop app is running with Voice Bridge enabled, and that
prodius-mcpis on yourPATH. - Agent doesn't receive your answer? Check your microphone works in Prodius (try a normal dictation), then restart your AI tool after editing its config.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prodius_mcp-0.2.1692.tar.gz.
File metadata
- Download URL: prodius_mcp-0.2.1692.tar.gz
- Upload date:
- Size: 40.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10488acf0104c8251f0df12158b37ff055abafa103aabafc0757286dd4f422fe
|
|
| MD5 |
f1c5d4d1da95304570101395e65fe987
|
|
| BLAKE2b-256 |
874ac3681a1619d018e6f608775f222cc936e26665715ec7d239c730c9bbcc79
|
File details
Details for the file prodius_mcp-0.2.1692-py3-none-any.whl.
File metadata
- Download URL: prodius_mcp-0.2.1692-py3-none-any.whl
- Upload date:
- Size: 28.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cf0b008b0ec451c0f2afdc4bf7eaaa3c634e1a0efd33549311516ec83530a8b
|
|
| MD5 |
d58b9cbff8056b77028ef34ad6707f9a
|
|
| BLAKE2b-256 |
b1bd2b58a3df3f9b196668c7b4e9b4886ad4c2715e02a62c3070da5b0bd077b0
|