# stackchan-mcp

An MCP bridge that lets any MCP client drive an M5Stack StackChan desktop robot, controlling head movement, camera capture, touch sensing and expressions.

stackchan-mcp bridges the Model Context Protocol to the M5Stack official StackChan robot kit, a small desktop robot with a head, servos, a camera and a touch sensor. From an MCP client such as Claude Code or Claude Desktop, a model can call tools to move the robot's head, capture a photo, read its touch sensor, switch its avatar expression, and check device status such as battery, volume and Wi-Fi.

The repository is a monorepo containing custom firmware built on a git subtree of the xiaozhi-esp32 project, a Python gateway that runs a stdio MCP server on the LLM side and a WebSocket MCP client on the ESP32 side, and documentation covering the architecture, tool mapping and a Tailscale Funnel setup for non-local access. It replaces the kit's factory firmware and targets the M5Stack CoreS3 body with SCS0009 neck servos, a GC0308 camera and an ILI9342 display.

It is written in C++.

Website: https://github.com/kisaragi-mochi/stackchan-mcp
