whisper-windows-mcp
About
Local GPU-accelerated audio/video transcription for Claude Desktop on Windows, using whisper.cpp with AMD Vulkan support, background batch processing, and subtitle generation.
Details
- Author
- eviscerations
- Categories
- Productivity, Other, AI
Jump to
Setup
Install whisper-windows-mcp in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/eviscerations/whisper-windows-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
A Windows-native MCP (Model Context Protocol) server that lets Claude Desktop transcribe audio and video files locally usingwhisper.cpp— with GPU acceleration, multilingual support, and batch processing. All transcription runs locally — no audio, video, or file paths ever leave your machine.
Why does this exist?The popularwhisper-mcppackage was built for macOS and assumes a Unix environment. It does not work on Windows. This package was written specifically for Windows users who want local AI transcription integrated with Claude Desktop.
Once installed, you can say things like this directly in Claude Desktop:
- "Transcribe C:\Users\Me\Downloads\meeting.mp3"
- "Transcribe this folder of recordings and save each as a text file"
- "Generate Japanese and English subtitles for this video"
- "Start a batch transcription of everything in this folder"
- "How long will it take to transcribe these files?"
- "Check if GPU acceleration is working"
- "Transcribe this file in privacy mode"
- Node.js 18 or later—nodejs.org
- whisper.cpp binaries with Vulkan GPU support— see Step 1
- A Whisper model file— see Step 2
- FFmpeg— required for video files and non-WAV/MP3 audio
Option A — Pre-built Vulkan release (recommended)
Downloadwhisper-vulkan-win-x64.zipfrom thereleases page.
This is a custom-compiled build withVulkan GPU accelerationenabled. Works with AMD, NVIDIA, and Intel GPUs — no vendor-specific SDK required.
Extract toC:\whisper\Release\. You should end up with:
C:\whisper\Release\whisper-cli.exe C:\whisper\Release\ggml-vulkan.dll C:\whisper\Release\ggml.dll C:\whisper\Release\ggml-base.dll C:\whisper\Release\ggml-cpu.dll C:\whisper\Release\whisper.dll
GPU acceleration is automatic — no additional configuration needed.
Requires: Git, CMake, Visual Studio Build Tools 2022+ with "Desktop development with C++", Vulkan SDK fromlunarg.com.
git clone https://github.com/ggml-org/whisper.cpp cd whisper.cpp cmake -B build -DGGML_VULKAN=ON -DCMAKE_BUILD_TYPE=Release cmake --build build --config Release --target whisper-cli
Copy the binaries frombuild\bin\Release\toC:\whisper\Release\.
Note:The official whisper.cpp Windows releases on GitHub do not include a Vulkan build. You must use the pre-built release above or compile from source with-DGGML_VULKAN=ON.
Usedownload_modelin Claude Desktop to install any of these directly. ForEnglish-onlyuse:large-v3-turbo(GPU) ormedium.en-q5_0(CPU) are the best starting points. Formultilingualuse:large-v3-turboorlarge-v3-turbo-q5_0(CPU). English-only models (.en.bin) output[FOREIGN]on non-English audio and cannot be used for other languages.
FFmpeg is required for video files and non-native audio formats.
Or download fromffmpeg.organd add to your PATH.
Open Claude Desktop → Settings → Developer → Edit Config.
{ "mcpServers": { "whisper": { "command": "npx", "args": ["-y", "whisper-windows-mcp"], "env": { "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe", "WHISPER_MODEL": "C:\\whisper\\models\\ggml-medium.en.bin" } } } }
Config file location:C:\Users\YourName\AppData\Roaming\Claude\claude_desktop_config.json
Save andfully restartClaude Desktop. You should seewhisperlisted with a green running badge in Settings → Developer.
This confirms your GPU is detected and Vulkan acceleration is active.
Transcribe a single file. Supports blocking (default) or background mode for long files.
- timestamps— timestamped segments, e.g.[00:00:01.230 --> 00:00:04.560] Hello world(default)
- text— plain text, no time codes
- json— structured JSON (blocking mode only)
- srt— SubRip subtitle file saved next to source
- vtt— WebVTT subtitle file saved next to source
- lrc— LRC lyrics/karaoke format saved next to source
- csv— CSV with timestamps saved next to source
Monitor a background transcription job started withtranscribe_audio(background=true).
Returns elapsed time, last processed timestamp, and the full transcript when complete.
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 finishes — no polling required.
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.
Process files one at a time with a preview and confirmation before each. Useful when you want to review as you go.
Generate subtitle files. Supports automatic language detection and English translation output. Outputs SRT (widest compatibility) or WebVTT (web and HTML5 video).
When both native and translation are requested, two files are saved next to the source:
- filename.ja.srt— original language
- filename.en.srt— English translation
Whisper's built-in translation only translatesto English. For other target languages, translate the subtitle file contents separately.
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.
Verify whisper-cli.exe, the model file, and FFmpeg are all accessible. Run this first if anything is failing.
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 a Whisper model directly from Hugging Face into your models directory. Only downloads from trusted Hugging Face namespaces. After downloading, useswitch_modelto activate it.
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, updateWHISPER_MODELin your config.
Detect GPU hardware and verify Vulkan acceleration is available. Reports GPU name, VRAM, whetherggml-vulkan.dllis present, and recommends the best model size for your hardware.
Start, stop, or check thepersistent model server(whisper.cpp'swhisper-server). While running, the active model stays resident in VRAM and everytranscribe_audio/transcribe_batchcall is served over localhost withno per-file model reload— a large speedup when transcribing many short files, where the one-time model-load cost otherwise dominates.
- ⚠️The resident model holds GPU VRAM for the server's whole lifetime.Start it deliberately, do your work, thenstopit to hand the GPU back to other applications sharing the card. Stopping performs a full kill so VRAM is actually released.
- switch_modelwhile the server is running hot-swaps the resident model in place (no restart).
- Bound to127.0.0.1only — never exposed on the network.
- While the server is up, operations that need the one-shot CLI — background jobs,start_batch,generate_subtitles,lrc/csvoutput, and advanced per-call options the HTTP API doesn't honor (beam_size,best_of,word_timestamps,diarize,tinydiarize,vad_model,offset_t,duration) — arerefusedwith a "stop the server first" message rather than silently ignored, so no second engine ever contends for the GPU.
- Requireswhisper-server.exe(ships alongsidewhisper-cli.exe). Configure withWHISPER_SERVER_PATH/WHISPER_SERVER_PORTif needed.
The pre-built Vulkan release enables GPU acceleration automatically. Tested on AMD Radeon RX Vega 56 (GCN 5th gen). Any GPU with Vulkan 1.0+ support should work, including NVIDIA and Intel Arc.
Performance comparison (large-v3 model, ~14 minute audio file):
GPU utilization during transcription is typically 15–20%, dropping back to idle between files.
Supports Windows 10 and Windows 11. No Windows 11-specific configuration is required — the tool makes no Win32 API calls and runs on either OS.
Whisper can auto-detect the spoken language and transcribe in that language. The built-in translation model translatesto English only.
For best multilingual accuracy, use thelarge-v3model. English-specific models (.en.bin) cannot detect or transcribe other languages.
Example — foreign language video with subtitles:
- Ask Claude to generate subtitles withlanguage=autoandtranslate_to_english=true
- Whisper detects the language and generates a native-language SRT or VTT
- A second pass generates an English translation
- Load the SRT in VLC via Subtitle → Add Subtitle File, or use the VTT in any web player
whisper-windows-mcp includes a built-in privacy architecture for sensitive and regulated content.
Audio and video never leave your machine.This guarantee is unconditional.
Transcript textis different — when returned inline in a tool response, it is processed by Claude's API. For most users this is expected behavior. For regulated content (medical, legal, financial, corporate), privacy mode prevents this.
Privacy moderestricts all tool responses to metadata only (filename, word count, save path). No transcript text is transmitted to Claude's API under any circumstances. Enable per-call withprivacy_mode=trueon any transcription tool, or globally viaWHISPER_PRIVACY_MODE=truein your config.
Consent gate— on first use per session in standard mode, a full privacy disclosure is shown before any transcript text is returned. You must explicitly confirm before proceeding. SetWHISPER_CONSENT_ACKNOWLEDGED=truein your config to skip this for non-sensitive content.
This tool is built to minimize Claude API interactions. The entire transcription workflow — scan, analyze, queue, run, validate — is designed to require as few Claude interactions as possible. Heavy lifting is done locally on your machine.
Binary verification.To verify the integrity of the whisper-cli.exe binary in the pre-built release, check its SHA256 hash in PowerShell:
Get-FileHash "C:\whisper\Release\whisper-cli.exe" -Algorithm SHA256
The expected hash for the v1.4.0 release binary is documented in thereleases page.
Input validation.All file and folder paths are validated before use, on every tool that takes one — UNC paths (\\server\share) and directory traversal sequences (..) are rejected. Files over 10 GB are rejected to prevent resource exhaustion.job_idandbatch_idare checked against the exact server-minted format before they are used to build any file path, so a crafted ID cannot traverse out of the jobs directory.
Transcript injection awareness.Audio files can contain spoken content that, when transcribed, resembles instructions. Claude's built-in defenses handle this, but it is worth knowing that transcript content is treated as data — never as instructions — by the MCP server itself. Because transcribed content can still influence which tools Claude calls next, path/ID validation is applied defensively rather than trusting the single-user assumption alone.
Model downloads are restricted.Thedownload_modeltool only downloads from two trusted Hugging Face namespaces (ggerganov/whisper.cppandggml-org). Arbitrary URLs are rejected. Redirects are validated against an allowlist before following. (Downloads are not yet verified against a per-model SHA256 digest — see SECURITY.md.)
Model selection is sandboxed.Bothswitch_modeland thetranscribe_audiomodeloverride only accept.binfiles within the configured models directory. Paths outside that directory are rejected via normalized path containment.
No PATH shadowing.System binaries the server invokes on your behalf (tasklist,wmic) are called by absoluteSystem32path so they can't be shadowed by a same-named executable earlier onPATH.
SeeSECURITY.mdfor the full security policy.
SeeTROUBLESHOOTING.mdfor detailed solutions. SeePRIVACY.mdfor compliance guidance if you handle regulated content.
- Paths in config usedouble backslashes(C:\\whisper\\...)
- whisper-cli.exeexists at the configured path
- Model.binfile exists at the configured path
- FFmpeg is installed and in PATH (ffmpeg -versionworks)
- Claude Desktop was fully restarted after editing config
- Whisper showsrunningin Settings → Developer
Non-commercial use:MIT — free for personal, educational, and non-commercial use. SeeLICENSE.
Commercial use:A separate commercial license is required for any business, professional, or revenue-generating use. SeeCOMMERCIAL-LICENSE.mdfor terms and contact information.
Pull requests welcome. SeeROADMAP.mdfor planned features.
If you've tested GPU acceleration on hardware not listed above, please open an issue with your results — GPU model, VRAM, model size, and observed throughput.
Transcribe audio and video files using the mocoVoice API, with integration for Claude Desktop.
An MCP server for AI video generation. MCP server for AI video generation. Lets Claude, ChatGPT, OpenClaw , Hermes & other agents create AI videos and publish them to YouTube, TikTok, Instagram etc..
Generate AI images, video & music inside Claude, ChatGPT, Cursor — any AI agent
Trim, watermark, extract audio from, and convert any video to 9:16 vertical — via REST API or MCP tools for Claude, Cursor, and other AI agents.
Create editable image and video projects with Claude, Cursor or Codex, then review and publish them in Picorn.
MCP server that gives AI agents (Claude, Cursor, Codex, etc.) access to the full Runware.ai API — image generation, video generation, audio generation, 3D, upscaling, background removal, captioning, and more.
Add one endpoint and Claude, Cursor, or any MCP client can make video, images, music, and speech in chat. 100+ models, one API key.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





