Chapter one · miyagi-mcp 3.0.0 · MIT
Miyagi
Wax on. Wax off.
You run the commands. I drill you, catch the falls, and keep score.
A coding tutor that lives in your editor and refuses to do the work for you. Default mode is ride-along: a short card, no inline quiz, no voice. Switch to drill when you want the full lesson, a quiz, and narration from your own machine.
$ npx -y miyagi-mcp10
tools over stdio
3
session modes
2
runtime dependencies
249
tests, on Node 18/20/22
A real training round
Captured output, replayed. A drill round: it runs a command, marks a quiz, then asks you to type RUN before anything destructive.
Example session. Command: echo drill. Output: # Miyagi · `echo drill` ## Roadmap Absolute Beginners → Command Line Basics Progress: [█░░░░░░░░░░░] step 1/10 ## Execution EXECUTED. Exit code 0 ✅ drill ## Quiz Which shell variable holds the exit code of the command that just finished? A. $? B. $! C. $0 D. $#
Earn your belt
01
Terminal Novice
Level 1
02
Shell Apprentice
Level 3
03
CLI Artisan
Level 6
04
Terminal Wizard
Level 10
Attempt XP follows the mode: 10 in drill, 3 in ride-along, nothing in focus. A verified outcome is 30, once. A correct quiz is 25 (30 for a review). Level is XP over 100, saved to disk.
Three lines, any client
{
"mcpServers": {
"miyagi": {
"command": "npx",
"args": ["-y", "miyagi-mcp"]
}
}
}| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor | .cursor/mcp.json, or ~/.cursor/mcp.json |
| AntiGravity / Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Claude Code | claude mcp add miyagi -- npx -y miyagi-mcp |
Three ways to train
Ride-along is the default. Too loud costs an uninstall; too quiet costs mild disappointment. Intensity is opted into.
3 XP
Ride-along
The default. A short card, no inline quiz, no voice. Recall is queued for later, not dropped.
10 XP
Drill
The full card: What/How/Trade-offs, a diagram, pitfalls, docs, a quiz, and speech. Intensity you opt into.
0 XP
Focus
The command runs. Nothing else surfaces unless it is dangerous — refusals still report in every mode.
What lands on the page
01
Roadmap alignment
Where the command sits on your track, and which step you are on.
02
What / How / Trade-offs
The same command explained three ways, pitched at Junior, Mid or Senior.
03
Mental model
A Mermaid flowchart of what the shell actually does with it. Drill shows it; quieter modes skip it.
04
Common pitfalls
The mistakes this command specifically invites, not generic advice.
05
Curated docs
A short set including the man page, rather than a search link.
06
Active recall quiz
Asked inline in drill. Quieter modes queue it for review instead of dropping it.
It runs shell commands
The art is loud. This part is not. Here is what the protection is, and more usefully, where it stops.
Nothing catastrophic executes
Shapes like rm -rf /, mkfs, curl | sh, fork bombs and wiping shell history are refused outright, with or without confirmation, and regardless of what the calling model claims.
A human confirms the rest
Merely destructive commands (rm -rf build, git push --force, terraform destroy) are explained and dry-run until you type RUN. The model’s confirm_dangerous flag is only the fallback for clients that cannot prompt you.
The screen does not trust its caller
The tool accepts an is_dangerous flag but re-derives the verdict itself. The threat model is a model reaching for a vivid example mid-lesson, not a careless human, so a flag the caller supplies cannot be the thing protecting you from the caller.
A denylist is a backstop, not a sandbox
The real boundary is your client’s own approval prompt, with you reading the command first. Commands run with your privileges in your directory: no container, no restricted user, no syscall filter. Failures return a diagnostic rather than a thrown error. 60-second cap, 4 MB, no network, no telemetry, no keys.
10 tools
quick_configSkill level, track, voice, and session mode (drill / ride-along / focus) in one call. Also resets progress.
list_roadmapsEvery track, built-in and yours, with the JSON shape for authoring your own.
set_active_roadmapSet category, track, topic and step. An unknown name is reported, not silently swapped.
get_next_roadmap_commandThe next copy-pasteable command for where you are, with its checkpoint criterion.
run_teaching_commandExecute or dry-run a command and return a teaching card. Depth follows the session mode.
verify_stepA read-only probe confirms the outcome exists on your machine. This is where most of the XP is.
verify_quiz_answerGrade the quiz, update streaks, XP, mastery and the review schedule.
review_due_itemsThe spaced-repetition session — everything whose interval has elapsed, most overdue first.
get_user_statsXP, level, title, both streaks, badges, per-command mastery and lifetime totals.
export_roadmap_notesWrite a ROADMAP_PROGRESS.md of the session, or of everything you have practised.
Questions before you install
Ask Miyagi
Answers from the Miyagi recordIt answers from what is written about Miyagi — install, tools, modes, XP, safety, roadmaps. Other projects and biography are out of scope. If something is not in the record it says so rather than inventing it.