Skip to main content
Glama

explain_code

Understand code functionality by receiving detailed explanations of what each part does, with adjustable depth for different skill levels.

Instructions

Provides a detailed explanation of code, breaking down what each part does.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYesThe code to explain
languageYesProgramming language
levelNoExplanation depth

Implementation Reference

  • The handler function for the 'explain_code' tool. It takes code, language, and optional level (beginner/intermediate/expert), generates a structured markdown explanation with breakdowns appropriate to the level, and returns it as a text content block.
    export function explainCodeHandler(args: any) {
        const { code, language, level = "intermediate" } = args;
        const lines = code.split("\n");
    
        const explanation = `# Code Explanation (${language})
    
    ## Audience Level: ${level}
    
    ## Code Overview
    This code has ${lines.length} lines written in ${language}.
    
    ---
    
    ## Line-by-Line Breakdown
    
    ${level === "beginner" ? `
    ### What This Code Does (Simple)
    This code performs a specific task. Let me break it down:
    
    1. **Setup**: The first few lines prepare what we need
    2. **Main Logic**: The middle section does the actual work
    3. **Output**: The end produces a result
    
    ### Key Concepts Used
    - Variables: Store information
    - Functions: Reusable blocks of code
    - Control flow: Making decisions
    ` : ""}
    
    ${level === "intermediate" ? `
    ### Technical Breakdown
    - **Structure**: Identify the main components
    - **Data Flow**: How data moves through the code
    - **Dependencies**: What this code relies on
    - **Side Effects**: What external changes occur
    
    ### Design Patterns Used
    Look for: Factory, Observer, Strategy, etc.
    
    ### Potential Improvements
    - Error handling
    - Type safety
    - Performance optimizations
    ` : ""}
    
    ${level === "expert" ? `
    ### Deep Analysis
    - **Complexity**: O(n) / O(log n) / etc.
    - **Memory**: Stack vs Heap usage
    - **Concurrency**: Thread safety considerations
    - **Edge Cases**: Boundary conditions
    
    ### Architecture Implications
    - Coupling and cohesion
    - SOLID principles adherence
    - Testability considerations
    ` : ""}
    
    ## Key Takeaways
    1. Understand the purpose
    2. Follow the data flow
    3. Note the patterns used
    `;
    
        return { content: [{ type: "text", text: explanation }] };
    }
  • Zod schema defining the input parameters for the 'explain_code' tool: required code and language strings, optional explanation level.
    export const explainCodeSchema = {
        name: "explain_code",
        description: "Provides a detailed explanation of code, breaking down what each part does.",
        inputSchema: z.object({
            code: z.string().describe("The code to explain"),
            language: z.string().describe("Programming language"),
            level: z.enum(["beginner", "intermediate", "expert"]).optional().describe("Explanation depth")
        })
    };
  • src/index.ts:87-87 (registration)
    Registration of the 'explain_code' tool in the main stdio server tool registry map, linking schema and handler.
    ["explain_code", { schema: explainCodeSchema, handler: explainCodeHandler }],
  • src/server.ts:97-97 (registration)
    Registration of the 'explain_code' tool in the HTTP server tool registry map, linking schema and handler.
    ["explain_code", { schema: explainCodeSchema, handler: explainCodeHandler }],

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/millsydotdev/Code-MCP'

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