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

NameRequiredDescriptionDefault
codeYesThe code to explain
languageYesProgramming language
levelNoExplanation depth

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "code": { "description": "The code to explain", "type": "string" }, "language": { "description": "Programming language", "type": "string" }, "level": { "description": "Explanation depth", "enum": [ "beginner", "intermediate", "expert" ], "type": "string" } }, "required": [ "code", "language" ], "type": "object" }

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