Voice Interface▌

by shantur
Voice Interface is a browser-based speech to text website offering fast, hands-free speech to text online and website sp
Provides browser-based voice input/output capabilities for conversations, featuring real-time speech-to-text recognition, text-to-speech synthesis, and voice message queuing through a web interface for hands-free interactions and accessibility applications.
best for
- / Hands-free AI conversations while multitasking
- / Accessibility support for voice-based interactions
- / Remote AI access from mobile devices
- / Natural language coding assistance
capabilities
- / Convert speech to text in 30+ languages
- / Synthesize text to speech with custom voices
- / Conduct real-time voice conversations
- / Queue and manage voice messages
- / Control voice system status and settings
what it does
Enables voice conversations with AI assistants through your browser using speech-to-text and text-to-speech. No additional software or API keys required.
about
Voice Interface is a community-built MCP server published by shantur that provides AI assistants with tools and capabilities via the Model Context Protocol. Voice Interface is a browser-based speech to text website offering fast, hands-free speech to text online and website sp It is categorized under communication, ai ml. This server exposes 5 tools that AI clients can invoke during conversations and coding sessions.
how to install
You can install Voice Interface in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
license
MIT
Voice Interface is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
readme
Jarvis MCP
Bring your AI to life—talk to assistants instantly in your browser. Compatible with Claude Desktop, OpenCode, and other MCP-enabled AI tools.
✅ No extra software, services, or API keys required—just open the web app in your browser and grant microphone access.
Features
🎙️ Voice Conversations - Speak naturally with AI assistants
🌍 30+ Languages - Speech recognition in multiple languages
📱 Remote Access - Use from phone/tablet while AI runs on computer
⚙️ Smart Controls - Collapsible settings, always-on mode, custom voices
⏱️ Dynamic Timeouts - Intelligent wait times based on response length
🧰 Zero Extra Software - Runs entirely in your browser—no extra installs or API keys
🔌 Optional Whisper Streaming - Plug into a local Whisper server for low-latency transcripts
Easy Installation
🚀 One-Command Setup
Claude Desktop:
npx @shantur/jarvis-mcp --install-claude-config
# Restart Claude Desktop and you're ready!
OpenCode (in current project):
npx @shantur/jarvis-mcp --install-opencode-config --local
npx @shantur/jarvis-mcp --install-opencode-plugin --local
# Start OpenCode and use the converse tool
Claude Code CLI:
npx @shantur/jarvis-mcp --install-claude-code-config --local
# Start Claude Code CLI and use voice tools
🤖 Why Install the OpenCode Plugin?
- Stream voice messages into OpenCode even while tools are running or tasks are in progress.
- Auto-forward pending Jarvis MCP conversations so you never miss a user request.
- Works entirely locally—no external services required, just your OpenCode project and browser.
- Installs with one command and stays in sync with the latest Jarvis MCP features.
📦 Manual Installation
From NPM:
npm install -g @shantur/jarvis-mcp
jarvis-mcp
From Source:
git clone <repository-url>
cd jarvis-mcp
npm install && npm run build && npm start
How to Use
- Hook it into your AI tool – Use the install command above for Claude Desktop, OpenCode, or Claude Code so the MCP server is registered.
- Kick off a voice turn – Call the
conversetool from your assistant; Jarvis MCP auto-starts in the background and pops openhttps://localhost:5114if needed. - Allow microphone access – Approve the browser prompt the first time it appears.
- Talk naturally – Continue using
conversefor every reply; Jarvis MCP handles the rest.
Voice Commands in AI Chat
Use the converse tool to start talking:
- converse("Hello! How can I help you today?", timeout: 35)
Browser Interface
The web interface provides:
- Voice Settings (click ⚙️ to expand)
- Language selection (30+ options)
- Voice selection
- Speech speed control
- Always-on microphone mode
- Silence detection sensitivity & timeout (for Whisper streaming)
- Smart Controls
- Pause during AI speech (prevents echo)
- Stop AI when user speaks (natural conversation)
- Mobile Friendly - Works on phones and tablets
Remote Access
Access from any device on your network:
- Find your computer's IP:
ifconfig | grep inet(Mac/Linux) oripconfig(Windows) - Visit
https://YOUR_IP:5114on your phone/browser - Accept the security warning (self-signed certificate)
- Grant microphone permissions
Perfect for continuing conversations away from your desk!
Configuration
Environment Variables
export MCP_VOICE_AUTO_OPEN=false # Disable auto-opening browser
export MCP_VOICE_HTTPS_PORT=5114 # Change HTTPS port
export MCP_VOICE_STT_MODE=whisper # Switch the web app to Whisper streaming
export MCP_VOICE_WHISPER_URL=http://localhost:12017/v1/audio/transcriptions # Whisper endpoint (full path)
export MCP_VOICE_WHISPER_TOKEN=your_token # Optional Bearer auth for Whisper server
Whisper Streaming Mode
- Whisper mode records raw PCM in the browser, converts it to 16 kHz mono WAV, and streams it through the built-in HTTPS proxy, so the local
whisper-serversees OpenAI-compatible requests. - By default we proxy to the standard
whisper-serverendpoint athttp://localhost:12017/v1/audio/transcriptions; pointMCP_VOICE_WHISPER_URLat your own host/port if you run it elsewhere. - The UI keeps recording while transcripts are in flight and ignores Whisper’s non-verbal tags (e.g.
[BLANK_AUDIO],(typing)), so only real speech is queued. - To enable it:
- Run your Whisper server locally (e.g.
whisper-serverfrompfrankov/whisper-server). - Set the environment variables above (
MCP_VOICE_STT_MODE=whisperand the fullMCP_VOICE_WHISPER_URL). - Restart
jarvis-mcpand hard-refresh the browser (empty-cache reload) to load the streaming bundle. - Voice status (
voice_status()tool) now reports whether Whisper or browser STT is active.
- Run your Whisper server locally (e.g.
Ports
- HTTPS: 5114 (required for microphone access)
- HTTP: 5113 (local access only)
Requirements
- Node.js 18+
- Google Chrome (only browser tested so far)
- Microphone access
- Optional: Local Whisper server (like
pfrankov/whisper-server) if you want streaming STT viaMCP_VOICE_STT_MODE=whisper
Troubleshooting
Certificate warnings on mobile?
- Tap "Advanced" → "Proceed to site" to accept self-signed certificate
Microphone not working?
- Ensure you're using HTTPS (not HTTP)
- Check browser permissions
- Try refreshing the page
AI not responding to voice?
- Make sure the
conversetool is being used (not justspeak) - Check that timeouts are properly calculated
Development
npm install
npm run build
npm run dev # Watch mode
npm run start # Run server
License
MIT