Drive 12 hobby servos on an open-hardware USB-C controller: moves, poses, sequences, rail current
MCPpedia last refreshed this data
io.github.Lukasz-Juranek/usb-servo-controller is an MCP server that drive 12 hobby servos on an open-hardware USB-C controller: moves, poses, sequences, rail current. Its tool list has not been published yet over stdio and sse, requires no API key, and scores 87/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"servo": {
"args": [
"/path/to/UsbServoController/tools/servo_mcp.py"
],
"command": "python"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Drive 12 hobby servos on an open-hardware USB-C controller: moves, poses, sequences, rail current
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked ucan-servo-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in other
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
SQL for Android APK and DEX files: classes, methods, strings, references and smali.
System 1 decision models (Jev, Laya, Cua-S1) as brain for agents: Browser use, computer use, games and robotics
MCP Security Weekly
Get CVE alerts and security updates for io.github.Lukasz-Juranek/usb-servo-controller and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
12-channel USB-C servo controller, Pololu Maestro compatible, with an MCP server so AI agents (Claude, etc.) can drive servos. $18 on Tindie · product page.
▶ 2-minute video: wiring, current monitoring, GUI and the controller driving a real MG995
Open-source alternative to the Pololu Mini Maestro 12 that speaks the Maestro serial protocols, so Maestro libraries work unchanged — plus USB-C, servo-rail current and voltage sensing, on-board scripts. Built for JLCPCB turnkey assembly, ≈ $4.43 per board at 100 units against $29.95 for the Maestro.
| MCU | WCH CH32V203C8T6, RISC-V 96 MHz, LQFP-48 |
| Channels | 12 hardware PWM, 50 Hz, 0.5 µs; travel limits per channel (64–4080 µs, 500–2500 default); analog input on 0–7 |
| Host interface | USB-C, CDC serial (no driver); ASCII protocol and the Pololu Maestro Compact / Pololu / Mini SSC protocols |
| Servo power | separate rail on a 5.08 mm screw terminal, 5–13.2 V full function, ~5 A total |
| Sensing | rail current (5 mΩ + INA180A2) and voltage (÷4), overcurrent / LiPo undervoltage cut-off |
| PCB | 66 × 38 mm, 2 layers, all parts top side, 4 × M3 |
| Status | first board verified on hardware 2026-09-28 — selftest.py --rail --move 58/58; channels 1–11 not yet driven with a real servo |
| Document | For |
|---|---|
USER.md | using the board: wiring, power, tools, command reference, flashing |
tools/README.md | host tools: library, CLI, GUI, scripts, MCP server, release builds |
| this file | design: why each choice, BOM and cost, limitations, what is left before fab |
tools/servo_mcp.py is an MCP server that lets an AI agent move servos,
run poses and sequences, and read rail current/voltage, with guardrails: per-channel limits,
ramped moves, overcurrent stop. pip install -r tools/requirements.txt, then:
Claude Code
claude mcp add servo -- python /path/to/UsbServoController/tools/servo_mcp.py
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"servo": {
"command": "python",
"args": ["/path/to/UsbServoController/tools/servo_mcp.py"]
}
}
}
Add "--port", "COM5" to pick a port, or "--mock" to try it without hardware.
Close the GUI first: only one program can hold the serial port.
The server is also on PyPI, so any MCP client can run it without cloning the repo:
command uvx, args ["ucan-servo-mcp"] (plus --config path/to/servogui.json
to use the limits, poses and sequences saved by the GUI).
pip install -r tools/requirements.txt
python tools/servogui.py # GUI (or --mock with no hardware)
python tools/servoctl.py set 0 1500 # CLI
cd embedded-ch32 && make flash # build + flash over USB, ~3 s, no jumper
Downloads: firmware images and the prebuilt GUI for Windows and Linux are on the Releases page. To build the GUI yoursel