OpenCode Voice MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenCode Voice MCP ServerRecord 5 seconds and type what I say"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π€ OpenCode Voice MCP Server
Voice Input for AI Coding Assistants
Speak your prompts. No typing required.
Installation β’ Quick Start β’ Tools β’ Configuration β’ Architecture β’ Contributing
β¨ Features
Feature | Description |
π€ Voice Recording | Record audio from microphone with configurable duration |
π£οΈ Speech-to-Text | Transcribe using local Whisper model (100% offline) |
β¨οΈ Auto-Typing | Type transcribed text at cursor position |
π Privacy First | No cloud API β audio never leaves your machine |
π Multi-Language | Support for 99+ languages via Whisper |
π MCP Standard | Works with OpenCode, Claude Code, Cursor, and more |
Related MCP server: Claude Voice Commands
π¦ Installation
# Install globally
npm install -g @opencode-ai/voice-mcp
# Or use with npx (no install required)
npx @opencode-ai/voice-mcpPrerequisites
# Install recording tool
brew install sox
# Install transcription engine
pip install faster-whisper# Install recording tool
sudo apt install sox
# Install transcription engine
pip install faster-whisper# Install FFmpeg (via scoop)
scoop install ffmpeg
# Install transcription engine
pip install faster-whisperπ Quick Start
Step 1: Configure MCP Server
Add to your MCP config file:
Tool | Config Location |
OpenCode |
|
Claude Code |
|
Cursor |
|
{
"mcpServers": {
"voice": {
"command": "npx",
"args": ["-y", "@opencode-ai/voice-mcp"]
}
}
}Step 2: Restart Your Tool
Restart OpenCode, Claude Code, or Cursor to load the MCP server.
Step 3: Use Voice Input
@voice voice_transcribe
@voice voice_type
@voice voice_statusπ οΈ Tools
voice_transcribe
Record audio from microphone and transcribe to text.
{
"name": "voice_transcribe",
"arguments": {
"duration": 10,
"language": "en"
}
}Parameter | Type | Default | Description |
| number |
| Recording duration in seconds |
| string |
| Language code (e.g., |
Returns: Transcribed text as string.
voice_type
Record audio, transcribe to text, and type it at the cursor position.
{
"name": "voice_type",
"arguments": {
"duration": 10,
"language": "en"
}
}Parameter | Type | Default | Description |
| number |
| Recording duration in seconds |
| string |
| Language code |
Returns: Confirmation message with typed text.
voice_status
Check if voice recording and transcription are available.
{
"name": "voice_status",
"arguments": {}
}Returns:
{
"recording": "rec",
"transcription": "faster-whisper (local)",
"platform": "darwin",
"ready": true
}βοΈ Configuration
Environment Variables
Variable | Description | Default |
| Whisper model size |
|
| Device to use ( |
|
| Compute type ( |
|
Model Sizes
Model | Size | Speed | Accuracy | VRAM |
| ~75MB | β‘β‘β‘β‘ | ββ | ~1GB |
| ~150MB | β‘β‘β‘ | βββ | ~1GB |
| ~500MB | β‘β‘ | ββββ | ~2GB |
| ~1.5GB | β‘ | βββββ | ~5GB |
| ~3GB | π | βββββ | ~10GB |
Recommendation: Use base for best balance of speed and accuracy.
ποΈ Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MCP Client β
β (OpenCode / Claude Code / Cursor) β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββ
β JSON-RPC
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Voice MCP Server β
β (Node.js) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β voice_record β βvoice_transcribeβ β voice_type β β
β β Tool β β Tool β β Tool β β
β ββββββββ¬ββββββββ ββββββββ¬ββββββββ ββββββββ¬ββββββββ β
β β β β β
β βΌ βΌ βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Audio Recording Layer β β
β β (sox / ffmpeg / macOS rec) β β
β βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Transcription Engine β β
β β (faster-whisper / OpenAI API) β β
β βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Output Layer β β
β β βββββββββββββββ βββββββββββββββββββββββ β β
β β β Return Text β β Type at Cursor β β β
β β β (MCP) β β (osascript/xdotool) β β β
β β βββββββββββββββ βββββββββββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββData Flow
βββββββββββ βββββββββββ βββββββββββββββ βββββββββββ
β User βββββΆβ Micro- βββββΆβ Whisper βββββΆβ Text β
β Speaks β β phone β β Transcribe β β Output β
βββββββββββ βββββββββββ βββββββββββββββ βββββββββββ
β β β β
β β β β
βΌ βΌ βΌ βΌ
"Hello Records 16kHz Processes with Returns text
world" mono audio base model or types itπ§ Development
Setup
# Clone repository
git clone https://github.com/YuvrajSinghBhadoria2/opencode-voice-mcp.git
cd opencode-voice-mcp
# Install dependencies
npm install
# Build
npm run build
# Run in development
npm run devProject Structure
opencode-voice-mcp/
βββ src/
β βββ index.ts # MCP server implementation
βββ dist/
β βββ index.js # Compiled output
βββ package.json # Package configuration
βββ tsconfig.json # TypeScript config
βββ build.sh # Build script
βββ publish.sh # npm publish scriptAvailable Scripts
Command | Description |
| Compile TypeScript to JavaScript |
| Run in development mode with tsx |
| Run compiled server |
| Build and publish to npm |
π€ Contributing
Contributions are welcome! Please follow these steps:
Fork the repository
Create a feature branch (
git checkout -b feat/amazing-feature)Commit your changes (
git commit -m 'feat: add amazing feature')Push to the branch (
git push origin feat/amazing-feature)Open a Pull Request
Development Guidelines
Follow TypeScript best practices
Add tests for new features
Update documentation as needed
Use conventional commit messages
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
Model Context Protocol - Standard for AI tool integration
faster-whisper - Fast Whisper implementation
OpenCode - AI coding assistant
OpenAI Whisper - Speech recognition model
Built with β€οΈ for the developer community
Report Bug β’ Request Feature β’ Discussions
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables recording audio from a microphone and transcribing it using OpenAI's Whisper model. Works as both a standalone MCP server and a Goose AI agent extension.6MIT
- Flicense-qualityCmaintenanceEnables natural voice interaction with Claude Code through speech-to-text, supporting wake word activation and multiple backends like Whisper and Google. It allows users to execute commands and control their coding environment hands-free via their microphone.2
- Alicense-qualityDmaintenanceEnables continuous voice conversation with AI coding assistants by locally transcribing speech with Whisper and delivering utterances as text prompts.1MIT
- AlicenseAqualityDmaintenanceLocal speech-to-text transcription using Microsoft's VibeVoice-ASR model with speaker diarization, enabling audio transcription directly in AI tools like Claude Code, Cursor, and OpenCode.32MIT
Related MCP Connectors
Voice-powered bug reporting with 13 MCP tools. Record bugs by talking; let AI find and fix them.
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoβ¦
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/YuvrajSinghBhadoria2/opencode-voice-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server