Skip to main content
Glama
Ripnrip

Quake Coding Arena MCP

by Ripnrip
SMITHERY-DEPLOYMENT.mdβ€’5.67 kB
# 🌐 Smithery Deployment Guide - Dual Voice Audio Integration ## βœ… **How Male & Female Audio Work with Smithery** Both **male** and **female** audio files work identically on Smithery. This guide covers both voice packs. ### **File Inclusion Mechanism:** When deployed to Smithery, the server uses the `package.json` "files" array to determine what to include: ```json "files": [ "src/", "sounds/", // βœ… Includes entire sounds/ directory "README.md", "smithery.yaml", "tsconfig.json", "package.json" ] ``` **This means:** - βœ… **All 15 male audio files** in `sounds/male/` are automatically included - βœ… **All 16 female audio files** in `sounds/female/` are automatically included - βœ… **No manual configuration needed** - Smithery handles it automatically - βœ… **Both voices work identically** - Same invocation mechanism, same playback flow ### **Deployment Architecture:** ``` Smithery Cloud Server β”œβ”€β”€ .smithery/index.cjs (Bundled MCP server) β”œβ”€β”€ sounds/ β”‚ β”œβ”€β”€ male/ (17 audio files) β”‚ └── female/ (16 audio files) βœ… └── package.json ``` ### **How Users Access Female Audio:** #### **1. Via MCP Tools (Explicit Invocation):** Users must explicitly call MCP tools to trigger audio playback: ```javascript // Switch to female voice pack await session.call("tools/call", { name: "set_voice_pack", arguments: { voiceGender: "female" } }); // Play female achievement await session.call("tools/call", { name: "play_enhanced_quake_sound", arguments: { achievement: "HEADSHOT", volume: 85, voiceGender: "female" // 🎀 Explicitly request female voice } }); ``` #### **2. Via Voice Pack Setting:** Set male or female as default, then all subsequent plays use that voice: ```javascript // Set MALE as default voice pack await session.call("tools/call", { name: "set_voice_pack", arguments: { voiceGender: "male" } }); // Now all achievements use male voice await session.call("tools/call", { name: "play_enhanced_quake_sound", arguments: { achievement: "GODLIKE", volume: 80 // Uses current voice pack (male) βœ… } }); // Or set FEMALE as default await session.call("tools/call", { name: "set_voice_pack", arguments: { voiceGender: "female" } }); // Now all achievements use female voice await session.call("tools/call", { name: "play_enhanced_quake_sound", arguments: { achievement: "GODLIKE", volume: 80 // Uses current voice pack (female) βœ… } }); ``` ### **Audio Playback Flow:** ``` User/AI calls MCP tool ↓ Smithery HTTP endpoint receives request ↓ MCP server processes request ↓ EnhancedSoundOracle.playAchievementSound() executes ↓ Finds audio file in sounds/female/ or sounds/male/ ↓ Spawns system command (afplay/powershell/paplay) ↓ Audio plays on USER'S LOCAL MACHINE βœ… ``` **Key Point:** Audio plays locally on the user's computer, not in the cloud. Smithery just triggers the playback. ### **Available Audio Files:** **Male Voice (15 files):** - **Streak Achievements:** rampage.mp3, dominating.mp3, unstoppable.mp3, godlike.mp3 - **Quality Achievements:** excellent.mp3, perfect.mp3, impressive.mp3 - **Multi-Kills:** double-kill.mp3, triple-kill.mp3, wicked-sick.mp3, ulltra-kill.mp3 - **Game Events:** first-blood.mp3, humiliation.mp3, holy-shit.mp3 - **Team Events:** prepare-to-fight.mp3 **Female Voice (16 files):** - **Streak Achievements:** rampage.mp3, dominating.mp3, unstoppable.mp3, godlike.mp3 - **Multi-Kills:** headshot.mp3, multi-kill.mp3, killing-spree.mp3, ultra-kill.mp3, monster-kill.mp3, ludicrous-kill.mp3, wicked-sick.mp3 - **Game Events:** first-blood.mp3, himiliation.mp3, holy-shit.mp3, bottom-feeder.mp3 - **Team Events:** play.mp3 ### **Smart Fallback System:** If a female audio file is missing, the system automatically falls back to male voice: ```typescript // In EnhancedSoundOracle.playAchievementSound() // 1. Try female voice file // 2. If not found, try male voice file // 3. If still not found, throw error ``` ### **Testing Smithery Deployment:** To verify both male and female audio are included: 1. **Check package.json files array:** ```bash grep -A 5 '"files"' package.json ``` 2. **Verify sounds directory structure:** ```bash ls -la sounds/male/ # Should show 15 files ls -la sounds/female/ # Should show 16 files ``` 3. **Build for Smithery:** ```bash npm run build ``` 4. **Deploy to Smithery:** - Files in "files" array are automatically included - Both male and female audio directories included - No additional configuration needed ### **Important Notes:** - ⚠️ **Audio requires explicit tool invocation** - No automatic playback - βœ… **All 25 achievements** work with both male and female voices - βœ… **15 male + 16 female audio files** all included automatically - βœ… **Volume control** works (0-100%) - βœ… **Voice switching** is instant between male/female - βœ… **Cross-platform** audio support (macOS/Windows/Linux) - βœ… **Smart fallback** to male voice if female missing (or vice versa) ### **User Experience:** When users install via Smithery: 1. **Browse Smithery registry** β†’ Find "Enhanced Quake Coding Arena" 2. **One-click install** β†’ Smithery handles deployment 3. **Connect via HTTP** β†’ No local installation needed 4. **Use MCP tools** β†’ Call tools to trigger audio 5. **Enjoy dual voices** β†’ All 15 male + 16 female sounds available! 🎀 --- **Last Updated:** December 10, 2025 **Status:** βœ… Fully configured for Smithery deployment with dual voice (male + female) audio support

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ripnrip/Quake-Coding-Arena-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server