Install
cargo build --releasePara quién
Si un asistente o un script debe alcanzar serie/UART, y el mismo flujo debe servir como herramienta MCP y como línea de comandos, serial-mcp-server encaja. Ofrece un servicio MCP stdio y una CLI scriptable para CI y para agent skill sin configuración MCP. El objetivo de publicación actual es 0.3.0.
Encaja con quien ya tiene Rust 1.74 o más nuevo en esta máquina, puede ofrecer un dispositivo serie o un adaptador USB-serie durante el trabajo de hardware, y tiene permiso del sistema para ese puerto. Repositorio:
https://github.com/adancurusul/serial-mcp-server
Si solo quieres hacer clic en el navegador y no tienes entorno de compilación, párate aquí — la entrada oficial es clonar y luego cargo build --release.
Primera prueba en 3 minutos
La vía principal oficial es compilar desde el código fuente. Requisito: Rust 1.74+. La primera vez no conectes un dispositivo real: solo enumera puertos locales, para no escribir un puerto serie por error.
La ubicación de instalación es la raíz del repositorio clonado:
git clone https://github.com/adancurusul/serial-mcp-server.git
cd serial-mcp-server
cargo build --release
El binario está en target/release/serial-mcp-server. También puedes cargo install --path . --locked al PATH, pero la primera vez basta el binario compilado en el repositorio.
Primera llamada de bajo riesgo:
serial-mcp-server list-ports --json
Esto es una enumeración de solo lectura; no escribe datos al dispositivo. También puedes correr serial-mcp-server --help primero para confirmar que el comando está. No trates los marcadores de puerto de la documentación como un nombre real de dispositivo para escribir.
Señal de éxito observable: list-ports --json imprime un JSON de puertos (puede estar vacío) y el proceso sale con normalidad. Si falta permiso, primero resuelve el permiso del sistema operativo para el puerto serie elegido; no cambies a un lanzador no documentado.
Casos de uso
Caso 1: ver qué puertos hay y luego sondear uno. Los comandos correspondientes son list-ports --json y probe con --baud 115200 --json. Los nombres de puerto deben salir de esa salida; no escribas a mano una ruta ficticia. probe alcanza el hardware; confirma que el dispositivo está conectado antes de ejecutarlo.
Caso 2: empaquetar una secuencia temporal de varios pasos en una macro JSON. Los dispositivos a menudo necesitan: enviar un comando, esperar unos milisegundos, leer un aviso o una respuesta, luego enviar el siguiente. El paquete de macros registra ese proceso para que una persona, una CLI o un asistente haga macro validate, macro list, macro plan y simule sin hardware. En el lado MCP también hay carga / enumeración / descarga de paquetes de macros en memoria, plan y run. Un macro run o write/read de verdad opera un puerto real; confirma el cable primero.
Límites de uso
0.3.0 sacó Quick de la API pública; el uso de estilo Quick debe escribirse como macros. No sigas buscando una interfaz Quick.
Los datos de ejemplo predeterminados de write son H, con --read --timeout-ms 1000 --json; eso envía datos al puerto. Los extractos de tiempo de espera y baudios solo muestran 115200 y 1000 ms; no son valores predeterminados seguros para todos los dispositivos.
No se escribe interfaz gráfica ni serie en la nube. MCP es stdio. No se nombra cliente. Las macros se pueden simular primero, pero run aún puede cambiar el estado del dispositivo. Si falta permiso o no hay controlador, los comandos de hardware fallan.