๐ฏ Enhanced Quake Coding Arena - MCP Server


DOMINATING! EXCELLENT! GODLIKE! UNSTOPPABLE! ๐ฏ๐ฅ
Premium TypeScript MCP Server for gamifying your development environment with authentic Quake 3 Arena sounds and dual voice announcers
๐ Features
๐ฎ 25 Epic Achievements
- Streak Achievements: RAMPAGE, DOMINATING, UNSTOPPABLE, GODLIKE (both voices)
- Quality Achievements: EXCELLENT, PERFECT, IMPRESSIVE (male voice)
- Multi-Kills: WICKED SICK, HEADSHOT, MULTI KILL, ULTRA KILL, MONSTER KILL, LUDICROUS KILL, KILLING SPREE, DOUBLE KILL, TRIPLE KILL (both voices)
- Game Events: FIRST BLOOD, HUMILIATION, HOLY SHIT, BOTTOM FEEDER (both voices)
- Team Events: PREPARE TO FIGHT, PLAY (both voices)
๐ค Dual Voice System
- Male Announcer: Complete voice pack with 17 unique sounds
- Female Announcer: Complete voice pack with 16 unique sounds
- Smart fallback to male voice for unavailable female sounds
- Volume control (0-100%)
- Cross-platform audio support
๐ง MCP Integration
- 10 MCP Tools for complete control
- JSON-RPC 2.0 compliant
- Session statistics tracking
- Dual transport support: HTTP (Smithery) and stdio (local clients)
- Claude Code compatible with automatic stdio detection
- Category filtering for achievements
- Random achievement selection
- AI usage guide integration
- Voice pack testing capabilities
๐ฆ Installation Options
Option 1: Local Development Setup
# Run local setup script
./setup-local.sh
# Or manually
npm install
npm run build
node run-server.ts
Option 2: Remote (Smithery) Deployment
โ ๏ธ Important: Smithery packages are NOT on npm - they use HTTP endpoints!
# Run remote setup script
./setup-remote.sh
# Or use Smithery HTTP endpoint directly
# Add to your MCP configuration:
{
"mcpServers": {
"quake-arena": {
"transport": "http",
"url": "https://server.smithery.ai/@Ripnrip/quake-coding-arena-mcp/mcp"
}
}
}
Note: For local development/testing, use the local build method (Option 1) instead of npx.
Option 3: GitHub Pages Website
Visit the live soundboard at: https://ripnrip.github.io/Quake-Coding-Arena-MCP/
The website includes:
- โ
Interactive soundboard with all 25 achievements
- โ
Dual voice system (Male/Female toggle)
- โ
Category filtering
- โ
Volume control
- โ
GitHub Pages ready
๐ฏ Available MCP Tools
Core Achievement Tools
play_enhanced_quake_sound - Trigger specific achievements
random_enhanced_achievement - Random by category
list_enhanced_achievements - Browse all achievements
Control & Settings
set_enhanced_volume - Set volume (0-100)
set_voice_pack - Switch male/female voices
get_voice_pack_info - Voice information
Statistics & Guides
get_enhanced_achievement_stats - Session statistics
get_enhanced_achievement_guide - Achievement guide
get_ai_usage_guide - Context-specific usage tips
test_voice_packs - Test all voice packs
๐ฎ Usage Examples
// Trigger a GODLIKE achievement at 80% volume
await session.call("tools/call", {
name: "play_enhanced_quake_sound",
arguments: {
achievement: "GODLIKE",
volume: 80,
voiceGender: "female"
}
});
// Get a random quality achievement
await session.call("tools/call", {
name: "random_enhanced_achievement",
arguments: {
category: "quality",
volume: 70
}
});
// Switch to female voice pack
await session.call("tools/call", {
name: "set_voice_pack",
arguments: {
voiceGender: "female"
}
});
๐ง Configuration
The server automatically detects sound files and supports:
- MP3 and WAV audio formats
- Custom sound directories
- Voice pack management
- Session persistence
๐ Project Structure
quake-coding-arena-enhanced/
โโโ index.js # Main MCP server
โโโ package.json # NPM configuration
โโโ smithery.yaml # Smithery configuration
โโโ sounds/ # Audio files
โ โโโ male/ # Male announcer sounds
โ โโโ female/ # Female announcer sounds
โโโ README.md # This file
โโโ test-mcp-server.cjs # Test utilities
๐ Achievement Categories
๐ฅ Streak Achievements (Both Voices)
- RAMPAGE (10) - Multiple quick tasks
- DOMINATING (15) - Complex problems solved
- UNSTOPPABLE (20) - Long productive sessions
- GODLIKE (25) - Legendary coding sessions
โจ Quality Achievements (Male Voice)
- EXCELLENT - Elegant solutions
- PERFECT - Flawless implementation
- IMPRESSIVE - Creative problem-solving
โ๏ธ Multi-Kill Achievements (Both Voices)
- HEADSHOT - Precision coding
- DOUBLE KILL - Two quick wins
- MULTI KILL - Multiple bugs squashed
- KILLING SPREE - Consistent productivity
- TRIPLE KILL - Triple efficiency
- ULTRA KILL - Exceptional performance
- MONSTER KILL - Massive code refactoring
- LUDICROUS KILL - Unbelievable solutions
- WICKED SICK - Mind-blowing solutions
๐ช Game State Announcements (Both Voices)
- FIRST BLOOD - First bug found
- HUMILIATION - Quick bug fixes
- HOLY SHIT - Unexpected breakthrough
- BOTTOM FEEDER - Learning from mistakes
๐ฅ Team Events (Both Voices)
- PREPARE TO FIGHT - Team motivation
- PLAY - Game on, let's code!
๐ฏ Perfect For
- Developers wanting gamified coding environments
- Teams needing motivational feedback
- Streamers wanting engaging content
- Educators teaching coding concepts
- Anyone loving Quake 3 Arena nostalgia!
๐ Requirements
- Node.js 18+ for MCP server
- MCP-compatible IDE (Cursor, Claude Desktop, etc.)
- Audio system for sound playback
๐ Integration Examples
Claude Desktop
{
"mcpServers": {
"quake-arena": {
"command": "npx",
"args": ["@Ripnrip/quake-coding-arena-mcp"]
}
}
}
Cursor / Claude Code
- Local Build Method (Recommended):
{
"mcpServers": {
"quake-coding-arena": {
"command": "node",
"args": ["/path/to/.smithery/index.cjs"]
}
}
}
- HTTP Endpoint Method (When server is running):
{
"mcpServers": {
"quake-coding-arena": {
"transport": "http",
"url": "http://localhost:6487/mcp"
}
}
}
- See
CLAUDE-CODE-SETUP.md and CURSOR-HTTP-SETUP.md for detailed instructions
Chat Widget + Sound Bridge
Clone-ready example that proxies ChatGPT responses and calls this MCP server to play Quake achievements. See examples/chat-widget for setup instructions (OpenAI key + MCP URL required).
๐ License
MIT License - Feel free to use and modify!
๐ฏ Get Started
- Install:
smithery install quake-coding-arena-enhanced
- Configure: Add to your MCP client
- Achieve: Start triggering those epic sounds!
๐ READY TO DOMINATE THE CODING ARENA! ๐ฏ๐ฅ
Built with โค๏ธ and Quake 3 Arena nostalgia
Published via Smithery - The MCP Server Registry
๐ Recent Updates
December 10, 2025 - JSON Parsing Fix & Transport Support
- ๐ง Fixed JSON parsing errors when using with Claude Code and other stdio-based MCP clients
- ๐ก Added stdio transport support with automatic detection for local MCP clients
- ๐ซ Fixed console.log interference by redirecting all logs to stderr (prevents JSON-RPC protocol issues)
- โ
Tested and verified sound playback functionality with both HTTP and stdio transports
- ๐ Created comprehensive setup guides:
CLAUDE-CODE-SETUP.md - Complete Claude Code integration guide
CURSOR-HTTP-SETUP.md - Cursor IDE HTTP endpoint setup
CURSOR-SETUP-COMPLETE.md - Cursor MCP configuration guide
- ๐ Dual transport support: Server now works with both HTTP (Smithery) and stdio (local clients)
- ๐ฏ Port conflict handling with automatic port selection and interactive prompts
December 10, 2025 - Female Audio Expansion Update
- ๐ค Added 16 female voice audio files to the
sounds/female/ directory
- ๐ Expanded to 25 total achievements with comprehensive multi-kill support
- ๐ Updated voice pack configuration to properly point to female audio directory
- ๐ Enhanced documentation to reflect new female audio capabilities
- ๐ง Fixed TypeScript build issues and improved import resolution
- โ
Full compatibility maintained with existing male voice functionality
New Female Audio Includes:
- Classic streak announcements (RAMPAGE, DOMINATING, UNSTOPPABLE, GODLIKE)
- Multi-kill sequences (HEADSHOT, MULTI KILL, KILLING SPREE, ULTRA KILL, MONSTER KILL, LUDICROUS KILL)
- Game state announcements (FIRST BLOOD, HUMILIATION, HOLY SHIT, BOTTOM FEEDER)
- Team motivation sounds (PLAY)
Technical Improvements:
- Smart fallback system to male voice for missing female audio
- Enhanced achievement categorization with 25 total achievements
- Updated MCP tool descriptions and documentation
- Verified cross-platform audio compatibility
Built with โค๏ธ and Quake 3 Arena nostalgia
Published via Smithery - The MCP Server Registry
๐ Smithery Cloud Deployment
When deployed via Smithery, the MCP server runs as a cloud service with HTTP endpoints. All audio files (including the 16 female voice files) are automatically included via the package.json "files" array.
๐ Detailed Guide: See SMITHERY-DEPLOYMENT.md for complete deployment documentation.
How Audio Works in Cloud Mode:
- โ
All 25 achievements available with both male/female voices
- โ
16 female + 17 male audio files automatically bundled by Smithery
- โ
Voice pack switching via
set_voice_pack tool
- โ
Volume control via
set_enhanced_volume tool
- โ
Complete sound library included in deployment (via package.json "files" array)
- โ ๏ธ Requires explicit tool invocation - Audio plays when MCP tools are called
- ๐ฏ Audio plays locally - Smithery triggers playback on user's machine via system commands
Cloud vs Local Differences:
- Local: Can trigger sounds automatically via file system events
- Cloud: Sounds only play when MCP tools are explicitly invoked by user/AI
- Both: Same achievement system, voice packs, and audio quality
- Both: All 16 female audio files available
Using Female Voice via Smithery:
// 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
}
});