Jarvis
STDIOVoice conversation MCP server enabling natural speech interaction with AI assistants through browser interface
Voice conversation MCP server enabling natural speech interaction with AI assistants through browser interface
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.
🎙️ 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
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
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
converse tool from your assistant; Jarvis MCP auto-starts in the background and pops open https://localhost:5114 if needed.converse for every reply; Jarvis MCP handles the rest.Use the converse tool to start talking:
- converse("Hello! How can I help you today?", timeout: 35)
The web interface provides:
Access from any device on your network:
ifconfig | grep inet (Mac/Linux) or ipconfig (Windows)https://YOUR_IP:5114 on your phone/browserPerfect for continuing conversations away from your desk!
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-server sees OpenAI-compatible requests.whisper-server endpoint at http://localhost:12017/v1/audio/transcriptions; point MCP_VOICE_WHISPER_URL at your own host/port if you run it elsewhere.[BLANK_AUDIO], (typing)), so only real speech is queued.whisper-server from pfrankov/whisper-server).MCP_VOICE_STT_MODE=whisper and the full MCP_VOICE_WHISPER_URL).jarvis-mcp and hard-refresh the browser (empty-cache reload) to load the streaming bundle.voice_status() tool) now reports whether Whisper or browser STT is active.pfrankov/whisper-server) if you want streaming STT via MCP_VOICE_STT_MODE=whisperCertificate warnings on mobile?
Microphone not working?
AI not responding to voice?
converse tool is being used (not just speak)npm install npm run build npm run dev # Watch mode npm run start # Run server
MIT