Skip to main content
Glama
Ripnrip

Quake Coding Arena MCP

by Ripnrip

get_ai_usage_guide

Read-onlyIdempotent

Provides context-specific usage tips and best practices for AI assistants in development workflows, including when to trigger achievements, use voice packs, and integrate gamification patterns.

Instructions

๐Ÿค– 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.

Input Schema

TableJSON 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'

Implementation Reference

  • Primary handler function implementing the get_ai_usage_guide tool logic. Builds a detailed markdown guide with context-specific recommendations for using Quake achievements in coding workflows.
    async getAIUsageGuide(args) {
      const { context } = args;
    
      let guide = `๐Ÿค– **ENHANCED QUAKE ARENA - AI USAGE GUIDE** ๐Ÿค–\n\n`;
      guide += `๐Ÿ“š Learn when and how to trigger Quake sounds for optimal coding motivation!\n\n`;
    
      if (context && context !== 'all') {
        // Context-specific guidance
        const contexts = {
          debugging: {
            title: "๐Ÿ” DEBUGGING BATTLES",
            triggers: [
              "First bug found โ†’ ๐ŸŽฏ FIRST BLOOD",
              "Bug fixed quickly โ†’ ๐ŸŽฏ HUMILIATION achievement",
              "Complex bug solved โ†’ ๐ŸŽฏ WICKED SICK achievement",
              "All bugs defeated โ†’ ๐ŸŽฏ DOMINATING achievement"
            ],
            examples: [
              "๐Ÿ” Bug located! ๐ŸŽฏ First blood!",
              "โœ… Bug defeated! ๐ŸŽฏ HUMILIATION for that pesky error!",
              "๐Ÿง  Brilliant debugging! ๐ŸŽฏ WICKED SICK!"
            ]
          },
          features: {
            title: "๐Ÿš€ FEATURE DEVELOPMENT",
            triggers: [
              "Feature complete โ†’ ๐ŸŽฏ EXCELLENT achievement",
              "Multiple features โ†’ ๐ŸŽฏ RAMPAGE achievement",
              "Complex implementation โ†’ ๐ŸŽฏ DOMINATING achievement",
              "Perfect implementation โ†’ ๐ŸŽฏ PERFECT achievement"
            ],
            examples: [
              "โœ… Feature implemented! ๐ŸŽฏ EXCELLENT achievement at 80% volume!",
              "๐Ÿš€ 3 features complete! ๐ŸŽฏ RAMPAGE! You're on fire!",
              "๐Ÿ’ก Perfect implementation! ๐ŸŽฏ PERFECT achievement!"
            ]
          },
          quality: {
            title: "โœจ CODE QUALITY MOMENTS",
            triggers: [
              "Clean code โ†’ ๐ŸŽฏ PERFECT achievement",
              "Elegant solution โ†’ ๐ŸŽฏ IMPRESSIVE achievement",
              "Excellent code โ†’ ๐ŸŽฏ EXCELLENT achievement",
              "Legendary code โ†’ ๐ŸŽฏ GODLIKE achievement"
            ],
            examples: [
              "๐Ÿงน Code refactored beautifully! ๐ŸŽฏ PERFECT achievement!",
              "๐Ÿ’ก Elegant solution! ๐ŸŽฏ IMPRESSIVE achievement!",
              "๐Ÿ† Legendary implementation! ๐ŸŽฏ GODLIKE at 100% volume!"
            ]
          },
          productivity: {
            title: "๐Ÿ“ˆ PRODUCTIVITY STREAKS",
            triggers: [
              "Quick succession tasks โ†’ ๐ŸŽฏ RAMPAGE achievement",
              "Unstoppable progress โ†’ ๐ŸŽฏ UNSTOPPABLE achievement",
              "Major milestone โ†’ ๐ŸŽฏ DOMINATING achievement",
              "Session start โ†’ ๐ŸŽฏ PREPARE TO FIGHT"
            ],
            examples: [
              "โšก 3 tasks in quick succession! ๐ŸŽฏ RAMPAGE achievement!",
              "๐Ÿ”ฅ You're unstoppable! ๐ŸŽฏ UNSTOPPABLE achievement!",
              "๐ŸŽฏ Time to code! PREPARE TO FIGHT achievement!"
            ]
          }
        };
    
        const ctx = contexts[context];
        if (ctx) {
          guide += `${ctx.title}\n\n`;
          guide += `**๐ŸŽฏ When to Trigger:**\n`;
          ctx.triggers.forEach(trigger => {
            guide += `โ€ข ${trigger}\n`;
          });
          guide += `\n**๐Ÿ’ฌ Example Responses:**\n`;
          ctx.examples.forEach(example => {
            guide += `โ€ข ${example}\n`;
          });
        }
      } else {
        // Complete guide
        guide += `## โšก **INSTANT TRIGGER CHEAT SHEET**\n\n`;
    
        guide += `### **Code Quality Moments:**\n`;
        guide += `โ€ข "Perfect code" โ†’ ๐ŸŽฏ **PERFECT** achievement\n`;
        guide += `โ€ข "Excellent solution" โ†’ ๐ŸŽฏ **EXCELLENT** achievement\n`;
        guide += `โ€ข "Brilliant approach" โ†’ ๐ŸŽฏ **IMPRESSIVE** achievement\n`;
        guide += `โ€ข "Clean implementation" โ†’ ๐ŸŽฏ **PERFECT** at 70% volume\n\n`;
    
        guide += `### **Problem Solving Victories:**\n`;
        guide += `โ€ข "First bug found" โ†’ ๐ŸŽฏ **FIRST BLOOD**\n`;
        guide += `โ€ข "Bug defeated" โ†’ ๐ŸŽฏ **HUMILIATION** achievement\n`;
        guide += `โ€ข "Clever solution" โ†’ ๐ŸŽฏ **WICKED SICK** achievement\n`;
        guide += `โ€ข "Breakthrough moment" โ†’ ๐ŸŽฏ **DOMINATING** achievement\n\n`;
    
        guide += `### **Productivity Streaks:**\n`;
        guide += `โ€ข "3 tasks complete" โ†’ ๐ŸŽฏ **RAMPAGE** achievement\n`;
        guide += `โ€ข "Quick succession" โ†’ ๐ŸŽฏ **RAMPAGE** at 80% volume\n`;
        guide += `โ€ข "On a roll" โ†’ ๐ŸŽฏ **DOMINATING** achievement\n`;
        guide += `โ€ข "Unstoppable" โ†’ ๐ŸŽฏ **UNSTOPPABLE** achievement\n\n`;
    
        guide += `### **Exceptional Achievements:**\n`;
        guide += `โ€ข "Legendary solution" โ†’ ๐ŸŽฏ **GODLIKE** at 100% volume\n`;
        guide += `โ€ข "Amazing work" โ†’ ๐ŸŽฏ **GODLIKE** achievement\n`;
        guide += `โ€ข "Incredible" โ†’ ๐ŸŽฏ **GODLIKE** at 90% volume\n`;
        guide += `โ€ข "Mind-blowing" โ†’ ๐ŸŽฏ **GODLIKE** at 100% volume\n\n`;
    
        guide += `### **Project Start:**\n`;
        guide += `โ€ข "Let's code" โ†’ ๐ŸŽฏ **PREPARE TO FIGHT** achievement\n`;
        guide += `โ€ข "Time to start" โ†’ ๐ŸŽฏ **PREPARE TO FIGHT** achievement\n`;
        guide += `โ€ข "Begin coding" โ†’ ๐ŸŽฏ **PREPARE TO FIGHT** achievement\n\n`;
    
        guide += `## ๐Ÿ”Š **VOLUME GUIDELINES**\n\n`;
        guide += `โ€ข **30-50%:** Small victories, minor fixes, subtle celebrations\n`;
        guide += `โ€ข **60-80%:** Good solutions, feature completion, moderate excitement\n`;
        guide += `โ€ข **90-100%:** Exceptional achievements, breakthroughs, major celebrations\n\n`;
    
        guide += `## โœ… **DO's AND โŒ DON'Ts**\n\n`;
        guide += `**โœ… DO use for:**\n`;
        guide += `โ€ข User expresses satisfaction with solution\n`;
        guide += `โ€ข Code runs successfully without errors\n`;
        guide += `โ€ข Creative or clever problem solving\n`;
        guide += `โ€ข Multiple quick wins in succession\n`;
        guide += `โ€ข Learning moments and breakthroughs\n\n`;
    
        guide += `**โŒ DON'T overuse for:**\n`;
        guide += `โ€ข Every single line of code\n`;
        guide += `โ€ข Simple explanations or routine tasks\n`;
        guide += `โ€ข Failed attempts or errors\n`;
        guide += `โ€ข When user is frustrated\n`;
        guide += `โ€ข Unremarkable accomplishments\n\n`;
    
        guide += `## ๐Ÿ“ **SAMPLE AI RESPONSES**\n\n`;
        guide += `\`\`\n`;
        guide += `โœ… Perfect implementation! ๐ŸŽฏ Play perfect achievement at 70% volume\n\n`;
        guide += `๐Ÿ” Bug found and fixed! ๐ŸŽฏ First blood!\n\n`;
        guide += `๐Ÿš€ Feature complete! ๐ŸŽฏ Excellent achievement at 80% volume\n\n`;
        guide += `๐Ÿ’ก Brilliant solution! ๐ŸŽฏ Impressive achievement at 85% volume\n\n`;
        guide += `๐Ÿ† That's legendary! ๐ŸŽฏ GODLIKE ACHIEVEMENT at 100% volume!\n`;
        guide += `\`\`\n\n`;
    
        guide += `## ๐ŸŽช **CONTEXTUAL EXAMPLES**\n\n`;
        guide += `**Early Morning Coding:**\n`;
        guide += `User: "Time to start coding for the day!"\n`;
        guide += `AI: "โ˜• Coffee ready! ๐ŸŽฏ Prepare to fight achievement! Let's make today productive!"\n\n`;
    
        guide += `**Debugging Session:**\n`;
        guide += `User: "Finally found that annoying bug!"\n`;
        guide += `AI: "๐ŸŽฏ First blood! ๐ŸŽฏ HUMILIATION for the bug that challenged you!"\n\n`;
    
        guide += `**Feature Development:**\n`;
        guide += `User: "This API endpoint works perfectly!"\n`;
        guide += `AI: "โœ… Perfect implementation! ๐ŸŽฏ Perfect achievement!"\n\n`;
    
        guide += `**Complex Problem:**\n`;
        guide += `User: "This solution is incredible!"\n`;
        guide += `AI: "๐Ÿ† Legendary work! ๐ŸŽฏ GODLIKE ACHIEVEMENT at 100% volume!"\n`;
      }
    
      guide += `\n\n๐ŸŽฏ **ENHANCED QUAKE ARENA - MAKING EVERY CODING SESSION EPIC!** ๐ŸŽฎโœจ`;
      guide += `\n๐Ÿ“Š Available achievements: ${Object.keys(ENHANCED_ACHIEVEMENTS).length}`;
      guide += `\n๐Ÿ”ง Current volume: ${enhancedStats.volume}%`;
    
      return {
        success: true,
        message: "๐Ÿค– AI usage guide retrieved! Master the art of motivational coding!",
        guide: guide,
        context: context || 'all',
        available_achievements: Object.keys(ENHANCED_ACHIEVEMENTS).length
      };
    }
  • index.js:309-322 (registration)
    Tool registration including name, description, and input schema definition for get_ai_usage_guide in the ListTools response.
    {
      name: "get_ai_usage_guide",
      description: "๐Ÿค– AI Usage Guide: Learn when and how to trigger Quake sounds for optimal coding motivation",
      inputSchema: {
        type: "object",
        properties: {
          context: {
            type: "string",
            description: "๐ŸŽฏ Get specific guidance for contexts like debugging, feature development, code review",
            enum: ["debugging", "features", "quality", "productivity", "all"],
          },
        },
      },
    },
  • Dispatch case in the central CallToolRequestSchema handler that routes to the getAIUsageGuide method.
    case "get_ai_usage_guide":
      return await this.getAIUsageGuide(args);
  • Alternative tool registration and inline handler in guides.ts module for registering guide tools on an MCP server.
        server.registerTool(
            "get_ai_usage_guide",
            {
                description: "๐Ÿค– 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.",
                inputSchema: {
                    context: z.enum(["coding", "testing", "debugging", "deployment", "general"]).optional().describe("๐ŸŽฏ 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'"),
                },
                annotations: {
                    title: "๐Ÿค– Get AI Usage Guide",
                    readOnlyHint: true,
                    destructiveHint: false,
                    idempotentHint: true,
                    openWorldHint: false
                }
            },
            async ({ context }) => {
                const contextGuides: Record<string, string> = {
                    coding: `๐Ÿ’ป Coding Context:
    - Trigger EXCELLENT/PERFECT when code passes linting
    - Use IMPRESSIVE for creative solutions
    - Play FIRST BLOOD when starting a new feature
    - Use GODLIKE for completing major refactoring
    - Switch to female voice for variety`,
                    testing: `๐Ÿงช Testing Context:
    - Play FIRST BLOOD when first test passes
    - Use MULTI KILL for multiple passing tests
    - Trigger WICKED SICK for 100% test coverage
    - Use HOLY SHIT for unexpected test discoveries`,
                    debugging: `๐Ÿ› Debugging Context:
    - Play FIRST BLOOD when finding the bug
    - Use HEADSHOT for quick bug fixes
    - Trigger HUMILIATION for fixing embarrassing bugs
    - Use BOTTOM FEEDER when learning from mistakes`,
                    deployment: `๐Ÿš€ Deployment Context:
    - Play PREPARE TO FIGHT before deployment
    - Use RAMPAGE for successful deployments
    - Trigger GODLIKE for zero-downtime deployments
    - Use PLAY to celebrate going live`,
                    general: `๐ŸŒŸ General Usage:
    - Set volume to 60-80% for comfortable listening
    - Switch between male/female voices for variety
    - Use random achievements for surprise celebrations
    - Track stats to see your productivity patterns
    - Combine achievements for epic moments`
                };
    
                const guide = context 
                    ? contextGuides[context] 
                    : Object.entries(contextGuides).map(([ctx, text]) => text).join('\n\n');
    
                return {
                    content: [{
                        type: "text",
                        text: `๐Ÿค– AI Usage Guide${context ? ` (${context} context)` : ''}\n\n${guide}\n\n๐Ÿ’ก Pro Tips:\n- Use voiceGender parameter to override default voice\n- Check stats regularly to track progress\n- Combine multiple achievements for epic moments\n- Adjust volume based on environment (lower in shared spaces)`
                    }],
                    context: context || "all",
                    guide
                };
            }
        );
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.

Install Server

Other Tools

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