@mcptoolshop/voice-soundboard-mcp 0.2.0 → 0.2.2
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 +119 -21
- package/dist/server.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<strong>English</strong> | <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português</a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
1
5
|
<p align="center">
|
|
2
6
|
<img src="https://raw.githubusercontent.com/mcp-tool-shop-org/mcp-voice-soundboard/main/assets/logo-dark.jpg" alt="MCP Voice Soundboard" width="420" />
|
|
3
7
|
</p>
|
|
@@ -5,7 +9,7 @@
|
|
|
5
9
|
<h3 align="center">Text-to-speech MCP server for AI agents.</h3>
|
|
6
10
|
|
|
7
11
|
<p align="center">
|
|
8
|
-
<a href="https://github.com/mcp-tool-shop-org/mcp-voice-soundboard/actions"><img src="https://img.shields.io/github/actions/workflow/status/mcp-tool-shop-org/mcp-voice-soundboard/ci.yml?style=flat-square&label=CI" alt="CI"></a>
|
|
12
|
+
<a href="https://github.com/mcp-tool-shop-org/mcp-voice-soundboard/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/mcp-tool-shop-org/mcp-voice-soundboard/ci.yml?branch=main&style=flat-square&label=CI" alt="CI"></a>
|
|
9
13
|
<a href="https://www.npmjs.com/package/@mcptoolshop/voice-soundboard-mcp"><img src="https://img.shields.io/npm/v/@mcptoolshop/voice-soundboard-mcp?style=flat-square&color=cb3837&logo=npm" alt="npm"></a>
|
|
10
14
|
<img src="https://img.shields.io/badge/node-%E2%89%A520-339933?style=flat-square&logo=node.js&logoColor=white" alt="Node.js 20+">
|
|
11
15
|
<img src="https://img.shields.io/badge/TypeScript-5.7-3178c6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript">
|
|
@@ -13,7 +17,7 @@
|
|
|
13
17
|
</p>
|
|
14
18
|
|
|
15
19
|
<p align="center">
|
|
16
|
-
|
|
20
|
+
48 voices • 9 languages • 5 presets • 8 emotions • SSML-lite • SFX tags • multi-speaker dialogue<br>
|
|
17
21
|
Swappable TTS backends. Guardrails built in. Ships as a single <code>npx</code> command.
|
|
18
22
|
</p>
|
|
19
23
|
|
|
@@ -23,7 +27,7 @@
|
|
|
23
27
|
|
|
24
28
|
- **MCP native** — stdio transport, works with Claude Desktop, Cursor, and any MCP client
|
|
25
29
|
- **5 tools** — `voice_speak`, `voice_dialogue`, `voice_status`, `voice_interrupt`, `voice_inner_monologue`
|
|
26
|
-
- **
|
|
30
|
+
- **48 approved voices, 9 languages** — English (American + British), Japanese, Mandarin, Spanish, French, Hindi, Italian, Brazilian Portuguese. Curated presets: `narrator`, `announcer`, `whisper`, `storyteller`, `assistant`
|
|
27
31
|
- **Emotion spans** — 8 emotions via `[happy]...[/happy]` inline markup
|
|
28
32
|
- **SSML-lite** — `<break>`, `<emphasis>`, `<prosody>` without full SSML complexity
|
|
29
33
|
- **SFX tags** — `[ding]`, `[chime]`, `[whoosh]`, `[tada]`, `[error]`, `[click]` inline sound effects
|
|
@@ -129,20 +133,110 @@ category?: "thinking" # general | thinking | observation | debug
|
|
|
129
133
|
|
|
130
134
|
## Voices
|
|
131
135
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
|
135
|
-
|
|
136
|
-
| `
|
|
137
|
-
| `
|
|
138
|
-
| `
|
|
139
|
-
| `
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
142
|
-
| `
|
|
143
|
-
| `
|
|
144
|
-
| `
|
|
145
|
-
|
|
136
|
+
48 voices across 9 languages. Language is auto-inferred from the voice ID prefix — no configuration required.
|
|
137
|
+
|
|
138
|
+
| Prefix | Language |
|
|
139
|
+
|--------|----------|
|
|
140
|
+
| `af_` / `am_` | English (American) |
|
|
141
|
+
| `bf_` / `bm_` | English (British) |
|
|
142
|
+
| `jf_` / `jm_` | Japanese |
|
|
143
|
+
| `zf_` / `zm_` | Mandarin Chinese |
|
|
144
|
+
| `ef_` / `em_` | Spanish |
|
|
145
|
+
| `ff_` | French |
|
|
146
|
+
| `hf_` / `hm_` | Hindi |
|
|
147
|
+
| `if_` / `im_` | Italian |
|
|
148
|
+
| `pf_` / `pm_` | Brazilian Portuguese |
|
|
149
|
+
|
|
150
|
+
### English — American
|
|
151
|
+
|
|
152
|
+
| ID | Name | Gender | Style |
|
|
153
|
+
|----|------|--------|-------|
|
|
154
|
+
| `af_aoede` | Aoede | Female | Musical |
|
|
155
|
+
| `af_bella` | Bella | Female | Warm |
|
|
156
|
+
| `af_heart` | Heart | Female | Caring |
|
|
157
|
+
| `af_jessica` | Jessica | Female | Professional |
|
|
158
|
+
| `af_kore` | Kore | Female | Youthful |
|
|
159
|
+
| `af_nicole` | Nicole | Female | Soft |
|
|
160
|
+
| `af_sarah` | Sarah | Female | Clear |
|
|
161
|
+
| `af_sky` | Sky | Female | Airy |
|
|
162
|
+
| `am_eric` | Eric | Male | Confident |
|
|
163
|
+
| `am_fenrir` | Fenrir | Male | Powerful |
|
|
164
|
+
| `am_liam` | Liam | Male | Friendly |
|
|
165
|
+
| `am_michael` | Michael | Male | Deep |
|
|
166
|
+
| `am_onyx` | Onyx | Male | Smooth |
|
|
167
|
+
| `am_puck` | Puck | Male | Playful |
|
|
168
|
+
|
|
169
|
+
### English — British
|
|
170
|
+
|
|
171
|
+
| ID | Name | Gender | Style |
|
|
172
|
+
|----|------|--------|-------|
|
|
173
|
+
| `bf_alice` | Alice | Female | Proper |
|
|
174
|
+
| `bf_emma` | Emma | Female | Refined |
|
|
175
|
+
| `bf_isabella` | Isabella | Female | Warm |
|
|
176
|
+
| `bm_fable` | Fable | Male | Storytelling |
|
|
177
|
+
| `bm_george` | George | Male | Authoritative |
|
|
178
|
+
| `bm_lewis` | Lewis | Male | Friendly |
|
|
179
|
+
|
|
180
|
+
### Japanese
|
|
181
|
+
|
|
182
|
+
| ID | Name | Gender | Style |
|
|
183
|
+
|----|------|--------|-------|
|
|
184
|
+
| `jf_alpha` | Alpha | Female | Clear |
|
|
185
|
+
| `jf_gongitsune` | Gongitsune | Female | Storytelling |
|
|
186
|
+
| `jf_nezuko` | Nezuko | Female | Gentle |
|
|
187
|
+
| `jf_tebukuro` | Tebukuro | Female | Warm |
|
|
188
|
+
| `jm_kumo` | Kumo | Male | Calm |
|
|
189
|
+
|
|
190
|
+
### Mandarin Chinese
|
|
191
|
+
|
|
192
|
+
| ID | Name | Gender | Style |
|
|
193
|
+
|----|------|--------|-------|
|
|
194
|
+
| `zf_xiaobei` | Xiaobei | Female | Bright |
|
|
195
|
+
| `zf_xiaoni` | Xiaoni | Female | Gentle |
|
|
196
|
+
| `zf_xiaoxiao` | Xiaoxiao | Female | Clear |
|
|
197
|
+
| `zf_xiaoyi` | Xiaoyi | Female | Warm |
|
|
198
|
+
| `zm_yunjian` | Yunjian | Male | Authoritative |
|
|
199
|
+
| `zm_yunxi` | Yunxi | Male | Friendly |
|
|
200
|
+
| `zm_yunxia` | Yunxia | Male | Calm |
|
|
201
|
+
| `zm_yunyang` | Yunyang | Male | Confident |
|
|
202
|
+
|
|
203
|
+
### Spanish
|
|
204
|
+
|
|
205
|
+
| ID | Name | Gender | Style |
|
|
206
|
+
|----|------|--------|-------|
|
|
207
|
+
| `ef_dora` | Dora | Female | Warm |
|
|
208
|
+
| `em_alex` | Alex | Male | Confident |
|
|
209
|
+
| `em_santa` | Santa | Male | Jolly |
|
|
210
|
+
|
|
211
|
+
### French
|
|
212
|
+
|
|
213
|
+
| ID | Name | Gender | Style |
|
|
214
|
+
|----|------|--------|-------|
|
|
215
|
+
| `ff_siwis` | Siwis | Female | Refined |
|
|
216
|
+
|
|
217
|
+
### Hindi
|
|
218
|
+
|
|
219
|
+
| ID | Name | Gender | Style |
|
|
220
|
+
|----|------|--------|-------|
|
|
221
|
+
| `hf_alpha` | Alpha | Female | Clear |
|
|
222
|
+
| `hf_beta` | Beta | Female | Warm |
|
|
223
|
+
| `hm_omega` | Omega | Male | Deep |
|
|
224
|
+
| `hm_psi` | Psi | Male | Calm |
|
|
225
|
+
|
|
226
|
+
### Italian
|
|
227
|
+
|
|
228
|
+
| ID | Name | Gender | Style |
|
|
229
|
+
|----|------|--------|-------|
|
|
230
|
+
| `if_sara` | Sara | Female | Warm |
|
|
231
|
+
| `im_nicola` | Nicola | Male | Confident |
|
|
232
|
+
|
|
233
|
+
### Brazilian Portuguese
|
|
234
|
+
|
|
235
|
+
| ID | Name | Gender | Style |
|
|
236
|
+
|----|------|--------|-------|
|
|
237
|
+
| `pf_dora` | Dora | Female | Warm |
|
|
238
|
+
| `pm_alex` | Alex | Male | Confident |
|
|
239
|
+
| `pm_santa` | Santa | Male | Jolly |
|
|
146
240
|
|
|
147
241
|
### Presets
|
|
148
242
|
|
|
@@ -197,12 +291,10 @@ pnpm build
|
|
|
197
291
|
|
|
198
292
|
# Test (342 tests)
|
|
199
293
|
pnpm test
|
|
200
|
-
|
|
201
|
-
# Lint
|
|
202
|
-
pnpm --filter @mcptoolshop/voice-soundboard-core exec ruff check . # Python legacy
|
|
203
|
-
pnpm exec ruff check voice_soundboard/ tests/ --ignore=E501 # Python legacy
|
|
204
294
|
```
|
|
205
295
|
|
|
296
|
+
> Part of [MCP Tool Shop](https://mcp-tool-shop.github.io/)
|
|
297
|
+
|
|
206
298
|
### Project Structure
|
|
207
299
|
|
|
208
300
|
```
|
|
@@ -249,6 +341,12 @@ See [THREAT_MODEL.md](THREAT_MODEL.md) for the full threat surface analysis.
|
|
|
249
341
|
|---------|-------------|
|
|
250
342
|
| [soundboard-plugin](https://github.com/mcp-tool-shop-org/soundboard-plugin) | Claude Code plugin — slash commands, emotion-aware narration |
|
|
251
343
|
|
|
344
|
+
## Support
|
|
345
|
+
|
|
346
|
+
- **Questions / help:** [Discussions](https://github.com/mcp-tool-shop-org/mcp-voice-soundboard/discussions)
|
|
347
|
+
- **Bug reports:** [Issues](https://github.com/mcp-tool-shop-org/mcp-voice-soundboard/issues)
|
|
348
|
+
- **Security:** [SECURITY.md](SECURITY.md)
|
|
349
|
+
|
|
252
350
|
## License
|
|
253
351
|
|
|
254
352
|
[MIT](LICENSE)
|
package/dist/server.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcptoolshop/voice-soundboard-mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "MCP server for text-to-speech — 48 voices, 9 languages, 5 presets, emotion spans, SSML-lite, multi-speaker dialogue, SFX tags, and built-in guardrails.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|