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!"
Metadata
Release files for scrimba-teaching-mcp 3.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scrimba_teaching_mcp-3.0.5.tar.gz | 13.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scrimba_teaching_mcp-3.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.7 kB
Release files / scrimba_teaching_mcp-3.0.5.tar.gz
| Download URL | scrimba_teaching_mcp-3.0.5.tar.gz |
|---|---|
| Size | 13.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd279c1f375b2a09a2df32ca127f7dd991b24f5fad9a497247932352edf6f627
|
|
BLAKE2b-256 checksum How to use checksums |
d6284adefe1f99d1cdec58b50eb009bf7290a29ff886ebced860416a10a23dbb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / scrimba_teaching_mcp-3.0.5-py3-none-any.whl
| Download URL | scrimba_teaching_mcp-3.0.5-py3-none-any.whl |
|---|---|
| Size | 12.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e3a4e2d75adeb190392e554ba17477d06a56876b7e3688057ad51a357b006c3e
|
|
BLAKE2b-256 checksum How to use checksums |
cbede1bd82238f8e2f645e4d6abce05878702b0e106ed5a938b2a97edda6a46c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|