Skip to main content
Glama
Ripnrip

Quake Coding Arena MCP

by Ripnrip

🎯 Enhanced Quake Coding Arena - MCP Server

Quake Coding Arena Logo

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

Related MCP server: Cursor Sound MCP

📦 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

  1. Install: smithery install quake-coding-arena-enhanced

  2. Configure: Add to your MCP client

  3. 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
  }
});

Available Tools

10 tools
get_ai_usage_guideA
Read-onlyIdempotent

🤖 Get context-specific usage tips and best practices for AI assistants using this MCP server. Provides recommendations on when to trigger achievements, how to use voice packs effectively, and integration patterns for gamifying development workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo🎯 Context for usage guide. Options: 'coding' (during code writing/refactoring), 'testing' (during test execution), 'debugging' (when fixing bugs), 'deployment' (during deployment processes), 'general' (general usage patterns). If omitted, returns comprehensive guide. Examples: 'coding', 'debugging'

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, non-destructive, and idempotent behavior, but the description adds valuable context beyond this: it specifies the types of recommendations provided (achievements, voice packs, gamification patterns) and hints at the tool's scope ('context-specific usage tips'). This enhances understanding without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by specific examples of what it provides. Every sentence adds value without redundancy, making it efficient and well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 optional parameter, no output schema) and rich annotations, the description is mostly complete. It covers purpose and usage context well, but could slightly improve by hinting at the output format or linking to sibling tools for more details on specific topics like achievements or voice packs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the 'context' parameter fully documented in the schema (including enum values and examples). The description mentions 'context-specific usage tips' but does not add meaning beyond what the schema provides, such as explaining how different contexts affect the output. Baseline 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('get context-specific usage tips and best practices') and resources ('for AI assistants using this MCP server'). It distinguishes from siblings by focusing on usage guidance rather than achievements, stats, voice packs, or sound effects, which are covered by other tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for usage ('when to trigger achievements, how to use voice packs effectively, and integration patterns for gamifying development workflows'), but it does not explicitly state when not to use this tool or name specific alternatives among the siblings. The context is implied through the examples given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_enhanced_achievement_guideA
Read-onlyIdempotent

📖 Get a comprehensive guide explaining all available achievements, their categories, thresholds, and usage recommendations. Returns detailed information about each achievement including when to use them, what they represent, and which voice packs support them.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo🎯 Filter guide by achievement category. Options: 'streak' (kill streak achievements), 'quality' (quality-based achievements), 'multi' (multi-kill achievements), 'game' (game state announcements), 'team' (team events). If omitted, returns guide for all categories. Examples: 'streak', 'multi'

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering safety and idempotency. The description adds value by specifying the return content (detailed information about each achievement, including when to use them, what they represent, and voice pack support), which goes beyond annotations to clarify output behavior and context. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose in the first sentence, followed by specifics about return content. It uses two concise sentences with no wasted words, effectively communicating key information without redundancy or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (read-only guide retrieval with one optional parameter), rich annotations cover safety and idempotency, and the description adds output details. However, there is no output schema, so the description partially compensates by describing return values, but could be more complete by specifying format or structure. It is adequate but has a minor gap in output specification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the parameter 'category' fully documented in the schema including enum values and filtering behavior. The description does not add parameter-specific details beyond the schema, so it meets the baseline of 3 for high schema coverage without compensating with extra semantic information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and resource 'comprehensive guide explaining all available achievements', specifying content like categories, thresholds, and usage recommendations. It distinguishes from siblings by focusing on detailed explanations rather than stats (get_enhanced_achievement_stats), lists (list_enhanced_achievements), or other functions like playing sounds or setting configurations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for understanding achievements comprehensively, but does not explicitly state when to use this tool versus alternatives like get_enhanced_achievement_stats for statistics or list_enhanced_achievements for basic listings. It provides context about the guide's content but lacks direct guidance on tool selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_enhanced_achievement_statsA
Read-onlyIdempotent

📊 Retrieve comprehensive session statistics and achievement progress. Returns total achievements played, category breakdown, session duration, current voice pack, volume setting, favorite category, current streak, longest streak, and achievements per minute rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
_dummyNoNo parameters required. This tool returns session statistics without requiring any input.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and idempotency. The description adds valuable context by listing specific return fields (e.g., session duration, current streak, achievements per minute rate), which helps the agent understand what data to expect beyond just 'statistics'. It does not contradict annotations, as 'retrieve' aligns with read-only behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the purpose ('Retrieve comprehensive session statistics and achievement progress') and follows with a detailed list of return values. Every element adds value by specifying what data is included, with no wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (retrieving multiple stats), annotations provide good safety coverage, and the description details the return fields comprehensively. However, there is no output schema, so the description must fully explain return values, which it does by listing them explicitly. It could improve by mentioning data formats or units (e.g., duration in minutes), but it is largely complete for a read-only stats tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter '_dummy' documented as 'No parameters required'. The description reinforces this by stating 'Returns session statistics without requiring any input', adding clarity that no user input is needed. This compensates for the dummy parameter's potential confusion, earning a score above the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'retrieve' and the resource 'comprehensive session statistics and achievement progress', making the purpose specific. It distinguishes from siblings like 'list_enhanced_achievements' by focusing on aggregated stats rather than listing individual achievements, and from 'get_ai_usage_guide' or 'get_enhanced_achievement_guide' by providing data rather than instructions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention when this tool is appropriate (e.g., for summary reports) or when to prefer other tools like 'list_enhanced_achievements' for detailed lists, leaving usage context implied at best.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_voice_pack_infoA
Read-onlyIdempotent

ℹ️ Get information about the currently active voice pack and all available voice packs. Returns the current voice pack name, display name, description, path, and list of all available voice packs (male and female) with their details.

ParametersJSON Schema
NameRequiredDescriptionDefault
_dummyNoNo parameters required. This tool returns information about voice packs without requiring any input.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering safety and idempotency. The description adds value by specifying the return content (current voice pack details and list of all available packs), which isn't covered by annotations, providing useful behavioral context beyond the structured hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose and return value. It uses an emoji for visual emphasis and avoids redundancy, making it front-loaded and appropriately sized with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (no real parameters, read-only operation) and rich annotations, the description is mostly complete. It specifies what information is returned, compensating for the lack of an output schema. However, it could briefly mention the tool's idempotent or safe nature, though annotations cover this, leaving a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema fully documents the single dummy parameter. The description adds no parameter-specific information, but since there are effectively 0 functional parameters (the dummy parameter is a placeholder), this is acceptable. The baseline for high schema coverage is 3, but the lack of real parameters elevates the score to 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get information') and resource ('about the currently active voice pack and all available voice packs'), distinguishing it from sibling tools like 'set_voice_pack' or 'test_voice_packs'. It specifies the scope of information returned, making the purpose explicit and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by stating it returns information about 'currently active' and 'all available' voice packs, suggesting it's for querying voice pack details. However, it doesn't explicitly state when to use this tool versus alternatives like 'set_voice_pack' or 'test_voice_packs', nor does it provide exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_enhanced_achievementsA
Read-onlyIdempotent

📋 List all available enhanced achievements and their categories. Returns achievement names, categories, and thresholds. Useful for discovering available achievements or filtering by category type.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo🎯 Filter achievements by category. Options: 'streak' (kill streak achievements like RAMPAGE, DOMINATING), 'quality' (quality-based achievements like EXCELLENT, PERFECT), 'multi' (multi-kill achievements like WICKED SICK, HEADSHOT), 'game' (game state announcements like FIRST BLOOD, HUMILIATION), 'team' (team events like PREPARE TO FIGHT, PLAY). If omitted, returns all achievements. Examples: 'streak', 'multi'

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, non-destructive, idempotent, and closed-world behavior. The description adds value by specifying the return format ('Returns achievement names, categories, and thresholds') and the optional filtering capability, which are not covered by annotations. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by additional context in a second sentence. Both sentences are necessary and efficient, with no redundant information, making it appropriately sized and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one optional parameter), rich annotations, and 100% schema coverage, the description is largely complete. However, without an output schema, it could benefit from more detail on the return structure (e.g., format of thresholds), though it adequately covers the tool's purpose and usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the parameter 'category' fully documented in the schema including enum values and examples. The description mentions filtering by category type but does not add meaningful semantic details beyond what the schema provides, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('enhanced achievements and their categories'), specifying it returns achievement names, categories, and thresholds. It distinguishes from siblings by focusing on listing all available achievements, unlike tools like 'get_enhanced_achievement_stats' or 'random_enhanced_achievement'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('Useful for discovering available achievements or filtering by category type'), but does not explicitly state when not to use it or name specific alternatives among siblings. It implies usage for listing vs. other achievement-related operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

play_enhanced_quake_soundA

🏆 Plays a high-quality enhanced Quake 3 Arena achievement sound with dual voice pack support (male/female). Triggers audio playback on the local system and updates session statistics. Supports 25 different achievements across 5 categories: streak, quality, multi-kill, game events, and team events.

ParametersJSON Schema
NameRequiredDescriptionDefault
achievementYes🏆 Achievement name to play. Available achievements: RAMPAGE, DOMINATING, UNSTOPPABLE, GODLIKE (streak), EXCELLENT, PERFECT, IMPRESSIVE (quality), WICKED SICK, HEADSHOT, MULTI KILL, ULTRA KILL, MONSTER KILL, LUDICROUS KILL, KILLING SPREE, DOUBLE KILL, TRIPLE KILL (multi-kill), FIRST BLOOD, HUMILIATION, HOLY SHIT, BOTTOM FEEDER (game events), PREPARE TO FIGHT, PLAY (team events). Examples: 'GODLIKE', 'FIRST BLOOD', 'HEADSHOT'
volumeNo🔊 Volume level for audio playback (0-100). Default is 80. Set to 0 for silent, 100 for maximum volume. Examples: 50, 80, 100
voiceGenderNo🎤 Voice pack selection for this specific playback. Options: 'male' (Classic Quake 3 Arena male announcer, 15 sounds), 'female' (Female announcer voice pack, 16 sounds). If omitted, uses the currently set default voice pack. Examples: 'male', 'female'

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is not read-only, not destructive, not idempotent, and open-world. The description adds valuable context beyond annotations: it specifies that playback occurs on the local system, updates session statistics, and supports 25 achievements across 5 categories. However, it doesn't mention potential side effects like system audio requirements or what 'updates session statistics' entails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with two sentences that pack substantial information: the first states the core functionality with key features, the second provides important contextual details about achievement categories and statistics. Every element serves a purpose with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (3 parameters, no output schema, rich annotations), the description provides good coverage of what the tool does and its key features. It could be more complete by explaining what 'updates session statistics' means in practical terms or mentioning any prerequisites for audio playback, but it adequately covers the tool's purpose and scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the input schema already thoroughly documents all three parameters with detailed descriptions and examples. The description adds marginal value by mentioning 'dual voice pack support' which relates to the voiceGender parameter, but doesn't provide additional semantic context beyond what's in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Plays', 'Triggers', 'Updates') and resources ('high-quality enhanced Quake 3 Arena achievement sound', 'session statistics'). It distinguishes itself from siblings by focusing on audio playback with achievement-specific functionality, unlike get_* tools that retrieve information or set_* tools that configure settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: for playing achievement sounds with dual voice pack support and updating statistics. However, it doesn't explicitly state when NOT to use it or mention alternatives like random_enhanced_achievement for random playback or set_enhanced_volume for volume control without playback.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

random_enhanced_achievementA

🎲 Play a random achievement sound from a specific category. Useful for surprise celebrations or testing different achievement sounds. Returns the selected achievement name.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo🎯 Filter achievements by category. Options: 'streak' (RAMPAGE, DOMINATING, etc.), 'quality' (EXCELLENT, PERFECT, etc.), 'multi' (WICKED SICK, HEADSHOT, etc.), 'game' (FIRST BLOOD, HUMILIATION, etc.), 'team' (PREPARE TO FIGHT, PLAY). If omitted, selects from all categories.
volumeNo🔊 Volume level for audio playback (0-100). Default is 80. Higher values increase audio volume.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide key behavioral hints (readOnlyHint=false, openWorldHint=true, etc.), covering safety and scope. The description adds context about audio playback and the random selection process, but does not disclose additional traits like rate limits, error handling, or side effects beyond what annotations imply. It does not contradict annotations, so a baseline score is appropriate given the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by usage context and return value. Every sentence earns its place by adding value (e.g., 'Useful for...' clarifies intent, 'Returns...' informs output). It is appropriately sized with no redundant or verbose language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no output schema), annotations cover behavioral aspects, and the description provides purpose, usage, and return info. However, it lacks details on error cases or audio playback specifics (e.g., format, duration), which could be helpful. Overall, it is mostly complete but has minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with detailed descriptions for both parameters (category with enum explanations and volume with range and default). The description does not add meaning beyond the schema, as it only mentions 'specific category' and 'audio playback' without extra details. Baseline 3 is correct since the schema fully documents parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Play a random achievement sound') and resource ('from a specific category'), distinguishing it from siblings like 'list_enhanced_achievements' (which lists) or 'play_enhanced_quake_sound' (which plays specific sounds). It also mentions the return value ('Returns the selected achievement name'), making the purpose explicit and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('Useful for surprise celebrations or testing different achievement sounds'), but does not explicitly state when not to use it or name alternatives among siblings (e.g., 'play_enhanced_quake_sound' for non-random sounds). This gives good guidance but lacks explicit exclusions or comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_enhanced_volumeA

🔊 Adjust the global soundboard volume for all achievement sounds. This setting persists for the session and affects all subsequent audio playback until changed. Volume range is 0-100, where 0 is silent and 100 is maximum volume.

ParametersJSON Schema
NameRequiredDescriptionDefault
volumeYes🔊 Volume level (0-100). 0 = silent, 100 = maximum volume. Default is 80. This setting applies to all achievement sounds until changed. Examples: 50, 75, 80, 100

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a non-readOnly, non-destructive operation. The description adds valuable behavioral context beyond annotations: it specifies that the setting persists for the session, affects all achievement sounds globally, and provides the volume range semantics (0-100 with silent/maximum definitions). However, it doesn't mention potential side effects like audio interruption or performance impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly constructed sentences with zero waste: first states purpose, second explains persistence and scope, third defines range. Every sentence earns its place by adding distinct information. The description is appropriately sized and front-loaded with the core function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter mutation tool with good annotations but no output schema, the description provides solid context about what the tool does and its behavioral impact. It could be more complete by mentioning what happens when volume is set (e.g., immediate effect on current playback) or error conditions, but covers the essential scope and persistence aspects well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the input schema already fully documents the 'volume' parameter with range, default, and examples. The description adds minimal extra meaning by repeating the range and silent/maximum definitions, but doesn't provide additional context beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Adjust the global soundboard volume'), the resource ('for all achievement sounds'), and distinguishes this from siblings by focusing on volume control rather than retrieval or playback functions. It goes beyond the title 'Set Volume' to explain what is being set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use it ('affects all subsequent audio playback until changed'), but doesn't explicitly mention when not to use it or name alternatives like 'set_voice_pack' for different audio settings. It implies usage for volume adjustment but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_voice_packA

🎤 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
voiceGenderYes🎤 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'

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate this is not read-only, destructive, idempotent, or open-world, but the description adds valuable behavioral context beyond annotations: it specifies the effect ('sets the default voice pack for all subsequent achievement sounds'), persistence ('persists for the session until changed'), and details about sound counts (15 for male, 16 for female), which helps the agent understand the tool's impact without contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by supporting details in a logical flow (male/female specifics, persistence). Every sentence adds value without waste, making it efficient and well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no output schema), the description is mostly complete, covering purpose, usage, and behavioral effects. However, it lacks explicit mention of error cases or prerequisites (e.g., if the tool requires specific permissions), leaving a minor gap in full contextual coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, fully documenting the 'voiceGender' parameter with enum values and examples. The description adds minimal extra meaning by listing specific sound examples (e.g., 'EXCELLENT', 'HEADSHOT'), but this is redundant with schema details, so it meets the baseline of 3 without significantly enhancing parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Switch between Male and Female announcer voice packs'), the resource ('voice packs'), and distinguishes it from siblings by specifying it sets the default for achievement sounds, unlike tools like 'get_voice_pack_info' or 'play_enhanced_quake_sound' which are read-only or play specific sounds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('sets the default voice pack for all subsequent achievement sounds') and mentions persistence ('The setting persists for the session until changed'), but does not explicitly state when not to use it or name alternatives like 'test_voice_packs' for previewing sounds.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

test_voice_packsA

🧪 Test all voice packs by playing a sample achievement from each voice pack (male and female). Useful for verifying audio setup, comparing voice styles, or ensuring all voice packs are working correctly. Plays one achievement from each voice pack sequentially.

ParametersJSON Schema
NameRequiredDescriptionDefault
volumeNo🔊 Volume level for test audio playback (0-100). Default is 80. Examples: 50, 80, 100

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description adds valuable behavioral context beyond annotations: it specifies that the tool plays audio sequentially, uses sample achievements, and covers both male and female voice packs. This clarifies the tool's interactive nature and scope, though it doesn't mention potential side effects like audio interruption or system requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by usage guidelines and behavioral details. Every sentence adds value (e.g., explaining utility and playback behavior) without redundancy, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (audio playback with one parameter) and rich annotations, the description is largely complete. It covers purpose, usage, and behavioral traits. However, without an output schema, it doesn't describe return values (e.g., success confirmation or error messages), leaving a minor gap in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for the single parameter 'volume', including its range, default, and examples. The description does not add any parameter-specific information beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without additional value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('test all voice packs by playing a sample achievement from each voice pack') and distinguishes it from siblings like 'get_voice_pack_info' (which provides information) or 'play_enhanced_quake_sound' (which plays a specific sound). It specifies the scope (male and female voice packs) and the sequential nature of playback.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: 'Useful for verifying audio setup, comparing voice styles, or ensuring all voice packs are working correctly.' It provides clear context but does not specify when NOT to use it or name alternatives (e.g., using 'get_voice_pack_info' for metadata instead of audio testing).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 10 tool updates
    • First observedget_ai_usage_guide
    • First observedget_enhanced_achievement_guide
    • First observedget_enhanced_achievement_stats
    • First observedget_voice_pack_info
    • First observedlist_enhanced_achievements
    • First observedplay_enhanced_quake_sound
    • First observedrandom_enhanced_achievement
    • First observedset_enhanced_volume
    • First observedset_voice_pack
    • First observedtest_voice_packs

TDQS

A4.4/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose with no overlap: get_ai_usage_guide provides usage tips, get_enhanced_achievement_guide offers achievement explanations, get_enhanced_achievement_stats retrieves statistics, get_voice_pack_info gives voice pack details, list_enhanced_achievements lists achievements, play_enhanced_quake_sound triggers sound playback, random_enhanced_achievement plays a random sound, set_enhanced_volume adjusts volume, set_voice_pack switches voice packs, and test_voice_packs tests audio setups. The descriptions clearly differentiate each tool's function.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case throughout: get_ai_usage_guide, get_enhanced_achievement_guide, get_enhanced_achievement_stats, get_voice_pack_info, list_enhanced_achievements, play_enhanced_quake_sound, random_enhanced_achievement, set_enhanced_volume, set_voice_pack, and test_voice_packs. The naming is predictable and uniform across all tools.

Tool Count5/5

With 10 tools, the count is well-scoped for the server's purpose of managing Quake achievement sounds and voice packs. Each tool earns its place by covering distinct aspects such as guides, statistics, listing, playback, configuration, and testing, without being overly sparse or bloated.

Completeness5/5

The tool set provides complete coverage for the domain of Quake achievement sound management: it includes retrieval of guides and stats, listing and playing achievements, configuring volume and voice packs, and testing functionality. There are no obvious gaps, as all core operations (CRUD/lifecycle for sounds and settings) are supported, enabling smooth agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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