robot-mcp

MCP.Pizza Chef: monteslu

robot-mcp is an MCP server that interfaces with an Arduino-connected servo motor to control a robot arm. It uses the johnny-five robotics framework and plays an audio clip when the servo moves. This server enables real-time robotic control via MCP, integrating hardware actuation with audio output for interactive feedback.

Use This MCP server To

Control a robot arm servo motor via MCP commands Play audio feedback on servo movement Integrate robotic hardware control into MCP workflows Test servo motor positions remotely Automate robotic arm movements with scripted commands

README

Robot Control Service

A Model Context Protocol (MCP) service that controls a robot arm with a servo motor. When the servo moves, it plays "Hasta la vista, baby!" audio clip.

Requirements

  • Node.js
  • Arduino or compatible board connected via USB
  • Servo motor connected to pin 10
  • Speaker for audio output

Installation

npm install

Usage

  1. Connect Arduino board via USB
  2. Connect servo to pin 10
  3. Run the service:
node index.js

The service exposes an MCP tool called moveMyServo that accepts a degrees parameter (0-180) to control the servo position.

Dependencies

robot-mcp FAQ

How do I install robot-mcp?
Install Node.js, connect your Arduino and servo, then run 'npm install' followed by 'node index.js'.
What hardware is required to use robot-mcp?
You need an Arduino or compatible board connected via USB, a servo motor on pin 10, and a speaker for audio output.
How do I control the servo motor?
Use the MCP tool 'moveMyServo' with a 'degrees' parameter from 0 to 180 to set the servo position.
What audio does robot-mcp play?
It plays the audio clip 'Hasta la vista, baby!' whenever the servo moves.
Which libraries does robot-mcp depend on?
It depends on @modelcontextprotocol/sdk, johnny-five, webaudio-node, and zod for schema validation.
Can robot-mcp be used with other MCP clients?
Yes, it exposes standard MCP tools compatible with any MCP client supporting tool invocation.
Is robot-mcp limited to a specific servo pin?
By default, it uses pin 10, but the code can be modified to support other pins.
Does robot-mcp support multiple servo motors?
The current implementation supports one servo motor, but it can be extended for multiple servos.