whisper-windows-mcp 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/FUNDING.yml ADDED
@@ -0,0 +1,3 @@
1
+ github: eviscerations
2
+ ko_fi:
3
+ patreon:
package/README.md CHANGED
@@ -1,235 +1,290 @@
1
- # whisper-windows-mcp
2
-
3
- A Windows-native MCP (Model Context Protocol) server that lets Claude Desktop transcribe audio files locally using [whisper.cpp](https://github.com/ggerganov/whisper.cpp) — no internet connection required, no data sent to the cloud.
4
-
5
- > **Why does this exist?**
6
- > The popular `whisper-mcp` package 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 the same local transcription functionality in Claude Desktop.
7
-
8
- ---
9
-
10
- ## What you can do with it
11
-
12
- Once installed, you can say things like this directly in Claude Desktop:
13
-
14
- - *"Transcribe C:\Users\Me\Downloads\meeting.mp3"*
15
- - *"Transcribe this recording and summarise the key points"*
16
- - *"Transcribe with timestamps so I can find specific moments"*
17
-
18
- Everything runs on your own machine. No audio ever leaves your computer.
19
-
20
- ---
21
-
22
- ## Requirements
23
-
24
- You need the following installed before proceeding. Each one is free.
25
-
26
- | Requirement | Purpose |
27
- |---|---|
28
- | [Node.js 18+](https://nodejs.org/en/download) | Runs the MCP server |
29
- | [whisper.cpp](https://github.com/ggerganov/whisper.cpp/releases/latest) | The transcription engine |
30
- | A Whisper model file | The AI model (downloaded in Step 2) |
31
-
32
- ---
33
-
34
- ## Step 1 — Install whisper.cpp
35
-
36
- 1. Go to the [whisper.cpp latest release](https://github.com/ggerganov/whisper.cpp/releases/latest)
37
- 2. Download the file named **`whisper-bin-x64.zip`** (look for `win` and `x64` in the filename)
38
- 3. Extract the ZIP and move the contents to **`C:\whisper\Release\`** — create this folder if it doesn't exist
39
-
40
- ✅ You should now have **`C:\whisper\Release\whisper-cli.exe`**
41
-
42
- > **Why this path?** You can install whisper.cpp anywhere, but `C:\whisper\Release\` matches the default config below and means less to edit later.
43
-
44
- ---
45
-
46
- ## Step 2 — Download a Whisper model
47
-
48
- The model is the AI that does the actual transcription. Click a link below to download directly:
49
-
50
- | Model | Download | Size | Speed | Best for |
51
- |---|---|---|---|---|
52
- | tiny.en | [Download](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en.bin) | 75 MB | Very fast | Quick tests |
53
- | **base.en** | [**Download**](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin) | 142 MB | Fast | **Recommended starting point** |
54
- | small.en | [Download](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.en.bin) | 466 MB | Moderate | Better accuracy |
55
- | medium.en | [Download](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium.en.bin) | 1.5 GB | Slow | High accuracy |
56
- | large-v3 | [Download](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin) | 2.9 GB | Very slow | Maximum accuracy |
57
-
58
- Save the downloaded `.bin` file to **`C:\whisper\models\`** — create this folder if it doesn't exist.
59
-
60
- ✅ You should now have something like **`C:\whisper\models\ggml-base.en.bin`**
61
-
62
- ---
63
-
64
- ## Step 3 — Install Node.js
65
-
66
- If you don't already have Node.js:
67
-
68
- 1. Go to [nodejs.org](https://nodejs.org/en/download) and download the **Windows Installer (.msi)** — choose the LTS version
69
- 2. Run the installer and accept all defaults
70
-
71
- ✅ To verify, open Command Prompt and run `node --version` — you should see something like `v20.x.x`
72
-
73
- ---
74
-
75
- ## Step 4 — Configure Claude Desktop
76
-
77
- 1. Open Claude Desktop → **Settings → Developer → Edit Config**
78
- 2. Add the following (or merge the `mcpServers` block if you already have other servers):
79
-
80
- ```json
81
- {
82
- "mcpServers": {
83
- "whisper": {
84
- "command": "npx",
85
- "args": ["-y", "whisper-windows-mcp"],
86
- "env": {
87
- "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
88
- "WHISPER_MODEL": "C:\\whisper\\models\\ggml-base.en.bin"
89
- }
90
- }
91
- }
92
- }
93
- ```
94
-
95
- > ⚠️ **Path format:** In the JSON config, all backslashes must be doubled (`\\`). This is a JSON requirement. When typing paths into Claude in chat, use normal single backslashes.
96
-
97
- 3. If you downloaded a different model, update `ggml-base.en.bin` to match your filename
98
- 4. Save the file, fully quit Claude Desktop, and reopen it
99
- 5. Go to **Settings → Developer** — you should see **whisper** with a green **running** badge
100
-
101
- ---
102
-
103
- ## Step 5 — Test it
104
-
105
- In Claude Desktop, type:
106
-
107
- > *"Can you check your whisper config?"*
108
-
109
- Claude will verify that `whisper-cli.exe` and your model file are both found. Then try:
110
-
111
- > *"Please transcribe C:\Users\YourName\Downloads\recording.mp3"*
112
-
113
- ---
114
-
115
- ## Converting video files to audio
116
-
117
- Whisper processes audio. If you have a video file (MP4, MKV, etc.) you may want to extract the audio first — audio-only files are much smaller and faster to process.
118
-
119
- > **Tip:** whisper.cpp may handle MP4 files directly if FFmpeg is installed. Try transcribing an MP4 first before converting.
120
-
121
- **Using VLC Media Player** (free, recommended for beginners):
122
-
123
- 1. Download [VLC](https://www.videolan.org/vlc/) if you don't have it
124
- 2. Open VLC → **Media → Convert / Save**
125
- 3. Click **Add**, select your video, then click **Convert / Save**
126
- 4. Under **Profile**, choose **Audio - MP3**
127
- 5. Set a destination filename and click **Start**
128
-
129
- A 1-hour MP4 that might be 2–4 GB typically becomes a 50–100 MB MP3.
130
-
131
- **Using FFmpeg** (command line, for advanced users):
132
- ```
133
- ffmpeg -i "C:\path\to\video.mp4" -vn -ac 1 -ar 16000 "C:\path\to\output.wav"
134
- ```
135
-
136
- ---
137
-
138
- ## Output formats
139
-
140
- | Format | What you get | Ask Claude... |
141
- |---|---|---|
142
- | `text` (default) | Plain transcript, no timestamps | *"Transcribe this file"* |
143
- | `timestamps` | Transcript with `[00:00:00 --> 00:00:05]` time codes | *"Transcribe with timestamps"* |
144
- | `json` | Structured data | *"Transcribe as JSON"* |
145
-
146
- ---
147
-
148
- ## Transcription speed
149
-
150
- Whisper runs on CPU by default. Rough estimates for a 1-hour recording:
151
-
152
- | Model | Approximate time (CPU) |
153
- |---|---|
154
- | tiny.en | 5–10 minutes |
155
- | base.en | 10–20 minutes |
156
- | small.en | 20–35 minutes |
157
- | medium.en | 35–60 minutes |
158
- | large-v3 | 60–120 minutes |
159
-
160
- > **GPU acceleration** for AMD (ROCm) and NVIDIA (CUDA) on Windows is planned for a future update.
161
-
162
- ---
163
-
164
- ## Full config example
165
-
166
- If you have other MCP servers already configured:
167
-
168
- ```json
169
- {
170
- "preferences": {
171
- "coworkWebSearchEnabled": true
172
- },
173
- "mcpServers": {
174
- "whisper": {
175
- "command": "npx",
176
- "args": ["-y", "whisper-windows-mcp"],
177
- "env": {
178
- "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
179
- "WHISPER_MODEL": "C:\\whisper\\models\\ggml-base.en.bin"
180
- }
181
- }
182
- }
183
- }
184
- ```
185
-
186
- Config file location:
187
- ```
188
- C:\Users\YourUsername\AppData\Roaming\Claude\claude_desktop_config.json
189
- ```
190
-
191
- > The `AppData` folder is hidden by default. To show it: File Explorer → **View → Show → Hidden items**
192
-
193
- ---
194
-
195
- ## Tested on
196
-
197
- - Windows 10 Pro (10.0.19045)
198
- - Windows 11 — untested, feedback welcome via [Issues](../../issues)
199
-
200
- ---
201
-
202
- ## Troubleshooting
203
-
204
- See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for detailed solutions.
205
-
206
- Quick checklist:
207
-
208
- - [ ] Config paths use **double backslashes** (`C:\\whisper\\...`)
209
- - [ ] `whisper-cli.exe` exists at the path specified
210
- - [ ] The model `.bin` file exists at the path specified
211
- - [ ] Claude Desktop was **fully restarted** after editing the config
212
- - [ ] Whisper shows **running** in Settings → Developer
213
-
214
- ---
215
-
216
- ## Roadmap
217
-
218
- - [ ] SRT subtitle output
219
- - [ ] Direct MP4/video file support via FFmpeg
220
- - [ ] Translation to English from other languages
221
- - [ ] AMD GPU acceleration (ROCm)
222
- - [ ] NVIDIA GPU acceleration (CUDA)
223
- - [ ] Speaker diarization (automatic speaker identification)
224
-
225
- ---
226
-
227
- ## License
228
-
229
- MIT — free to use, modify, and distribute.
230
-
231
- ---
232
-
233
- ## Contributing
234
-
235
- Pull requests welcome. GPU acceleration solutions for AMD or NVIDIA especially appreciated. Windows 11 feedback welcome via Issues.
1
+ # whisper-windows-mcp
2
+
3
+ A Windows-native MCP (Model Context Protocol) server that lets Claude Desktop transcribe audio and video files locally using [whisper.cpp](https://github.com/ggerganov/whisper.cpp) — no internet connection required, no data sent to the cloud.
4
+
5
+ > **Why does this exist?**
6
+ > The popular `whisper-mcp` package 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 the same local transcription functionality in Claude Desktop.
7
+
8
+ ---
9
+
10
+ ## What you can do with it
11
+
12
+ Once installed, you can say things like this directly in Claude Desktop:
13
+
14
+ - *"Transcribe C:\Users\Me\Downloads\meeting.mp3"*
15
+ - *"Transcribe C:\Users\Me\Videos\interview.mp4"* — video files work directly, no conversion needed
16
+ - *"Transcribe this recording and summarise the key points"*
17
+ - *"Transcribe with timestamps so I can find specific moments"*
18
+ - *"Generate subtitles for C:\Users\Me\Videos\lecture.mp4"*
19
+ - *"Transcribe all files in C:\Users\Me\Videos\clips\ one at a time"*
20
+
21
+ Everything runs on your own machine. No audio ever leaves your computer.
22
+
23
+ ---
24
+
25
+ ## Requirements
26
+
27
+ | Requirement | Purpose | Download |
28
+ |---|---|---|
29
+ | Node.js 18+ | Runs the MCP server | [nodejs.org](https://nodejs.org/en/download) |
30
+ | whisper.cpp | The transcription engine | [Latest release](https://github.com/ggerganov/whisper.cpp/releases/latest) |
31
+ | A Whisper model file | The AI model | See Step 2 below |
32
+ | FFmpeg | Video file support | [ffmpeg.org](https://ffmpeg.org/download.html) |
33
+
34
+ > FFmpeg is optional if you only use MP3/WAV files, but required for MP4, MKV, AVI, MOV and other video formats.
35
+
36
+ ---
37
+
38
+ ## Step 1 — Install whisper.cpp
39
+
40
+ 1. Go to the [whisper.cpp latest release](https://github.com/ggerganov/whisper.cpp/releases/latest)
41
+ 2. Download the file named **`whisper-bin-x64.zip`** (look for `win` and `x64` in the filename)
42
+ 3. Extract the ZIP and move the contents to **`C:\whisper\Release\`** — create this folder if it doesn't exist
43
+
44
+ ✅ You should now have **`C:\whisper\Release\whisper-cli.exe`**
45
+
46
+ > **Why this path?** You can install whisper.cpp anywhere, but `C:\whisper\Release\` matches the default config below and means less to edit later.
47
+
48
+ ---
49
+
50
+ ## Step 2 — Download a Whisper model
51
+
52
+ Click a link below to download directly:
53
+
54
+ | Model | Download | Size | Speed | Best for |
55
+ |---|---|---|---|---|
56
+ | tiny.en | [Download](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en.bin) | 75 MB | Very fast | Quick tests |
57
+ | **base.en** | [**Download**](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin) | 142 MB | Fast | **Recommended starting point** |
58
+ | small.en | [Download](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.en.bin) | 466 MB | Moderate | Better accuracy |
59
+ | medium.en | [Download](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium.en.bin) | 1.5 GB | Slow | High accuracy |
60
+ | large-v3 | [Download](https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin) | 2.9 GB | Very slow | Maximum accuracy |
61
+
62
+ Save the downloaded `.bin` file to **`C:\whisper\models\`** — create this folder if it doesn't exist.
63
+
64
+ ✅ You should now have something like **`C:\whisper\models\ggml-base.en.bin`**
65
+
66
+ ---
67
+
68
+ ## Step 3 — Install Node.js
69
+
70
+ If you don't already have Node.js:
71
+
72
+ 1. Go to [nodejs.org](https://nodejs.org/en/download) and download the **Windows Installer (.msi)** — choose the LTS version
73
+ 2. Run the installer and accept all defaults
74
+
75
+ ✅ Verify: open Command Prompt and run `node --version` — you should see something like `v20.x.x`
76
+
77
+ ---
78
+
79
+ ## Step 4 — Install FFmpeg (recommended)
80
+
81
+ FFmpeg is required for video files (MP4, MKV, AVI, MOV, etc.).
82
+
83
+ 1. Go to [ffmpeg.org/download.html](https://ffmpeg.org/download.html) and download a Windows build
84
+ 2. Extract and move the `bin` folder contents (or the whole folder) somewhere permanent, e.g. `C:\ffmpeg\bin\`
85
+ 3. Add `C:\ffmpeg\bin` to your system PATH:
86
+ - Press **Win + S** → search **Environment Variables** → open it
87
+ - Under **User Variables**, select **Path** → **Edit** → **New**
88
+ - Add `C:\ffmpeg\bin` → click OK on all dialogs
89
+
90
+ ✅ Verify: open a new Command Prompt and run `ffmpeg -version`
91
+
92
+ ---
93
+
94
+ ## Step 5 — Configure Claude Desktop
95
+
96
+ 1. Open Claude Desktop → **Settings → Developer → Edit Config**
97
+ 2. Add the following (or merge the `mcpServers` block if you have other servers):
98
+
99
+ ```json
100
+ {
101
+ "mcpServers": {
102
+ "whisper": {
103
+ "command": "npx",
104
+ "args": ["-y", "whisper-windows-mcp"],
105
+ "env": {
106
+ "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
107
+ "WHISPER_MODEL": "C:\\whisper\\models\\ggml-base.en.bin"
108
+ }
109
+ }
110
+ }
111
+ }
112
+ ```
113
+
114
+ > ⚠️ **Path format:** In the JSON config, all backslashes must be doubled (`\\`). This is a JSON requirement. When typing paths into Claude in chat, use normal single backslashes.
115
+
116
+ 3. If you downloaded a different model, update `ggml-base.en.bin` to match your filename
117
+ 4. Save the file, fully quit Claude Desktop, and reopen it
118
+ 5. Go to **Settings → Developer** — you should see **whisper** with a green **running** badge
119
+
120
+ ---
121
+
122
+ ## Step 6 — Test it
123
+
124
+ In Claude Desktop, type:
125
+
126
+ > *"Can you check your whisper config?"*
127
+
128
+ Claude will verify that everything is found correctly. Then try:
129
+
130
+ > *"Please transcribe C:\Users\YourName\Downloads\recording.mp3"*
131
+
132
+ ---
133
+
134
+ ## Available tools
135
+
136
+ | Tool | What it does |
137
+ |---|---|
138
+ | `transcribe_audio` | Transcribe a single file — audio or video |
139
+ | `transcribe_batch` | Transcribe all files in a folder, one at a time with preview |
140
+ | `generate_subtitles` | Generate an `.srt` subtitle file next to the source |
141
+ | `check_config` | Verify all paths and FFmpeg are working |
142
+
143
+ ---
144
+
145
+ ## Output formats
146
+
147
+ | Format | What you get | Ask Claude... |
148
+ |---|---|---|
149
+ | `text` (default) | Plain transcript, no timestamps | *"Transcribe this file"* |
150
+ | `timestamps` | Transcript with `[00:00:00 --> 00:00:05]` time codes | *"Transcribe with timestamps"* |
151
+ | `json` | Structured data | *"Transcribe as JSON"* |
152
+ | `srt` | Subtitle file saved next to source | *"Generate subtitles for..."* |
153
+
154
+ ---
155
+
156
+ ## Supported file formats
157
+
158
+ **Audio (native):** MP3, WAV
159
+
160
+ **Audio (via FFmpeg):** M4A, FLAC, OGG
161
+
162
+ **Video (via FFmpeg):** MP4, MKV, AVI, MOV, WebM, FLV, WMV, M4V
163
+
164
+ > H.264 and H.265/HEVC video both work. FFmpeg must be installed and in your PATH for any video or non-MP3 audio format.
165
+
166
+ ---
167
+
168
+ ## Batch transcription
169
+
170
+ To transcribe multiple files in a folder interactively:
171
+
172
+ > *"Transcribe all files in C:\Users\Me\Videos\clips\"*
173
+
174
+ Claude will list all detected files (with checkmarks on already-completed ones), then process them one at a time, showing you a preview of each transcript before moving to the next.
175
+
176
+ **For large unattended overnight batches**, use whisper-cli directly from the command line — see [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for the syntax. This is more reliable than running through Claude for very large jobs.
177
+
178
+ ---
179
+
180
+ ## Transcription speed
181
+
182
+ Whisper runs on CPU by default. Rough estimates for a 1-hour recording:
183
+
184
+ | Model | Approximate time (CPU) |
185
+ |---|---|
186
+ | tiny.en | 5–10 minutes |
187
+ | base.en | 10–20 minutes |
188
+ | small.en | 20–35 minutes |
189
+ | medium.en | 35–60 minutes |
190
+ | large-v3 | 60–120 minutes |
191
+
192
+ You can increase thread count by adding `"WHISPER_THREADS": "12"` to the `env` block in your config (replace `12` with however many threads you want — up to your CPU's logical core count).
193
+
194
+ > **GPU acceleration** for AMD (ROCm) and NVIDIA (CUDA) on Windows is planned for a future update.
195
+
196
+ ---
197
+
198
+ ## Converting video to audio (optional)
199
+
200
+ whisper-windows-mcp handles video files automatically via FFmpeg, so manual conversion is no longer required. However, if you want a smaller audio-only file for any reason, VLC makes it easy:
201
+
202
+ 1. Open VLC → **Media → Convert / Save**
203
+ 2. Click **Add**, select your video, then **Convert / Save**
204
+ 3. Under **Profile**, choose **Audio - MP3**
205
+ 4. Set a destination filename and click **Start**
206
+
207
+ ---
208
+
209
+ ## Full config example
210
+
211
+ ```json
212
+ {
213
+ "preferences": {
214
+ "coworkWebSearchEnabled": true
215
+ },
216
+ "mcpServers": {
217
+ "whisper": {
218
+ "command": "npx",
219
+ "args": ["-y", "whisper-windows-mcp"],
220
+ "env": {
221
+ "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
222
+ "WHISPER_MODEL": "C:\\whisper\\models\\ggml-base.en.bin",
223
+ "WHISPER_THREADS": "8",
224
+ "FFMPEG_PATH": "ffmpeg"
225
+ }
226
+ }
227
+ }
228
+ }
229
+ ```
230
+
231
+ Config file location:
232
+ ```
233
+ C:\Users\YourUsername\AppData\Roaming\Claude\claude_desktop_config.json
234
+ ```
235
+
236
+ > The `AppData` folder is hidden by default. To show it: File Explorer → **View → Show → Hidden items**
237
+
238
+ ---
239
+
240
+ ## Tested on
241
+
242
+ - Windows 10 Pro (10.0.19045)
243
+ - Windows 11 — untested, feedback welcome via [Issues](../../issues)
244
+
245
+ ---
246
+
247
+ ## Troubleshooting
248
+
249
+ See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for detailed solutions including how to run large overnight batch jobs from the command line.
250
+
251
+ Quick checklist:
252
+
253
+ - [ ] Config paths use **double backslashes** (`C:\\whisper\\...`)
254
+ - [ ] `whisper-cli.exe` exists at the path specified
255
+ - [ ] The model `.bin` file exists at the path specified
256
+ - [ ] Claude Desktop was **fully restarted** after editing the config
257
+ - [ ] Whisper shows **running** in Settings → Developer
258
+ - [ ] FFmpeg is in PATH if using video files
259
+
260
+ ---
261
+
262
+ ## Roadmap
263
+
264
+ - [ ] AMD GPU acceleration (ROCm)
265
+ - [ ] NVIDIA GPU acceleration (CUDA)
266
+ - [ ] Speaker diarization (automatic A/B speaker identification)
267
+ - [ ] Translation to English from other languages
268
+ - [ ] Unattended background batch processing
269
+
270
+ ---
271
+
272
+ ## Support this project
273
+
274
+ If this tool saved you time and you'd like to support continued development:
275
+
276
+ - ⭐ **Star this repo** — it helps others find it
277
+ - 💬 **Open an issue** if you find a bug or have a feature request
278
+ - 💖 **Sponsor** — [GitHub Sponsors](https://github.com/sponsors/eviscerations) | [Ko-fi](https://ko-fi.com) | [Patreon](https://patreon.com)
279
+
280
+ ---
281
+
282
+ ## License
283
+
284
+ MIT — free to use, modify, and distribute.
285
+
286
+ ---
287
+
288
+ ## Contributing
289
+
290
+ Pull requests welcome. GPU acceleration for AMD or NVIDIA especially appreciated. Windows 11 feedback welcome via Issues.