Unified MCP server for interactive programming education with Scrimba's revolutionary methodology
Project description
Scrimba Teaching MCP System
mcp-name: io.github.srikrishna235/scrimba-teaching-mcp
A revolutionary teaching system implementing Per Borgen's Scrimba methodology, available as MCP servers for both Claude Desktop and Claude CLI.
๐ v1.1.0 - Agent-Router Update!
NEW! scrimba_agent - Unified tool that embeds agent personalities and auto-routes requests!
- Analyzes user intent automatically
- Routes to visual, interactive, project, or challenge modes
- No need for separate agents - everything in one tool!
Architecture
โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ
โ Teaching MCP โ โ CLI Wrapper MCP โ
โ (Pure Logic) โ โ (Agent Support) โ
โโโโโโโโโโโโโโโโโโโโโโโค โโโโโโโโโโโโโโโโโโโโโโค
โ โข scrimba_agent() โ โ โข execute_with_ โ
โ (NEW! v1.1.0) โ โ agent() โ
โ โข teach() โ โ โข list_agents() โ
โ โข give_challenge() โ โ โ
โ โข check_code() โ โ โ
โ โข visualize() โ โ โ
โ โข start_project() โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ โ
Claude Desktop Claude CLI
(Direct MCP) (With Agent Support)
Features
Core Scrimba Methodology
- 60-Second Rule: Users coding within 60 seconds
- Micro-Lessons: [HOOK: 20s] โ [CONCEPT: 60s] โ [CHALLENGE: 120s] โ [CELEBRATE: 10s]
- 5-Level Progression: Every concept taught in 5 progressive steps
- Console.log Driven Development: Verify everything immediately
- Error-First Learning: Celebrate mistakes as learning moments
- Real Projects: Passenger Counter, Blackjack Game, Chrome Extension
Teaching Tools
teach(topic, step)- Interactive lessons with Scrimba methodologygive_challenge(difficulty)- Immediate coding challengescheck_code(code)- Validation with encouragementnext_lesson()- Progress through 5-level curriculumstart_project(name)- Build real applicationsvisualize_concept(concept)- Generate visual learning materialsshow_progress()- Track learning journey
Installation
For Claude Desktop
- Install the MCP server:
cd scrimba-mcp-unified
pip install -e .
- Configure Claude Desktop: Add to your Claude Desktop configuration:
{
"mcpServers": {
"scrimba-teaching": {
"command": "python",
"args": ["/path/to/teaching-server/teaching_mcp.py"]
}
}
}
- Start using in Claude Desktop:
teach me variables
give me a challenge
check my code: let age = 25
For Claude CLI
- Install both servers:
cd scrimba-mcp-unified
pip install -e .
-
Register MCP servers: The
.mcp.jsonfile is already configured. Claude CLI will automatically detect both servers. -
Option A - Direct MCP Usage:
# Use MCP tools directly
claude "teach me variables"
claude "give me a coding challenge"
- Option B - With Agent Orchestration:
# Create teaching agents
claude "create teaching orchestrator agent"
# Use agents for orchestration
claude @teaching-orchestrator "teach me variables"
Usage Examples
Direct Teaching (Claude Desktop & CLI)
User: teach me variables
Bot: [Full Scrimba micro-lesson with story, concept, and challenge]
User: let myAge = 25
Bot: [Celebration and next challenge]
User: next lesson
Bot: [Level 2 of 5-level progression]
Project-Based Learning
User: start project passenger_counter
Bot: [Per's subway story + starter code + 5 build steps]
User: show my progress
Bot: [Visual progress bar + achievements + motivation]
Visual Learning
User: visualize variables
Bot: [Detailed image prompt for educational visualization]
Key Differences
| Feature | Claude Desktop | Claude CLI |
|---|---|---|
| Direct MCP Tools | โ Yes | โ Yes |
| Agent Support | โ No | โ Yes (via wrapper) |
| Installation | Single server | Both servers (optional) |
| Usage | Direct tools only | Tools or agents |
Development
Testing the Teaching Server
cd teaching-server
python teaching_mcp.py --test
Testing with Claude CLI
# Test direct MCP
claude "teach me functions" --mcp-debug
# Test with agents
claude @teaching-orchestrator "teach me functions"
Scrimba Methodology Details
Micro-Lesson Structure
Every lesson follows this exact timing:
- 0-20s: Personal story hook ("When I was 19...")
- 20-80s: ONE concept only
- 80-200s: Immediate practice
- 200-210s: Celebration
Progressive Complexity (5 Levels)
- Basic declaration
- Modification/reassignment
- Shorthand syntax
- Advanced usage
- BUILD REAL APP!
Language Patterns
- ALWAYS: "Hey buddy!", "This is HUGE!", "Super common!"
- NEVER: "Let me explain...", "This is wrong", "As you should know..."
Projects
- Passenger Counter: Variables & Functions
- Blackjack Game: Logic & Conditionals
- Chrome Extension: Advanced concepts
Contributing
The teaching logic is centralized in teaching_mcp.py. To add new lessons:
- Add to
LESSONSdictionary with 5 levels - Follow exact Scrimba structure
- Include personal stories
- Test with both Desktop and CLI
License
MIT - Share the Scrimba way of learning!
Credits
Based on Per Borgen's revolutionary teaching methodology from Scrimba. "The only way to learn to code is to write a lot of code!"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scrimba_teaching_mcp-3.0.5.tar.gz.
File metadata
- Download URL: scrimba_teaching_mcp-3.0.5.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd279c1f375b2a09a2df32ca127f7dd991b24f5fad9a497247932352edf6f627
|
|
| MD5 |
98ec9bb44dbf1ff70a1df8449cac5a28
|
|
| BLAKE2b-256 |
d6284adefe1f99d1cdec58b50eb009bf7290a29ff886ebced860416a10a23dbb
|
File details
Details for the file scrimba_teaching_mcp-3.0.5-py3-none-any.whl.
File metadata
- Download URL: scrimba_teaching_mcp-3.0.5-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3a4e2d75adeb190392e554ba17477d06a56876b7e3688057ad51a357b006c3e
|
|
| MD5 |
70f6e4216e0d2f1f45be428d92f03e33
|
|
| BLAKE2b-256 |
cbede1bd82238f8e2f645e4d6abce05878702b0e106ed5a938b2a97edda6a46c
|