@kajidog/mcp-tts-voicevox 0.7.2 → 0.8.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/README.md CHANGED
@@ -68,7 +68,7 @@ Export behavior by environment:
68
68
 
69
69
  ### Requirements
70
70
 
71
- - Node.js 18.0.0 or higher (or [Bun](https://bun.sh/)) **or Docker**
71
+ - Node.js 20.0.0 or higher (or [Bun](https://bun.sh/)) **or Docker**
72
72
  - [VOICEVOX Engine](https://voicevox.hiroshiba.jp/) (must be running; included in Docker Compose)
73
73
  - ffplay (optional, recommended — not needed with Docker)
74
74
 
@@ -236,6 +236,8 @@ The main feature callable from Claude.
236
236
  | `VOICEVOX_URL` | Engine URL | `http://localhost:50021` |
237
237
  | `VOICEVOX_DEFAULT_SPEAKER` | Default speaker ID | `1` |
238
238
  | `VOICEVOX_DEFAULT_SPEED_SCALE` | Playback speed | `1.0` |
239
+ | `VOICEVOX_RETRY_COUNT` | Retries for failed API requests (0 disables) | `2` |
240
+ | `VOICEVOX_RETRY_DELAY_MS` | Initial retry delay in ms (exponential backoff) | `250` |
239
241
 
240
242
  ### Playback Options
241
243
 
@@ -259,10 +261,26 @@ Restrict AI from specifying certain options.
259
261
  ### Disable Tools
260
262
 
261
263
  ```bash
262
- # Disable unnecessary tools
264
+ # Disable individual tools
263
265
  export VOICEVOX_DISABLED_TOOLS=speak_player,synthesize_file
266
+
267
+ # Disable a built-in group of tools
268
+ export VOICEVOX_DISABLED_GROUPS=player
269
+
270
+ # Combine groups and individual tools
271
+ export VOICEVOX_DISABLED_GROUPS=dictionary
272
+ export VOICEVOX_DISABLED_TOOLS=synthesize_file
264
273
  ```
265
274
 
275
+ Built-in groups for `VOICEVOX_DISABLED_GROUPS` / `--disable-groups`:
276
+
277
+ | Group | Tools |
278
+ |-------|-------|
279
+ | `player` | `speak_player`, `resynthesize_player`, `get_player_state`, `open_dictionary_ui` |
280
+ | `dictionary` | `get_accent_phrases`, `get_user_dictionary`, `add_user_dictionary_word`, `update_user_dictionary_word`, `delete_user_dictionary_word`, `add_user_dictionary_words`, `update_user_dictionary_words` |
281
+ | `file` | `synthesize_file` |
282
+ | `apps` | `speak_player`, `resynthesize_player`, `open_dictionary_ui` (MCP App UI tools) |
283
+
266
284
  ### UI Player Settings
267
285
 
268
286
  | Variable | Description | Default |
@@ -305,14 +323,19 @@ npx @kajidog/mcp-tts-voicevox --http --port 8080
305
323
  # With restrictions
306
324
  npx @kajidog/mcp-tts-voicevox --restrict-immediate --restrict-wait-for-end
307
325
 
308
- # Disable tools
326
+ # Disable individual tools
309
327
  npx @kajidog/mcp-tts-voicevox --disable-tools speak_player,synthesize_file
328
+
329
+ # Disable a tool group
330
+ npx @kajidog/mcp-tts-voicevox --disable-groups player
310
331
  ```
311
332
 
312
333
  | Argument | Description |
313
334
  |----------|-------------|
314
335
  | `--help`, `-h` | Show help |
315
336
  | `--version`, `-v` | Show version |
337
+ | `--init` | Generate `.voicevoxrc.json` with default settings |
338
+ | `--config <path>` | Path to config file |
316
339
  | `--url <value>` | VOICEVOX Engine URL |
317
340
  | `--speaker <value>` | Default speaker ID |
318
341
  | `--speed <value>` | Playback speed |
@@ -323,7 +346,8 @@ npx @kajidog/mcp-tts-voicevox --disable-tools speak_player,synthesize_file
323
346
  | `--restrict-immediate` | Restrict immediate |
324
347
  | `--restrict-wait-for-start` | Restrict waitForStart |
325
348
  | `--restrict-wait-for-end` | Restrict waitForEnd |
326
- | `--disable-tools <tools>` | Disable tools |
349
+ | `--disable-tools <tools>` | Disable tools (comma-separated tool names) |
350
+ | `--disable-groups <groups>` | Disable tool groups: `player`, `dictionary`, `file`, `apps` |
327
351
  | `--auto-play` / `--no-auto-play` | Auto-play in UI player |
328
352
  | `--player-export` / `--no-player-export` | Enable/disable track export(download) in UI player |
329
353
  | `--player-export-dir <dir>` | Default output directory for exported tracks |
@@ -341,6 +365,51 @@ npx @kajidog/mcp-tts-voicevox --disable-tools speak_player,synthesize_file
341
365
 
342
366
  </details>
343
367
 
368
+ <details>
369
+ <summary><b>Config File (.voicevoxrc.json)</b></summary>
370
+
371
+ You can use a JSON config file instead of (or in addition to) environment variables and CLI arguments. This is useful when you have many settings to configure.
372
+
373
+ **Priority order:** CLI args > Environment variables > Config file > Defaults
374
+
375
+ ### Generate a config file
376
+
377
+ ```bash
378
+ npx @kajidog/mcp-tts-voicevox --init
379
+ ```
380
+
381
+ This creates `.voicevoxrc.json` in the current directory with all default settings. Edit it as needed.
382
+
383
+ ### Use a custom config file path
384
+
385
+ ```bash
386
+ npx @kajidog/mcp-tts-voicevox --config ./my-config.json
387
+ ```
388
+
389
+ Or via environment variable:
390
+
391
+ ```bash
392
+ VOICEVOX_CONFIG=./my-config.json npx @kajidog/mcp-tts-voicevox
393
+ ```
394
+
395
+ ### Example `.voicevoxrc.json`
396
+
397
+ ```json
398
+ {
399
+ "url": "http://192.168.1.50:50021",
400
+ "speaker": 3,
401
+ "speed": 1.2,
402
+ "http": true,
403
+ "port": 8080,
404
+ "disable-tools": ["synthesize_file"],
405
+ "disable-groups": ["dictionary"]
406
+ }
407
+ ```
408
+
409
+ Keys can be written in kebab-case (`use-streaming`), camelCase (`useStreaming`), or internal key names (`defaultSpeaker`). If `.voicevoxrc.json` exists in the current directory, it is loaded automatically.
410
+
411
+ </details>
412
+
344
413
  <details>
345
414
  <summary><b>HTTP Mode</b></summary>
346
415