You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AboveColin edited this page Jul 26, 2026
·
1 revision
switchMCP
Drive a homebrew Nintendo Switch from an AI agent, over MCP.
[Atmosphère only][tested on HOS 22.1.0][emuMMC and sysMMC]
An Atmosphère sysmodule runs on the console and exposes a control protocol; a
Python MCP server on your computer turns it into tools an LLM can call. The
agent can see the screen, press buttons, move files, read save data, inspect
running processes and search live game memory.
A fresh install is read-only and stays that way until you raise the tier.
When it will not connect, or the console goes quiet
What it is good at
Seeing and acting. Screenshots are scaled to ~20% of native size by
default, and screen_changed returns an image only if something changed,
so watching a UI does not burn tokens.
Finding things on the console.fs_find and fs_grep run on the device;
list_saves enumerates every save without needing a title ID first.
Live memory. Read a running game without pausing it, and narrow a
value search from tens of thousands of candidates to a handful.
Not breaking anything. Read-only default, dry_run on every mutating
command, confirmation tokens for destructive ones, and an on-device audit
journal.
What it cannot do
Stated plainly so you do not lose an evening to it:
Hardware watchpoints and breakpoints arm but never fire on HOS 22.1.0.
Use the narrowing memory search instead.
USB transport is inert — device side only, no host client, never tested.
One client at a time. Not one command — one session.
Installing titles is out of scope and not implemented.