set_voice_pack
Switch between male and female announcer voice packs to customize achievement sound feedback for coding milestones in your development environment.
Instructions
🎤 Switch between Male and Female announcer voice packs. This sets the default voice pack for all subsequent achievement sounds. Male pack includes 15 classic Quake 3 Arena sounds. Female pack includes 16 unique female announcer sounds. The setting persists for the session until changed.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| voiceGender | Yes | 🎤 Voice pack selection. Options: 'male' (Classic Quake 3 Arena male announcer with 15 sounds including EXCELLENT, PERFECT, IMPRESSIVE, DOUBLE KILL, TRIPLE KILL), 'female' (Female announcer with 16 sounds including HEADSHOT, MULTI KILL, KILLING SPREE, BOTTOM FEEDER, PLAY). Examples: 'male', 'female' |
Implementation Reference
- src/tools/settings.ts:51-63 (handler)The core handler function for the 'set_voice_pack' tool. It updates the global enhancedStats.voicePack based on the input voiceGender ('male' or 'female'), retrieves the corresponding voice configuration from VOICE_PACKS, and returns a properly formatted MCP tool response including a text message and voice pack details.async ({ voiceGender }) => { enhancedStats.voicePack = voiceGender; const voiceConfig = VOICE_PACKS[voiceGender]; return { content: [{ type: "text", text: `🎤 Voice pack set to ${voiceConfig.displayName}!` }], currentVoicePack: voiceGender, voicePackInfo: voiceConfig }; }
- src/tools/settings.ts:37-50 (schema)The tool specification including description, inputSchema using Zod for voiceGender enum validation, and annotations for UI hints."set_voice_pack", { description: "🎤 Switch between Male and Female announcer voice packs. This sets the default voice pack for all subsequent achievement sounds. Male pack includes 15 classic Quake 3 Arena sounds. Female pack includes 16 unique female announcer sounds. The setting persists for the session until changed.", inputSchema: { voiceGender: z.enum(["male", "female"]).describe("🎤 Voice pack selection. Options: 'male' (Classic Quake 3 Arena male announcer with 15 sounds including EXCELLENT, PERFECT, IMPRESSIVE, DOUBLE KILL, TRIPLE KILL), 'female' (Female announcer with 16 sounds including HEADSHOT, MULTI KILL, KILLING SPREE, BOTTOM FEEDER, PLAY). Examples: 'male', 'female'"), }, annotations: { title: "🎤 Set Voice Pack", readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false } },
- src/tools/settings.ts:35-64 (registration)The server.registerTool call that registers the 'set_voice_pack' tool with its spec and handler on the MCP server.// 🎤 Set Voice Pack server.registerTool( "set_voice_pack", { description: "🎤 Switch between Male and Female announcer voice packs. This sets the default voice pack for all subsequent achievement sounds. Male pack includes 15 classic Quake 3 Arena sounds. Female pack includes 16 unique female announcer sounds. The setting persists for the session until changed.", inputSchema: { voiceGender: z.enum(["male", "female"]).describe("🎤 Voice pack selection. Options: 'male' (Classic Quake 3 Arena male announcer with 15 sounds including EXCELLENT, PERFECT, IMPRESSIVE, DOUBLE KILL, TRIPLE KILL), 'female' (Female announcer with 16 sounds including HEADSHOT, MULTI KILL, KILLING SPREE, BOTTOM FEEDER, PLAY). Examples: 'male', 'female'"), }, annotations: { title: "🎤 Set Voice Pack", readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false } }, async ({ voiceGender }) => { enhancedStats.voicePack = voiceGender; const voiceConfig = VOICE_PACKS[voiceGender]; return { content: [{ type: "text", text: `🎤 Voice pack set to ${voiceConfig.displayName}!` }], currentVoicePack: voiceGender, voicePackInfo: voiceConfig }; } );
- src/index.ts:56-59 (registration)Call to registerSettingsTools(server) which includes the set_voice_pack tool, in the main server setup for Smithery deployment.registerAchievementTools(server); registerSettingsTools(server); registerStatsTools(server); registerGuideTools(server);
- run-server.ts:31-33 (registration)Call to registerSettingsTools(server) which includes the set_voice_pack tool, in the stdio server entry point.registerAchievementTools(server); registerSettingsTools(server); registerStatsTools(server);