Homebrew NX-MCP

  • Thread starter Thread starter CompSciOrBust
  • Start date Start date
  • Views Views 636
  • Replies Replies 3
  • Likes Likes 2

CompSciOrBust

Elite
Member
Joined
Sep 9, 2019
Messages
936
Reaction score
1,157
Trophies
1
Location
Switch scene
Website
github.com
XP
2,853
Country
Korea, North

NX-MCP - GitHub link​


While developing the next update for Amiigo I ran into some issues with Claude not being able to understand screen space coordinates of UI objects correctly. I got tired of copying screenshots from the Switch's SD card over FTP so I decided to build an MCP server to allow Claude to get screenshots autonomously. A natural next step was to add controller inputs so that Claude could test its own work without any human help. After running into a memory corruption issue I thought it would be useful if Claude could automatically pull crash reports so I added FS tools.

Eventually the tool got large enough that I decided it was worth rewriting properly. That's what this release is. NX-MCP has 24 different tools which allows AI agents to interact with your Switch console. The readme file has a complete list of tools but some that are most useful are:
  • Pulling screenshots over the network
  • Simulated controller input, individual buttons as well as scripted sequences
  • Simulated touch input, individual taps as well as swiping motions
  • File read, create, and delete tools (works on save files)
  • The ability to kill and launch processes
  • An IPC tool that can execute arbitrary IPC commands provided by the agent
On top of these agent tools the server also provides endpoints for transferring large files without putting them into the LLM's context. The server provides instructions on how to use these with cURL to the agent.

After building the tool I discovered that other people had already built MCP servers for Switch. These all seem good but I think mine is more feature complete. It is dual era so it supports both legacy and modern versions of the MCP protocol and it is structured into controllers and services to make it easily extensible. The readme file contains instructions on how to add a new tool to the registry.

Running the launcher NRO from GitHub will install and launch the system module. You can use the launcher to toggle the Boot2 flag.

1792344837905.jpeg
 
Ha. Yeah basically. Just instead of exposing sockets my tool exposes an MCP server. I'm currently working on wiring in the debugger syscalls so Claude can debug system processes. I think DMNT can only debug games?

View attachment 596984
dmnt.gen2 allows debugging every process via GDB.
 
  • Like
Reactions: CompSciOrBust

Site & Scene News

New Hot Discussed User Submitted