Skip to main content
Glama
Learning Assistant MCP Server

Learning Assistant MCP Server

by Yasir-Khan-7

Learning Assistant MCP Server šŸŽ“

An educational MCP (Model Context Protocol) server that helps developers learn, understand code, and improve their programming skills through AI-powered tools.

Features šŸš€

This MCP server provides 8 powerful learning tools:

  1. explainConcept - Get simple explanations of programming concepts with examples

  2. reviewCode - Get constructive feedback on your code with improvement suggestions

  3. suggestBestPractice - Learn industry best practices for any programming task

  4. compareApproaches - Compare different solutions and understand tradeoffs

  5. generateLearningPath - Get a structured roadmap to learn any technology

  6. debugHelper - Understand and fix errors with guided debugging help

  7. explainThisCode - Get detailed explanations of how code works

  8. quizMe - Test your knowledge with auto-generated practice questions

Related MCP server: MCP Creator Growth

Installation šŸ“¦

Prerequisites

  • Node.js 18.0.0 or higher

  • Cursor IDE or any MCP-compatible client

Setup

  1. Clone this repository:

git clone https://github.com/YOUR_USERNAME/learning-assistant-mcp.git
cd learning-assistant-mcp
  1. Install dependencies:

npm install
  1. Build the project:

npm run build
  1. Configure your MCP client (e.g., Cursor IDE):

Add to your ~/.cursor/mcp.json:

{
  "mcpServers": {
    "learning-assistant": {
      "command": "node",
      "args": [
        "/absolute/path/to/learning-assistant-mcp/dist/index.js"
      ]
    }
  }
}

Replace /absolute/path/to/learning-assistant-mcp with the actual path where you cloned the repository.

  1. Restart Cursor IDE

Usage šŸ’”

Once installed, you can use the tools in Cursor Chat:

Example Prompts

  • "Explain what closures are in JavaScript for a beginner"

  • "Review this code and suggest improvements"

  • "What are the best practices for error handling in React?"

  • "Compare REST API vs GraphQL"

  • "Create a learning path to master TypeScript"

  • "Help me debug this error: Cannot read property 'map' of undefined"

  • "Explain what this regex pattern does: /^[a-z]+$/i"

  • "Quiz me on JavaScript async/await with 5 questions"

Development šŸ› ļø

# Run in development mode
npm run dev

# Build TypeScript
npm run build

# Run the built server
npm start

Project Structure šŸ“

learning-assistant-mcp/
ā”œā”€ā”€ src/
│   └── index.ts          # Main server implementation
ā”œā”€ā”€ dist/                 # Compiled JavaScript (generated)
ā”œā”€ā”€ package.json
ā”œā”€ā”€ tsconfig.json
└── README.md

Tools Reference šŸ“š

explainConcept

Explains programming concepts in beginner-friendly terms.

Parameters:

  • concept (string): The concept to explain

  • level (optional): "beginner" | "intermediate" | "advanced"

  • language (optional): Programming language context

reviewCode

Reviews code and provides constructive feedback.

Parameters:

  • code (string): Code to review

  • language (string): Programming language

  • context (optional): What the code should do

  • focusAreas (optional): Array of focus areas

suggestBestPractice

Suggests best practices for programming tasks.

Parameters:

  • task (string): The task or area

  • technology (optional): Specific framework/library

  • currentApproach (optional): Your current approach

compareApproaches

Compares different programming approaches.

Parameters:

  • problem (string): The problem to solve

  • approaches (array): List of approaches to compare

  • criteria (optional): Comparison criteria

generateLearningPath

Creates structured learning roadmaps.

Parameters:

  • topic (string): What to learn

  • currentLevel: Your current level

  • goalLevel: Target proficiency

  • timeCommitment (optional): Available time

debugHelper

Helps debug errors and bugs.

Parameters:

  • error (string): Error message or bug description

  • code (optional): Relevant code

  • language (optional): Programming language

  • context (optional): What you were doing

explainThisCode

Provides detailed code explanations.

Parameters:

  • code (string): Code to explain

  • language (string): Programming language

  • detailLevel (optional): "overview" | "detailed" | "line-by-line"

quizMe

Generates practice questions.

Parameters:

  • topic (string): Topic to quiz on

  • difficulty (optional): "easy" | "medium" | "hard"

  • questionCount (optional): Number of questions (1-10)

  • questionType (optional): Type of questions

Contributing šŸ¤

Contributions are welcome! Please feel free to submit a Pull Request.

License šŸ“„

MIT License - see LICENSE file for details

Author ✨

Muhammad Yasir Khan

Support šŸ’¬

If you have questions or need help, please open an issue on GitHub.

Available Tools

8 tools
compareApproachesA

Compares multiple approaches to solve a programming problem, listing pros and cons of each

Inputs: problem (required), approaches (required), criteria.

debugHelperA

Analyzes an error message or bug description and provides debugging guidance

Inputs: error (required), code, context, language.

explainConceptA

Explains a programming concept in simple, beginner-friendly terms with examples

Inputs: concept (required), level, language.

explainThisCodeA

Provides a detailed line-by-line or block-by-block explanation of what code does

Inputs: code (required), language (required), detailLevel.

generateLearningPathA

Creates a structured learning path with steps, resources, and milestones for learning a topic

Inputs: topic (required), goalLevel (required), currentLevel (required), timeCommitment.

quizMeA

Generates practice questions to test your understanding of a programming concept

Inputs: topic (required), difficulty, questionType, questionCount.

reviewCodeA

Reviews a code snippet and provides feedback on correctness, style, and potential improvements

Inputs: code (required), language (required), context, focusAreas.

suggestBestPracticeA

Suggests best practices for a specific programming task, pattern, or technology

Inputs: task (required), technology, currentApproach.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 8 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes, but explainConcept and explainThisCode could be confused by an agent selecting between a general concept explanation and a specific code explanation. Similarly, reviewCode and debugHelper overlap when reviewing buggy code, though their primary focuses differ.

    Naming Consistency4/5

    Tool names mostly follow a camelCase verb_noun pattern (explainConcept, reviewCode, suggestBestPractice, compareApproaches, generateLearningPath, explainThisCode). However, debugHelper deviates as a noun phrase rather than a clear verb_noun, and quizMe uses an object pronoun instead of a direct noun.

    Tool Count5/5

    With 8 tools, the server is well-scoped for a learning assistant. Each tool addresses a distinct pedagogical or coding assistance need, and the count is neither too sparse nor overwhelming.

    Completeness5/5

    The tool set covers the core learning workflow: explaining concepts, understanding code, reviewing code, debugging, suggesting best practices, comparing approaches, generating learning paths, and practice quizzes. There are no obvious gaps for the stated purpose of a learning assistant.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers