Skip to main content
Glama
CSOAI-ORG

Robotics Control MCP Server

by CSOAI-ORG

Servidor MCP de Control Robótico

Por MEOK AI Labs | meok.ai

Interfaz de IoT y robótica para agentes de IA. Controle dispositivos de hardware a través de puertos serie y HTTP: Arduino, Raspberry Pi, impresoras 3D, máquinas CNC, controladores de servomotores y robots personalizados. Parte del proyecto de robótica humanoide HARVI.

Herramientas

Herramienta

Descripción

list_devices

Autodescubrimiento de puertos serie + lista de dispositivos HTTP registrados

send_command

Envía un comando de texto a cualquier dispositivo (serie o HTTP)

read_sensor

Lee valores de sensores con análisis automático de clave=valor

set_servo

Establece un servomotor a un ángulo específico (0-180) en un canal

run_gcode

Envía código G a máquinas CNC, impresoras 3D o brazos robóticos

emergency_stop

Parada de emergencia por software + hardware (bloquea todos los comandos)

Instalación

# Core
pip install mcp pyserial

# Optional: for HTTP device communication
pip install httpx

Uso

Ejecutar el servidor

python server.py

Configuración de Claude Desktop

{
  "mcpServers": {
    "robotics": {
      "command": "python",
      "args": ["/path/to/robotics-control-mcp/server.py"]
    }
  }
}

Llamadas de ejemplo

Descubrir dispositivos conectados:

Tool: list_devices
Output: {"discovered_serial": [{"port": "/dev/cu.usbmodem1401", "description": "Arduino Mega 2560", "manufacturer": "Arduino"}], "discovered_count": 1}

Enviar un comando a un Arduino:

Tool: send_command
Input: {"device": "/dev/cu.usbmodem1401", "command": "GET_STATUS", "baudrate": 9600}
Output: {"status": "ok", "response": ["STATUS: READY", "TEMP: 23.5", "BATTERY: 87%"]}

Leer un sensor:

Tool: read_sensor
Input: {"device": "/dev/cu.usbmodem1401", "sensor_id": "temperature"}
Output: {"status": "ok", "response": ["temperature=23.5"], "parsed_values": {"temperature": 23.5}}

Controlar un servomotor:

Tool: set_servo
Input: {"device": "/dev/cu.usbmodem1401", "channel": 0, "angle": 90.0, "speed": 50}
Output: {"status": "ok", "servo": {"channel": 0, "angle": 90.0, "speed": 50}}

Enviar código G a una impresora 3D:

Tool: run_gcode
Input: {"device": "/dev/ttyUSB0", "gcode": "G28\nG1 X50 Y50 Z10 F3000\nG1 X100 Y100 F1500", "baudrate": 115200}
Output: {"total_lines": 3, "successful": 3, "failed": 0}

Enviar comandos a un dispositivo HTTP (ESP32, Raspberry Pi):

Tool: send_command
Input: {"device": "http://192.168.1.100/api/command", "command": "LED_ON"}
Output: {"status": "ok", "response": {"led": "on", "brightness": 255}}

Parada de emergencia:

Tool: emergency_stop
Input: {"device": "/dev/ttyUSB0"}
Output: {"status": "activated", "emergency_stop": true, "message": "EMERGENCY STOP ACTIVATED. All commands blocked."}

Liberar parada de emergencia:

Tool: emergency_stop
Input: {"release": true}
Output: {"status": "released", "emergency_stop": false, "message": "Emergency stop released. Commands enabled."}

Funciones de seguridad

  • Parada de emergencia: Interruptor de apagado a nivel de software que bloquea TODOS los comandos a TODOS los dispositivos cuando está activo

  • Parada de emergencia por hardware: Envía M112 (serie) o ESTOP (HTTP) al dispositivo físico

  • Validación de código G: Solo se aceptan caracteres de código G válidos

  • Límite de líneas de código G: Nivel gratuito máximo de 50 líneas por llamada para evitar trabajos descontrolados

  • Límites de servomotores: Ángulo validado de 0 a 180 grados, canal de 0 a 31

  • Tiempos de espera: Todas las llamadas serie/HTTP tienen tiempos de espera configurables

  • Sin conexiones persistentes: Cada comando abre y cierra su propia conexión

Dispositivos compatibles

Tipo de dispositivo

Conexión

Ejemplo

Arduino / Teensy

Serial USB

/dev/cu.usbmodem*, COM3

Impresora 3D (Marlin)

Serial USB

/dev/ttyUSB0, 115200 baudios

Máquina CNC (GRBL)

Serial USB

/dev/ttyUSB0, 115200 baudios

ESP32 / ESP8266

HTTP WiFi

http://192.168.1.x/api

Raspberry Pi

HTTP

http://pi.local:5000/cmd

Controladores de servos

Serial

PCA9685, Pololu Maestro

Robots personalizados

Serial/HTTP

Cualquier protocolo basado en texto

Integración con HARVI

Este servidor es parte del proyecto de robótica humanoide HARVI de MEOK AI Labs. HARVI utiliza brazos robóticos con servomotores SO-101 con inferencia ML de LeRobot, conectados a través de este servidor MCP para teleoperación impulsada por IA y control autónomo.

Precios

Nivel

Límite

Precio

Gratuito

50 llamadas/día, 50 líneas de código G/llamada

$0

Pro

Ilimitado + conexiones persistentes + código G por lotes

$12/mes

Enterprise

Personalizado + orquestación multidispositivo + certificados de seguridad

Contáctenos

Licencia

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CSOAI-ORG/robotics-control-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server