Install
cargo build --releasePara quem
Se um assistente ou um script deve alcançar série/UART, e o mesmo fluxo deve servir como ferramenta MCP e como linha de comandos, serial-mcp-server encaixa. Oferece um serviço MCP stdio e uma CLI scriptável para CI e para agent skill sem configuração MCP. O alvo de publicação atual é 0.3.0.
Encaixa em quem já tem Rust 1.74 ou mais recente nesta máquina, pode oferecer um dispositivo série ou um adaptador USB-série durante o trabalho de hardware, e tem permissão do sistema para essa porta. Repositório:
https://github.com/adancurusul/serial-mcp-server
Se só queres clicar no browser e não tens ambiente de compilação, pára aqui — a entrada oficial é clonar e depois cargo build --release.
Primeira tentativa em 3 minutos
O caminho principal oficial é compilar a partir do código-fonte. Pré-requisito: Rust 1.74+. Na primeira vez não ligues um dispositivo real: só enumera portas locais, para não escrever uma porta série por engano.
O local de instalação é a raiz do repositório clonado:
git clone https://github.com/adancurusul/serial-mcp-server.git
cd serial-mcp-server
cargo build --release
O binário está em target/release/serial-mcp-server. Também podes cargo install --path . --locked para o PATH, mas na primeira vez basta o binário compilado no repositório.
Primeira chamada de baixo risco:
serial-mcp-server list-ports --json
Isto é uma enumeração só de leitura; não escreve dados para um dispositivo. Também podes correr serial-mcp-server --help primeiro para confirmar que o comando está. Não trates os marcadores de porta da documentação como um nome real de dispositivo para escrever.
Sinal de sucesso observável: list-ports --json imprime um JSON de portas (pode estar vazio) e o processo sai normalmente. Se faltar permissão, primeiro resolve a permissão do sistema operativo para a porta série escolhida; não mudes para um lançador não documentado.
Casos de uso
Caso 1: ver que portas existem e depois sondar uma. Os comandos correspondentes são list-ports --json e probe com --baud 115200 --json. Os nomes de porta têm de vir dessa saída; não escrevas à mão um caminho fictício. probe alcança o hardware; confirma que o dispositivo está ligado antes de executar.
Caso 2: juntar uma sequência temporal de vários passos numa macro JSON. Os dispositivos muitas vezes precisam de: enviar um comando, esperar alguns milissegundos, ler um aviso ou uma resposta, depois enviar o seguinte. O pacote de macros regista esse processo para uma pessoa, CLI ou assistente fazer macro validate, macro list, macro plan e simular sem hardware. No lado MCP também há carregar / enumerar / descarregar pacotes de macros em memória, plan e run. Um macro run ou write/read a sério opera uma porta real; confirma o cabo primeiro.
Limites de uso
0.3.0 tirou Quick da API pública; o uso de estilo Quick deve escrever-se como macros. Não continues à procura de uma interface Quick.
Os dados de exemplo predefinidos de write são H, com --read --timeout-ms 1000 --json; isso envia dados para a porta. Os excertos de tempo-limite e baud só mostram 115200 e 1000 ms; não são valores predefinidos seguros para todos os dispositivos.
Não se escreve interface gráfica nem série na nuvem. MCP é stdio. Nenhum cliente é nomeado. As macros podem primeiro ser simuladas, mas run ainda pode alterar o estado do dispositivo. Sem permissão ou sem controlador, os comandos de hardware falham.