whisper-windows-mcp 2.2.2 → 2.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/{LICENSE-COMMERCIAL.md → COMMERCIAL-LICENSE.md} +58 -58
- package/LICENSE +40 -40
- package/PRIVACY.es.md +192 -135
- package/PRIVACY.id.md +192 -135
- package/PRIVACY.ja.md +192 -135
- package/PRIVACY.ko.md +192 -135
- package/PRIVACY.md +192 -135
- package/PRIVACY.pl.md +192 -135
- package/PRIVACY.pt-BR.md +192 -135
- package/PRIVACY.ro.md +192 -135
- package/PRIVACY.uk.md +192 -135
- package/PRIVACY.vi.md +192 -135
- package/README.es.md +74 -48
- package/README.id.md +77 -40
- package/README.ja.md +100 -72
- package/README.ko.md +63 -37
- package/README.md +76 -39
- package/README.pl.md +77 -40
- package/README.pt-BR.md +71 -45
- package/README.ro.md +78 -41
- package/README.uk.md +77 -40
- package/README.vi.md +67 -41
- package/ROADMAP.es.md +110 -48
- package/ROADMAP.id.md +77 -104
- package/ROADMAP.ja.md +84 -123
- package/ROADMAP.ko.md +73 -97
- package/ROADMAP.pl.md +104 -44
- package/ROADMAP.pt-BR.md +78 -102
- package/ROADMAP.ro.md +102 -44
- package/ROADMAP.uk.md +65 -97
- package/ROADMAP.vi.md +78 -102
- package/SECURITY.es.md +64 -47
- package/SECURITY.id.md +64 -47
- package/SECURITY.ja.md +64 -47
- package/SECURITY.ko.md +64 -47
- package/SECURITY.md +21 -4
- package/SECURITY.pl.md +64 -47
- package/SECURITY.pt-BR.md +64 -47
- package/SECURITY.ro.md +64 -47
- package/SECURITY.uk.md +64 -47
- package/SECURITY.vi.md +64 -47
- package/TROUBLESHOOTING.es.md +309 -323
- package/TROUBLESHOOTING.id.md +333 -323
- package/TROUBLESHOOTING.ja.md +399 -286
- package/TROUBLESHOOTING.ko.md +309 -323
- package/TROUBLESHOOTING.pl.md +355 -323
- package/TROUBLESHOOTING.pt-BR.md +309 -323
- package/TROUBLESHOOTING.ro.md +355 -323
- package/TROUBLESHOOTING.uk.md +369 -323
- package/TROUBLESHOOTING.vi.md +309 -323
- package/dist/index.js +591 -216
- package/package.json +45 -45
- package/patch_roadmaps.py +0 -72
package/README.ko.md
CHANGED
|
@@ -17,6 +17,7 @@ Windows 전용 네이티브 MCP(Model Context Protocol) 서버입니다. [whispe
|
|
|
17
17
|
- *"이 폴더의 배치 전사를 시작해줘"*
|
|
18
18
|
- *"이 파일들을 전사하는 데 얼마나 걸려?"*
|
|
19
19
|
- *"GPU 가속이 작동 중인지 확인해줘"*
|
|
20
|
+
- *"이 파일을 개인 정보 모드로 전사해줘"*
|
|
20
21
|
|
|
21
22
|
---
|
|
22
23
|
|
|
@@ -163,12 +164,13 @@ GPU가 감지되고 Vulkan 가속이 활성화되었는지 확인합니다.
|
|
|
163
164
|
|---|---|
|
|
164
165
|
| `file_path` | 파일의 절대 경로 (필수) |
|
|
165
166
|
| `language` | 언어 코드(`en`, `ko`, `ja` 등) 또는 자동 감지를 위한 `auto`. 기본값: `en` |
|
|
166
|
-
| `output_format` | `
|
|
167
|
+
| `output_format` | `timestamps`(기본값), `text`, `json`, `srt`, `vtt`, `lrc`, `csv` |
|
|
167
168
|
| `save_to_file` | 소스 파일 옆에 .txt로 저장 |
|
|
168
169
|
| `background` | 분리된 작업으로 실행 — 즉시 작업 ID 반환. `check_progress`로 모니터링. 10분 이상의 파일에 권장. |
|
|
170
|
+
| `privacy_mode` | 이 호출에 대해 개인 정보 모드를 재정의합니다. `true` = 메타데이터만, 전사 텍스트 미전송. `false` = `WHISPER_PRIVACY_MODE=true`가 전역으로 설정되어도 텍스트 반환. 전역 설정을 사용하려면 생략. |
|
|
169
171
|
| `threads` | CPU 스레드 수 재정의 |
|
|
170
|
-
| `temperature` | 샘플링 온도 0.0–1.0. 기본값 0.0(결정적).
|
|
171
|
-
| `prompt` | 사전 컨텍스트 문자열 — 도메인별 어휘나 화자 이름의 정확도를 향상시킵니다. 예: `"이름: Keemstar, DramaAlert"` |
|
|
172
|
+
| `temperature` | 샘플링 온도 0.0–1.0. 기본값 0.0(결정적). |
|
|
173
|
+
| `prompt` | 사전 컨텍스트 문자열 — 도메인별 어휘나 화자 이름의 정확도를 향상시킵니다. 예: `"이름: Keemstar, DramaAlert."` |
|
|
172
174
|
| `condition_on_prev_text` | 세그먼트 간 컨텍스트 조건화 재활성화. 기본값 false. |
|
|
173
175
|
| `beam_size` | 빔 탐색 너비. 높을수록 정확도 향상, 속도 저하. 기본값 5. |
|
|
174
176
|
| `best_of` | 평가할 후보 시퀀스 수. 기본값 5. |
|
|
@@ -191,6 +193,7 @@ GPU가 감지되고 Vulkan 가속이 활성화되었는지 확인합니다.
|
|
|
191
193
|
| 파라미터 | 설명 |
|
|
192
194
|
|---|---|
|
|
193
195
|
| `job_id` | `transcribe_audio`가 반환한 작업 ID |
|
|
196
|
+
| `privacy_mode` | 이 호출에 대해 개인 정보 모드를 재정의합니다. |
|
|
194
197
|
|
|
195
198
|
---
|
|
196
199
|
|
|
@@ -201,6 +204,8 @@ GPU가 감지되고 Vulkan 가속이 활성화되었는지 확인합니다.
|
|
|
201
204
|
|---|---|
|
|
202
205
|
| `folder_path` | 폴더 경로 (필수) |
|
|
203
206
|
| `language` | 언어 코드. 기본값: `en` |
|
|
207
|
+
| `output_format` | `timestamps`(기본값), `text`, `srt`, `vtt`, `lrc`, `csv` |
|
|
208
|
+
| `privacy_mode` | 이 배치에 대해 개인 정보 모드를 재정의합니다. |
|
|
204
209
|
| `threads` | CPU 스레드 수 재정의 |
|
|
205
210
|
|
|
206
211
|
---
|
|
@@ -227,20 +232,22 @@ GPU가 감지되고 Vulkan 가속이 활성화되었는지 확인합니다.
|
|
|
227
232
|
---
|
|
228
233
|
|
|
229
234
|
### `generate_subtitles`
|
|
230
|
-
|
|
235
|
+
자막 파일을 생성합니다. 자동 언어 감지 및 영어 번역 출력을 지원합니다.
|
|
231
236
|
|
|
232
237
|
| 파라미터 | 설명 |
|
|
233
238
|
|---|---|
|
|
234
239
|
| `file_path` | 파일 경로 (필수) |
|
|
235
240
|
| `language` | 언어 코드 또는 자동 감지를 위한 `auto`. 기본값: `en` |
|
|
236
|
-
| `
|
|
241
|
+
| `output_format` | `srt`(기본값) 또는 `vtt` |
|
|
242
|
+
| `translate_to_english` | 영어 번역 자막 파일도 생성. 소스가 영어가 아닌 경우에만 적용. |
|
|
243
|
+
| `background` | 분리된 백그라운드 작업으로 실행. `check_progress`용 작업 ID를 반환. |
|
|
237
244
|
| `threads` | CPU 스레드 수 재정의 |
|
|
238
245
|
|
|
239
246
|
두 가지를 모두 요청하면 소스 파일 옆에 두 개의 파일이 저장됩니다:
|
|
240
247
|
- `파일명.ko.srt` — 원본 언어
|
|
241
248
|
- `파일명.en.srt` — 영어 번역
|
|
242
249
|
|
|
243
|
-
> Whisper의 내장 번역은 **영어로만** 번역합니다. 다른 대상 언어로의 번역은
|
|
250
|
+
> Whisper의 내장 번역은 **영어로만** 번역합니다. 다른 대상 언어로의 번역은 자막 파일 내용을 별도로 처리하세요.
|
|
244
251
|
|
|
245
252
|
---
|
|
246
253
|
|
|
@@ -265,7 +272,7 @@ whisper-cli.exe, 모델 파일, FFmpeg가 모두 접근 가능한지 확인합
|
|
|
265
272
|
---
|
|
266
273
|
|
|
267
274
|
### `download_model`
|
|
268
|
-
Hugging Face에서 모델 파일을 모델 디렉터리로 직접 다운로드합니다.
|
|
275
|
+
Hugging Face에서 모델 파일을 모델 디렉터리로 직접 다운로드합니다. 신뢰할 수 있는 Hugging Face 네임스페이스에서만 다운로드합니다. 다운로드 후 `switch_model`을 사용하여 활성화하세요.
|
|
269
276
|
|
|
270
277
|
| 파라미터 | 설명 |
|
|
271
278
|
|---|---|
|
|
@@ -301,14 +308,16 @@ GPU 하드웨어를 감지하고 Vulkan 가속 사용 가능 여부를 확인합
|
|
|
301
308
|
|
|
302
309
|
사전 빌드된 Vulkan 릴리스는 GPU 가속을 자동으로 활성화합니다. AMD Radeon RX Vega 56(GCN 5세대)에서 테스트되었습니다. Vulkan 1.0+ 지원 GPU라면 NVIDIA 및 Intel Arc를 포함하여 모두 작동해야 합니다.
|
|
303
310
|
|
|
304
|
-
**성능 비교 (
|
|
311
|
+
**성능 비교 (large-v3 모델, 약 14분 음성 파일):**
|
|
305
312
|
|
|
306
313
|
| 하드웨어 | 시간 |
|
|
307
314
|
|---|---|
|
|
308
|
-
| CPU만 사용 (Ryzen 7 2700x, 8 스레드) |
|
|
309
|
-
| GPU (Vega 56 via Vulkan) |
|
|
315
|
+
| CPU만 사용 (Ryzen 7 2700x, 8 스레드) | ~22분 (추정) |
|
|
316
|
+
| GPU (Vega 56 via Vulkan) | ~3분 22초 |
|
|
310
317
|
|
|
311
|
-
전사 중 GPU 사용률은 일반적으로 15–20%이며, 파일 사이에는 유휴 상태로 돌아갑니다.
|
|
318
|
+
전사 중 GPU 사용률은 일반적으로 15–20%이며, 파일 사이에는 유휴 상태로 돌아갑니다.
|
|
319
|
+
|
|
320
|
+
Windows 10 및 Windows 11을 지원합니다. Windows 11 전용 설정은 필요하지 않습니다 — 이 도구는 Win32 API를 직접 호출하지 않으며 두 운영 체제 모두에서 실행됩니다.
|
|
312
321
|
|
|
313
322
|
---
|
|
314
323
|
|
|
@@ -320,9 +329,25 @@ Whisper는 음성 언어를 자동으로 감지하고 해당 언어로 전사할
|
|
|
320
329
|
|
|
321
330
|
**예시 — 자막이 있는 외국어 동영상:**
|
|
322
331
|
1. `language=auto`와 `translate_to_english=true`로 자막 생성 요청
|
|
323
|
-
2. Whisper가 언어를 감지하고 원본 언어 SRT 생성
|
|
324
|
-
3. 두 번째 패스에서 영어 번역
|
|
325
|
-
4. VLC에서 자막 → 자막 파일 추가로
|
|
332
|
+
2. Whisper가 언어를 감지하고 원본 언어 SRT 또는 VTT 생성
|
|
333
|
+
3. 두 번째 패스에서 영어 번역 생성
|
|
334
|
+
4. VLC에서 자막 → 자막 파일 추가로 SRT 파일을 로드하거나 웹 플레이어에서 VTT를 사용
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## 개인 정보 및 컴플라이언스
|
|
339
|
+
|
|
340
|
+
whisper-windows-mcp에는 민감하고 규제 대상인 콘텐츠를 위한 내장 개인 정보 아키텍처가 포함되어 있습니다.
|
|
341
|
+
|
|
342
|
+
**음성 및 동영상은 절대 머신을 떠나지 않습니다.** 이 보장은 무조건적입니다.
|
|
343
|
+
|
|
344
|
+
**전사 텍스트**는 다릅니다 — 도구 응답에 인라인으로 반환될 때 Claude의 API에서 처리됩니다. 대부분의 사용자에게는 예상된 동작입니다. 규제 대상 콘텐츠(의료, 법률, 재정, 기업)의 경우 개인 정보 모드가 이를 방지합니다.
|
|
345
|
+
|
|
346
|
+
**개인 정보 모드**는 모든 도구 응답을 메타데이터만(파일명, 단어 수, 저장 경로)으로 제한합니다. 어떤 상황에서도 전사 텍스트가 Claude의 API에 전송되지 않습니다. 전사 도구에서 `privacy_mode=true`로 호출별로 활성화하거나 설정에서 `WHISPER_PRIVACY_MODE=true`로 전역으로 활성화하세요.
|
|
347
|
+
|
|
348
|
+
**동의 게이트** — 기본 모드에서 세션당 첫 사용 시 전사 텍스트가 반환되기 전에 전체 개인 정보 공개가 표시됩니다. 진행하기 전에 명시적으로 확인해야 합니다. 민감하지 않은 콘텐츠에 대해 이를 건너뛰려면 설정에서 `WHISPER_CONSENT_ACKNOWLEDGED=true`를 설정하세요.
|
|
349
|
+
|
|
350
|
+
전체 컴플라이언스 안내(HIPAA, GDPR, 변호사-의뢰인 특권, FERPA, SOX, PCI-DSS)는 [PRIVACY.md](PRIVACY.md)를 참고하세요.
|
|
326
351
|
|
|
327
352
|
---
|
|
328
353
|
|
|
@@ -340,43 +365,44 @@ Whisper는 음성 언어를 자동으로 감지하고 해당 언어로 전사할
|
|
|
340
365
|
| `WHISPER_MODEL` | 모델 .bin 파일 경로 (필수) |
|
|
341
366
|
| `WHISPER_THREADS` | CPU 스레드 수 재정의 |
|
|
342
367
|
| `FFMPEG_PATH` | ffmpeg가 시스템 PATH에 없을 경우 경로 |
|
|
343
|
-
| `WHISPER_PRIVACY_MODE` |
|
|
368
|
+
| `WHISPER_PRIVACY_MODE` | `true`로 설정하면 모든 도구 응답에서 전사 텍스트 없이 메타데이터만 반환됩니다. 규제 대상 또는 기밀 콘텐츠에 사용합니다. 호출별 `privacy_mode` 파라미터로 재정의 가능합니다. [PRIVACY.md](PRIVACY.md) 참고. |
|
|
369
|
+
| `WHISPER_CONSENT_ACKNOWLEDGED` | `true`로 설정하면 전사 텍스트 반환 전 표시되는 일회성 세션 동의 공개를 건너뜁니다. 개인 정보 경계를 이해하고 더 이상 알림이 필요하지 않을 때 설정하세요. 개인 정보 모드가 활성화된 경우 효과 없음. |
|
|
344
370
|
|
|
345
371
|
---
|
|
346
372
|
|
|
347
|
-
##
|
|
348
|
-
|
|
349
|
-
자세한 해결 방법은 [TROUBLESHOOTING.md](TROUBLESHOOTING.md)를 참고하세요. 규제 대상 콘텐츠를 처리하는 경우 [PRIVACY.md](PRIVACY.md)도 참고하세요.
|
|
373
|
+
## 보안
|
|
350
374
|
|
|
351
|
-
|
|
352
|
-
- 설정의 경로에 **백슬래시 두 개** 사용 (`C:\\whisper\\...`)
|
|
353
|
-
- `whisper-cli.exe`가 설정된 경로에 존재
|
|
354
|
-
- 모델 `.bin` 파일이 설정된 경로에 존재
|
|
355
|
-
- FFmpeg가 설치되어 PATH에 있음 (`ffmpeg -version` 작동)
|
|
356
|
-
- 설정 편집 후 Claude Desktop 완전히 재시작
|
|
357
|
-
- 설정 → 개발자에서 whisper가 **실행 중** (초록색 배지)으로 표시
|
|
375
|
+
**바이너리 검증.** 사전 빌드된 릴리스의 whisper-cli.exe 바이너리 무결성을 확인하려면 PowerShell에서 SHA256 해시를 확인하세요:
|
|
358
376
|
|
|
359
|
-
|
|
377
|
+
```powershell
|
|
378
|
+
Get-FileHash "C:\whisper\Release\whisper-cli.exe" -Algorithm SHA256
|
|
379
|
+
```
|
|
360
380
|
|
|
361
|
-
|
|
381
|
+
예상 해시는 [릴리스 페이지](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0)에 문서화되어 있습니다.
|
|
362
382
|
|
|
363
|
-
|
|
383
|
+
**입력 검증.** 모든 파일 경로는 사용 전에 검증됩니다 — UNC 경로(`\\server\share`) 및 디렉터리 탐색 시퀀스(`..`)는 거부됩니다. 10 GB를 초과하는 파일은 리소스 고갈을 방지하기 위해 거부됩니다.
|
|
364
384
|
|
|
365
|
-
|
|
385
|
+
**전사 인젝션 인식.** 음성 파일에는 전사 시 지시처럼 보이는 발화 내용이 포함될 수 있습니다. Claude의 내장 방어 기능이 이를 처리하지만, MCP 서버 자체도 전사 내용을 데이터로만 처리하며 지시로 해석하지 않는다는 점을 알아두는 것이 좋습니다.
|
|
366
386
|
|
|
367
|
-
|
|
387
|
+
**모델 다운로드는 제한됩니다.** `download_model` 도구는 두 개의 신뢰할 수 있는 Hugging Face 네임스페이스(`ggerganov/whisper.cpp` 및 `ggml-org`)에서만 다운로드합니다. 임의의 URL은 거부됩니다. 리다이렉트는 허용 목록에 대해 검증된 후 따릅니다.
|
|
368
388
|
|
|
369
|
-
|
|
389
|
+
**모델 전환은 샌드박스화됩니다.** `switch_model`은 설정된 모델 디렉터리 내의 `.bin` 파일만 허용합니다. 해당 디렉터리 외부의 경로는 거부됩니다.
|
|
370
390
|
|
|
371
|
-
|
|
391
|
+
전체 보안 정책은 [SECURITY.md](SECURITY.md)를 참고하세요.
|
|
372
392
|
|
|
373
|
-
|
|
393
|
+
---
|
|
374
394
|
|
|
375
|
-
|
|
395
|
+
## 문제 해결
|
|
376
396
|
|
|
377
|
-
|
|
397
|
+
자세한 해결 방법은 [TROUBLESHOOTING.md](TROUBLESHOOTING.md)를 참고하세요. 규제 대상 콘텐츠를 처리하는 경우 [PRIVACY.md](PRIVACY.md)도 참고하세요.
|
|
378
398
|
|
|
379
|
-
|
|
399
|
+
빠른 체크리스트:
|
|
400
|
+
- 설정의 경로에 **백슬래시 두 개** 사용 (`C:\\whisper\\...`)
|
|
401
|
+
- `whisper-cli.exe`가 설정된 경로에 존재
|
|
402
|
+
- 모델 `.bin` 파일이 설정된 경로에 존재
|
|
403
|
+
- FFmpeg가 설치되어 PATH에 있음 (`ffmpeg -version` 작동)
|
|
404
|
+
- 설정 편집 후 Claude Desktop 완전히 재시작
|
|
405
|
+
- 설정 → 개발자에서 whisper가 **실행 중** (초록색 배지)으로 표시
|
|
380
406
|
|
|
381
407
|
---
|
|
382
408
|
|
|
@@ -384,7 +410,7 @@ whisper-windows-mcp는 보안을 핵심 원칙으로 설계되었습니다.
|
|
|
384
410
|
|
|
385
411
|
**비상업적 사용:** MIT — 개인, 교육, 비상업적 목적의 사용은 무료입니다. [LICENSE](LICENSE)를 참조하세요.
|
|
386
412
|
|
|
387
|
-
**상업적 사용:** 비즈니스, 전문적 또는 수익 창출 목적의 사용에는 별도의 상업용 라이선스가 필요합니다. 조건 및 연락처는 [LICENSE
|
|
413
|
+
**상업적 사용:** 비즈니스, 전문적 또는 수익 창출 목적의 사용에는 별도의 상업용 라이선스가 필요합니다. 조건 및 연락처는 [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md)를 참조하세요.
|
|
388
414
|
|
|
389
415
|
## 기여
|
|
390
416
|
|
package/README.md
CHANGED
|
@@ -17,6 +17,7 @@ Once installed, you can say things like this directly in Claude Desktop:
|
|
|
17
17
|
- *"Start a batch transcription of everything in this folder"*
|
|
18
18
|
- *"How long will it take to transcribe these files?"*
|
|
19
19
|
- *"Check if GPU acceleration is working"*
|
|
20
|
+
- *"Transcribe this file in privacy mode"*
|
|
20
21
|
|
|
21
22
|
---
|
|
22
23
|
|
|
@@ -163,11 +164,12 @@ Transcribe a single file. Supports blocking (default) or background mode for lon
|
|
|
163
164
|
|---|---|
|
|
164
165
|
| `file_path` | Absolute path to the file (required) |
|
|
165
166
|
| `language` | Language code (`en`, `ja`, `es`, etc.) or `auto` to detect. Default: `en` |
|
|
166
|
-
| `output_format` | `
|
|
167
|
+
| `output_format` | `timestamps` (default), `text`, `json`, `srt`, `vtt`, `lrc`, or `csv` |
|
|
167
168
|
| `save_to_file` | Save transcript as .txt next to the source file |
|
|
168
169
|
| `background` | Run as detached job — returns a job ID immediately. Use `check_progress` to monitor. Recommended for files over 10 minutes. |
|
|
170
|
+
| `privacy_mode` | Override privacy mode for this call. `true` = metadata only, no transcript text transmitted. `false` = return text even if `WHISPER_PRIVACY_MODE=true` globally. Omit to use global setting. |
|
|
169
171
|
| `threads` | CPU thread override |
|
|
170
|
-
| `temperature` | Sampling temperature 0.0–1.0. Default 0.0 (deterministic).
|
|
172
|
+
| `temperature` | Sampling temperature 0.0–1.0. Default 0.0 (deterministic). |
|
|
171
173
|
| `prompt` | Prior context string — improves accuracy for domain-specific vocabulary or speaker names. Example: `"Names: Keemstar, DramaAlert."` |
|
|
172
174
|
| `condition_on_prev_text` | Re-enable context conditioning between segments. Default false. |
|
|
173
175
|
| `beam_size` | Beam search width. Higher = more accurate, slower. Default 5. |
|
|
@@ -181,32 +183,44 @@ Transcribe a single file. Supports blocking (default) or background mode for lon
|
|
|
181
183
|
| `offset_t` | Start offset in milliseconds. |
|
|
182
184
|
| `duration` | Process duration in milliseconds from offset. |
|
|
183
185
|
|
|
186
|
+
**Output formats:**
|
|
187
|
+
- `timestamps` — timestamped segments, e.g. `[00:00:01.230 --> 00:00:04.560] Hello world` (default)
|
|
188
|
+
- `text` — plain text, no time codes
|
|
189
|
+
- `json` — structured JSON (blocking mode only)
|
|
190
|
+
- `srt` — SubRip subtitle file saved next to source
|
|
191
|
+
- `vtt` — WebVTT subtitle file saved next to source
|
|
192
|
+
- `lrc` — LRC lyrics/karaoke format saved next to source
|
|
193
|
+
- `csv` — CSV with timestamps saved next to source
|
|
194
|
+
|
|
184
195
|
---
|
|
185
196
|
|
|
186
197
|
### `check_progress`
|
|
187
198
|
Monitor a background transcription job started with `transcribe_audio` (background=true).
|
|
188
199
|
|
|
189
|
-
Returns elapsed time, last processed timestamp,
|
|
200
|
+
Returns elapsed time, last processed timestamp, and the full transcript when complete.
|
|
190
201
|
|
|
191
202
|
| Parameter | Description |
|
|
192
203
|
|---|---|
|
|
193
204
|
| `job_id` | Job ID returned by `transcribe_audio` |
|
|
205
|
+
| `privacy_mode` | Override privacy mode for this check. `true` = metadata only, regardless of how the job was started. |
|
|
194
206
|
|
|
195
207
|
---
|
|
196
208
|
|
|
197
209
|
### `start_batch`
|
|
198
|
-
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.
|
|
210
|
+
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.
|
|
199
211
|
|
|
200
212
|
| Parameter | Description |
|
|
201
213
|
|---|---|
|
|
202
214
|
| `folder_path` | Path to folder (required) |
|
|
203
215
|
| `language` | Language code. Default: `en` |
|
|
204
216
|
| `threads` | CPU thread override |
|
|
217
|
+
| `output_format` | `timestamps` (default) or `text` |
|
|
218
|
+
| `privacy_mode` | Override privacy mode. One confirmation required before batch start; all files then process unattended. No transcript text returned. |
|
|
205
219
|
|
|
206
220
|
---
|
|
207
221
|
|
|
208
222
|
### `check_batch_progress`
|
|
209
|
-
Monitor a running batch. Automatically advances to the next file when the current one finishes. Returns overall progress, current file with timestamp,
|
|
223
|
+
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.
|
|
210
224
|
|
|
211
225
|
| Parameter | Description |
|
|
212
226
|
|---|---|
|
|
@@ -223,24 +237,28 @@ Process files one at a time with a preview and confirmation before each. Useful
|
|
|
223
237
|
| `file_index` | Which file to process (1-based). Omit to list files first. |
|
|
224
238
|
| `language` | Language code. Default: `en` |
|
|
225
239
|
| `recursive` | Include subfolders |
|
|
240
|
+
| `output_format` | `timestamps` (default) or `text` |
|
|
241
|
+
| `privacy_mode` | Override privacy mode. Confirmation required before each file; metadata only returned. |
|
|
226
242
|
|
|
227
243
|
---
|
|
228
244
|
|
|
229
245
|
### `generate_subtitles`
|
|
230
|
-
Generate
|
|
246
|
+
Generate subtitle files. Supports automatic language detection and English translation output. Outputs SRT (widest compatibility) or WebVTT (web and HTML5 video).
|
|
231
247
|
|
|
232
248
|
| Parameter | Description |
|
|
233
249
|
|---|---|
|
|
234
250
|
| `file_path` | Path to file (required) |
|
|
235
251
|
| `language` | Language code or `auto` to detect. Default: `en` |
|
|
236
|
-
| `
|
|
252
|
+
| `output_format` | `srt` (default) or `vtt` |
|
|
253
|
+
| `translate_to_english` | Also generate an English translation subtitle file. Only applies when source is not English. |
|
|
254
|
+
| `background` | Run as detached background job. Returns a job ID for `check_progress`. |
|
|
237
255
|
| `threads` | CPU thread override |
|
|
238
256
|
|
|
239
257
|
When both native and translation are requested, two files are saved next to the source:
|
|
240
258
|
- `filename.ja.srt` — original language
|
|
241
259
|
- `filename.en.srt` — English translation
|
|
242
260
|
|
|
243
|
-
> Whisper's built-in translation only translates **to English**. For other target languages, translate the
|
|
261
|
+
> Whisper's built-in translation only translates **to English**. For other target languages, translate the subtitle file contents separately.
|
|
244
262
|
|
|
245
263
|
---
|
|
246
264
|
|
|
@@ -265,7 +283,7 @@ List all Whisper model files installed in your models directory. Shows filename,
|
|
|
265
283
|
---
|
|
266
284
|
|
|
267
285
|
### `download_model`
|
|
268
|
-
Download a Whisper model directly from Hugging Face into your models directory.
|
|
286
|
+
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.
|
|
269
287
|
|
|
270
288
|
| Parameter | Description |
|
|
271
289
|
|---|---|
|
|
@@ -301,14 +319,16 @@ Detect GPU hardware and verify Vulkan acceleration is available. Reports GPU nam
|
|
|
301
319
|
|
|
302
320
|
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.
|
|
303
321
|
|
|
304
|
-
**Performance comparison (
|
|
322
|
+
**Performance comparison (large-v3 model, ~14 minute audio file):**
|
|
305
323
|
|
|
306
324
|
| Hardware | Time |
|
|
307
325
|
|---|---|
|
|
308
|
-
| CPU only (Ryzen 7 2700x, 8 threads) |
|
|
309
|
-
| GPU (Vega 56 via Vulkan) |
|
|
326
|
+
| CPU only (Ryzen 7 2700x, 8 threads) | ~22 minutes (estimated) |
|
|
327
|
+
| GPU (Vega 56 via Vulkan) | ~3m 22s |
|
|
328
|
+
|
|
329
|
+
GPU utilization during transcription is typically 15–20%, dropping back to idle between files.
|
|
310
330
|
|
|
311
|
-
|
|
331
|
+
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.
|
|
312
332
|
|
|
313
333
|
---
|
|
314
334
|
|
|
@@ -320,9 +340,25 @@ For best multilingual accuracy, use the `large-v3` model. English-specific model
|
|
|
320
340
|
|
|
321
341
|
**Example — foreign language video with subtitles:**
|
|
322
342
|
1. Ask Claude to generate subtitles with `language=auto` and `translate_to_english=true`
|
|
323
|
-
2. Whisper detects the language and generates a native-language SRT
|
|
324
|
-
3. A second pass generates an English translation
|
|
325
|
-
4. Load
|
|
343
|
+
2. Whisper detects the language and generates a native-language SRT or VTT
|
|
344
|
+
3. A second pass generates an English translation
|
|
345
|
+
4. Load the SRT in VLC via Subtitle → Add Subtitle File, or use the VTT in any web player
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## Privacy and compliance
|
|
350
|
+
|
|
351
|
+
whisper-windows-mcp includes a built-in privacy architecture for sensitive and regulated content.
|
|
352
|
+
|
|
353
|
+
**Audio and video never leave your machine.** This guarantee is unconditional.
|
|
354
|
+
|
|
355
|
+
**Transcript text** is 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.
|
|
356
|
+
|
|
357
|
+
**Privacy mode** restricts 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 with `privacy_mode=true` on any transcription tool, or globally via `WHISPER_PRIVACY_MODE=true` in your config.
|
|
358
|
+
|
|
359
|
+
**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. Set `WHISPER_CONSENT_ACKNOWLEDGED=true` in your config to skip this for non-sensitive content.
|
|
360
|
+
|
|
361
|
+
See [PRIVACY.md](PRIVACY.md) for full compliance guidance (HIPAA, GDPR, attorney-client privilege, FERPA, SOX, PCI-DSS).
|
|
326
362
|
|
|
327
363
|
---
|
|
328
364
|
|
|
@@ -340,33 +376,20 @@ This tool is built to minimize Claude API interactions. The entire transcription
|
|
|
340
376
|
| `WHISPER_MODEL` | Path to model .bin file (required) |
|
|
341
377
|
| `WHISPER_THREADS` | CPU thread count override |
|
|
342
378
|
| `FFMPEG_PATH` | Path to ffmpeg if not in system PATH |
|
|
343
|
-
| `WHISPER_PRIVACY_MODE` |
|
|
379
|
+
| `WHISPER_PRIVACY_MODE` | When `true`, all tool responses return metadata only — no transcript text transmitted to Claude's API. For regulated or confidential content. Can be overridden per-call with the `privacy_mode` parameter. See [PRIVACY.md](PRIVACY.md). |
|
|
380
|
+
| `WHISPER_CONSENT_ACKNOWLEDGED` | When `true`, skips the one-time session consent disclosure shown before transcript text is returned. Set after you understand the privacy boundary and no longer need the reminder. Has no effect when privacy mode is active. |
|
|
344
381
|
|
|
345
382
|
---
|
|
346
383
|
|
|
347
|
-
##
|
|
348
|
-
|
|
349
|
-
See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for detailed solutions. See [PRIVACY.md](PRIVACY.md) for compliance guidance if you handle regulated content.
|
|
384
|
+
## Security
|
|
350
385
|
|
|
351
|
-
|
|
352
|
-
- Paths in config use **double backslashes** (`C:\\whisper\\...`)
|
|
353
|
-
- `whisper-cli.exe` exists at the configured path
|
|
354
|
-
- Model `.bin` file exists at the configured path
|
|
355
|
-
- FFmpeg is installed and in PATH (`ffmpeg -version` works)
|
|
356
|
-
- Claude Desktop was fully restarted after editing config
|
|
357
|
-
- Whisper shows **running** in Settings → Developer
|
|
386
|
+
**Binary verification.** To verify the integrity of the whisper-cli.exe binary in the pre-built release, check its SHA256 hash in PowerShell:
|
|
358
387
|
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
whisper-windows-mcp is designed with security as a core principle.
|
|
364
|
-
|
|
365
|
-
**Audio never leaves your machine.** No audio or video files, no file paths, and no telemetry are ever transmitted to any server. No cloud APIs are required for core functionality.
|
|
366
|
-
|
|
367
|
-
**Transcript text and the API boundary.** When a tool response includes transcript text, that text is processed by Claude's API — it leaves your local machine. For most users (public content, podcasts, streaming recordings) this is expected behavior. If you handle medical, legal, financial, or other regulated recordings, see [PRIVACY.md](PRIVACY.md) for compliance guidance and configuration options.
|
|
388
|
+
```powershell
|
|
389
|
+
Get-FileHash "C:\whisper\Release\whisper-cli.exe" -Algorithm SHA256
|
|
390
|
+
```
|
|
368
391
|
|
|
369
|
-
|
|
392
|
+
The expected hash for the v1.4.0 release binary is documented in the [releases page](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0).
|
|
370
393
|
|
|
371
394
|
**Input validation.** All file paths are validated before use — UNC paths (`\\server\share`) and directory traversal sequences (`..`) are rejected. Files over 10 GB are rejected to prevent resource exhaustion.
|
|
372
395
|
|
|
@@ -376,7 +399,21 @@ A `WHISPER_PRIVACY_MODE` environment variable is planned that will restrict all
|
|
|
376
399
|
|
|
377
400
|
**Model switching is sandboxed.** `switch_model` only accepts `.bin` files within the configured models directory. Paths outside that directory are rejected.
|
|
378
401
|
|
|
379
|
-
|
|
402
|
+
See [SECURITY.md](SECURITY.md) for the full security policy.
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## Troubleshooting
|
|
407
|
+
|
|
408
|
+
See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for detailed solutions. See [PRIVACY.md](PRIVACY.md) for compliance guidance if you handle regulated content.
|
|
409
|
+
|
|
410
|
+
Quick checklist:
|
|
411
|
+
- Paths in config use **double backslashes** (`C:\\whisper\\...`)
|
|
412
|
+
- `whisper-cli.exe` exists at the configured path
|
|
413
|
+
- Model `.bin` file exists at the configured path
|
|
414
|
+
- FFmpeg is installed and in PATH (`ffmpeg -version` works)
|
|
415
|
+
- Claude Desktop was fully restarted after editing config
|
|
416
|
+
- Whisper shows **running** in Settings → Developer
|
|
380
417
|
|
|
381
418
|
---
|
|
382
419
|
|
|
@@ -384,7 +421,7 @@ A `WHISPER_PRIVACY_MODE` environment variable is planned that will restrict all
|
|
|
384
421
|
|
|
385
422
|
**Non-commercial use:** MIT — free for personal, educational, and non-commercial use. See [LICENSE](LICENSE).
|
|
386
423
|
|
|
387
|
-
**Commercial use:** A separate commercial license is required for any business, professional, or revenue-generating use. See [LICENSE
|
|
424
|
+
**Commercial use:** A separate commercial license is required for any business, professional, or revenue-generating use. See [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) for terms and contact information.
|
|
388
425
|
|
|
389
426
|
## Contributing
|
|
390
427
|
|