π Official Website: RooCode.com
π¦ Install: Search "Roo Code" in VS Code Extensions
π·οΈ Version Requirements: VS Code 1.80+, Roo Code extension
Roo Code (formerly Roo Cline) is an AI-powered VS Code extension that gives you a whole dev team of AI agents in your editor. Voice Mode enhances Roo Code by adding natural voice conversation capabilities through MCP.
- VS Code installed
- Python 3.10 or higher
- uv package manager (
curl -LsSf https://astral.sh/uv/install.sh | sh) - OpenAI API key (or compatible service)
- System audio dependencies installed (see main README)
# Set your OpenAI API key
export OPENAI_API_KEY="your-openai-key"
# Roo Code will use uvx to run Voice Mode on-demand
# No separate installation needed!- Open VS Code
- Go to Extensions (Ctrl/Cmd + Shift + X)
- Search for "Roo Code"
- Click Install
- Reload VS Code when prompted
-
Open Roo Code Panel
- Click the Roo Code icon in VS Code's sidebar (rocket icon π)
- Wait for Roo Code to fully load
-
Access MCP Settings
- Look for the row of icons at the top of the Roo Code panel
- Click the gear/settings icon (usually one of the rightmost icons)
- Select "MCP Servers" from the menu (or it may open directly)
-
Configure Voice Mode
- Ensure β "Enable MCP Servers" toggle is ON (checked)
- Click the "Edit Global MCP" button at the bottom
- This opens the
cline_mcp_settings.jsonfile - Add Voice Mode to the
mcpServerssection:
-
Locate Configuration File
- Windows:
%APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json - macOS/Linux:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
- Windows:
-
Add Voice Mode Configuration
{
"mcpServers": {
"voice-mode": {
"command": "uvx",
"args": ["voice-mode"],
"env": {
"OPENAI_API_KEY": "your-openai-key"
}
}
}
}Note: Using uvx means Voice Mode will be downloaded and run on-demand. No separate installation required!
- Save the configuration file (
Ctrl/Cmd + S) - Return to the MCP Servers view in Roo Code
- Click "Refresh MCP Servers" button at the bottom
- This reloads all server configurations
- You should see "voice-mode" appear in the server list
- If the server doesn't appear, restart VS Code completely
-
Check MCP Servers View
- Return to the MCP Servers view
- You should see "voice-mode" listed with:
- A "global" tag indicating it's a global configuration
- A π’ green status dot when active
- An enabled toggle switch (blue/active)
-
Confirm Server is Running
- If you see a red dot or error:
- Click the π restart button next to voice-mode
- Check that
uvxis installed:which uvx - Verify your OpenAI API key is set correctly
- If you see a red dot or error:
-
Test in Chat
- Return to the Roo Code chat interface
- The tools from voice-mode are now available to Roo
-
Initial Test:
- In Roo Code chat, type: "Let's have a voice conversation"
- You should hear Roo speak and wait for your response
- Try saying: "Hello, can you help me with this code?"
-
Check Available Tools:
- Type: "What voice tools do you have available?"
- Roo should list tools like
converse,check_audio_devices, etc.
-
Audio Device Check:
- Type: "Check my audio devices"
- Roo will list available microphones and speakers
"Review this function and tell me what could be improved"
"Can you explain what this code does?"
"Help me refactor this to be more efficient"
"This test is failing, can you help me debug it?"
"What might be causing this error?"
"Walk me through fixing this bug"
"Should I use a factory pattern here?"
"What's the best way to structure this module?"
"Let's discuss the architecture of this feature"
You can configure Voice Mode behavior with these environment variables:
Option 1: Set in Roo Code config (shown above)
Option 2: Inherit from system
{
"mcpServers": {
"voice-mode": {
"command": "uvx",
"args": ["voice-mode"]
// No env section - inherits from system
}
}
}# Use multiple TTS providers with fallback
export VOICEMODE_TTS_BASE_URLS="http://127.0.0.1:8880/v1,https://api.openai.com/v1"
# Prefer specific voices
export VOICEMODE_TTS_VOICES="af_sky,nova,alloy"
# Enable debug logging
export VOICEMODE_DEBUG="true"- Ensure Roo Code extension is fully loaded (wait for rocket icon to appear)
- Try reloading VS Code window:
Ctrl/Cmd + R - Check that you have the latest version of Roo Code
-
Check Configuration File Location
- Verify the file exists at the correct path
- Ensure JSON syntax is valid (no trailing commas, proper quotes)
-
MCP Settings Issues
- Make sure "Enable MCP Servers" toggle is ON
- Check for error messages in the MCP settings view
- Look for red indicators next to the server name
-
Server Start Failures
- Click the restart button next to the voice-mode server
- Check VS Code Output panel β "Roo Code" for error logs
- Verify
uvxis in PATH: runwhich uvxin terminal
-
Audio Permissions
- macOS: System Settings β Privacy & Security β Microphone β Enable for Code
- Windows: Settings β Privacy β Microphone β Allow apps to access
- Linux: Check PulseAudio/PipeWire permissions
-
OpenAI API Issues
- Verify API key is correct and has sufficient credits
- Check for typos in the environment variable name
- Test API key directly:
curl -H "Authorization: Bearer $OPENAI_API_KEY" https://api.openai.com/v1/models
-
Debug Mode
- Add to your MCP configuration:
"env": { "OPENAI_API_KEY": "your-key", "VOICEMODE_DEBUG": "true" }
- Check debug output in VS Code Output panel
- If clicking "Edit Global MCP" doesn't open the file:
- Manually navigate to the configuration file path
- Create the directory structure if it doesn't exist
- If server toggles don't respond:
- Save any pending changes in the configuration file
- Restart VS Code completely
-
Wrong JSON Structure
// β Wrong - don't use rooCode prefix { "rooCode.mcpServers": { ... } } // β Correct { "mcpServers": { ... } }
-
Missing Required Fields
// β Wrong - missing command { "mcpServers": { "voice-mode": { "args": ["voice-mode"] } } } // β Correct - includes command { "mcpServers": { "voice-mode": { "command": "uvx", "args": ["voice-mode"] } } }
- Grant microphone permissions: System Settings β Privacy & Security β Microphone β Code
- May need to restart VS Code after granting permissions
- Best experience with WSL2
- Native Windows may require additional audio configuration
- Ensure PulseAudio or PipeWire is running
- May need:
sudo usermod -a -G audio $USER
When you click the MCP icon in Roo Code, you'll see:
-
Main Settings Toggles
- β Enable MCP Servers: Turn this ON to let Roo use tools from connected MCP servers
- β Enable MCP Server Creation: Enable this to have Roo help you build new custom MCP servers
-
Server List
- Shows all configured servers (e.g., "voice-mode" with "global" tag)
- Status indicators:
- π’ Green dot = Server is active and running
- π΄ Red dot = Server has errors or is not running
- Toggle switch to enable/disable each server
-
Action Buttons (at the bottom)
- π Edit Global MCP: Opens the global configuration file
- π Edit Project MCP: Opens project-specific configuration (if exists)
- π Refresh MCP Servers: Reload all server configurations
- π Learn more about editing MCP settings files: Link to documentation
-
Server Controls (for each server)
- ποΈ Delete button: Remove the server configuration
- π Restart button: Restart the server if it's having issues
- π΅/βͺ Enable toggle: Turn the server on/off without deleting
Create a .roo/mcp.json file in your project root for project-specific settings:
{
"mcpServers": {
"voice-mode": {
"command": "uvx",
"args": ["voice-mode"],
"env": {
"OPENAI_API_KEY": "project-specific-key",
"VOICEMODE_TTS_VOICE": "nova"
}
}
}
}Note: Project settings override global settings for the same server name.
For complete privacy, use local services:
{
"mcpServers": {
"voice-mode": {
"command": "uvx",
"args": ["voice-mode"],
"env": {
"VOICEMODE_TTS_BASE_URLS": "http://127.0.0.1:8880/v1,https://api.openai.com/v1",
"VOICEMODE_STT_BASE_URLS": "http://127.0.0.1:2022/v1,https://api.openai.com/v1"
}
}
}
}Roo Code supports multiple AI models. Configure your preferred model in Roo Code settings, and Voice Mode will work with any model you choose.
- π Voice Mode Documentation
- π§ Configuration Reference
- π€ Local STT/TTS Setup
- π¬ Roo Code GitHub
- π Troubleshooting Guide
- π Roo Code Documentation
Need Help? Join our Discord community or check Roo Code issues