Windows-native MCP server for local audio transcription using whisper.cpp with Vulkan GPU acceleration
Most AI and media services work still happens through a UI a human drives. Whisper Windows MCP MCP server moves it into the conversation instead. Windows-native MCP server for local audio transcription using whisper.cpp with Vulkan GPU acceleration.
A Windows-native MCP (Model Context Protocol) server that lets Claude Desktop transcribe audio and video files locally using whisper.cpp — with GPU acceleration, multilingual support, and batch processing. All transcription runs locally — no audio, video, or file paths ever leave your machine.
whisper-windows-mcp on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.
The server publishes 12 tools. What each one is for:
transcribe_audio — Transcribe a single file. Supports blocking (default) or background mode for long filescheck_progress — Monitor a background transcription job started with transcribe_audio (background=true)start_batch — Automated sequential batch transcription of all untranscribed files in a folder. Sorts by duration (shortest first), processes one at a time ascheck_batch_progress — Monitor a running batch. Automatically advances to the next file when the current one finishes. Returns overall progress, current file withgenerate_subtitles — Generate subtitle files. Supports automatic language detection and English translation output. Outputs SRT (widest compatibility) or WebVTT (web andanalyze_media — Analyze files before committing to transcription. Returns duration, size, codec, and estimated transcription time on CPU and GPU. For folders, showscheck_config — Verify whisper-cli.exe, the model file, and FFmpeg are all accessible. Run this first if anything is failinglist_models — List all Whisper model files installed in your models directory. Shows filename, size, whether it is currently active, quantization status, anddownload_model — Download a Whisper model directly from Hugging Face into your models directory. Only downloads from trusted Hugging Face namespaces. Afterswitch_model — Switch the active Whisper model for the current session without restarting Claude Desktop. Change is session-scoped — does not persist after restartcheck_system — Detect GPU hardware and verify Vulkan acceleration is available. Reports GPU name, VRAM, whether ggml-vulkan.dll is present, and recommends the bestwhisper_server — Start, stop, or check the persistent model server (whisper.cpp's whisper-server). While running, the active model stays resident in VRAM andConfiguration is passed through the environment: WHISPER_CLI_PATH, WHISPER_MODEL, WHISPER_SERVER_PATH, FFMPEG_PATH. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
Plenty of AI and media services servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Whisper Windows MCP's toolset — transcribe_audio, check_progress, start_batch and 9 more — is a fair guide to whether it matches your workflow. It is maintained by eviscerations; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| transcribe_audio | Transcribe a single file. Supports blocking (default) or background mode for long files. |
| check_progress | Monitor a background transcription job started with transcribe_audio (background=true). |
| start_batch | Automated sequential batch transcription of all untranscribed files in a folder. Sorts by duration (shortest first), processes one at a time as background jobs, validates each output. Batch self-advances when each file f |
| check_batch_progress | Monitor a running batch. Automatically advances to the next file when the current one finishes. Returns overall progress, current file with timestamp, and any failed files. |
| generate_subtitles | Generate subtitle files. Supports automatic language detection and English translation output. Outputs SRT (widest compatibility) or WebVTT (web and HTML5 video). |
| analyze_media | Analyze files before committing to transcription. Returns duration, size, codec, and estimated transcription time on CPU and GPU. For folders, shows all files in a sortable table with transcription status. |
| check_config | Verify whisper-cli.exe, the model file, and FFmpeg are all accessible. Run this first if anything is failing. |
| list_models | List all Whisper model files installed in your models directory. Shows filename, size, whether it is currently active, quantization status, and recommended use case. No network calls — reads local filesystem only. |
| download_model | Download a Whisper model directly from Hugging Face into your models directory. Only downloads from trusted Hugging Face namespaces. After downloading, use switch_model to activate it. |
| switch_model | Switch the active Whisper model for the current session without restarting Claude Desktop. Change is session-scoped — does not persist after restart. To make permanent, update WHISPER_MODEL in your config. |
| check_system | Detect GPU hardware and verify Vulkan acceleration is available. Reports GPU name, VRAM, whether ggml-vulkan.dll is present, and recommends the best model size for your hardware. |
| whisper_server | Start, stop, or check the **persistent model server** (whisper.cpp's whisper-server). While running, the active model stays resident in VRAM and every transcribe_audio / transcribe_batch call is served over localhost wit |
{
"mcpServers": {
"whisper-windows": {
"command": "npx",
"args": ["-y", "whisper-windows-mcp"],
"env": {
"WHISPER_CLI_PATH": "your-value",
"WHISPER_MODEL": "your-value",
"WHISPER_SERVER_PATH": "your-value",
"FFMPEG_PATH": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| WHISPER_CLI_PATH | Filesystem location the server is allowed to use. | Optional |
| WHISPER_MODEL | Configuration value read at startup. | Optional |
| WHISPER_SERVER_PATH | Filesystem location the server is allowed to use. | Optional |
| FFMPEG_PATH | Filesystem location the server is allowed to use. | Optional |
Build a programmable telecommunications stack for connecting telephony services with the Internet via a cloud-based utility.
Search built for AI, not humans — semantic web search that returns model-ready content, plus code context.
Answers, not links — delegate questions to Perplexity's search-grounded models and get cited responses back.
Give your assistant a voice — text-to-speech, voice cloning and audio tools from the ElevenLabs API.
Give your assistant a real code sandbox — isolated cloud VMs for actually running the code it writes.
The ML hub in your context window — search models, datasets, papers and run Spaces from the official server.