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);