
Serial MCP
Gives Claude direct access to UART and USB-serial hardware through 12 tools covering the full serial workflow: list and open ports, read with pattern matching and timeouts, write data, control DTR/RTS lines for board resets, manage flow control, and send break signals. Resources expose available ports and active connections, while background RX subscriptions let you stream data without blocking. Built for embedded workflows like flashing firmware, interactive serial terminals, and talking to Arduino or STM32 boards. Ships as a single binary with an optional allowlist for port security. If you're doing hardware bring-up or device automation with an LLM, this bridges the gap.
- GitHub stars
- 18
- tools
- 25
- transport
- STDIO
- last updated
- Aug 15, 2026
Tools
25 toolsPublic tool metadata for what this MCP can expose to an agent.
list_portsDiscovery tool listed in the tool catalog.
Discovery tool listed in the tool catalog.
No parameter schema in public metadata yet.
list_connectionsDiscovery tool listed in the tool catalog.
Discovery tool listed in the tool catalog.
No parameter schema in public metadata yet.
openConnection lifecycle tool listed in the tool catalog.
Connection lifecycle tool listed in the tool catalog.
No parameter schema in public metadata yet.
closeConnection lifecycle tool listed in the tool catalog.
Connection lifecycle tool listed in the tool catalog.
No parameter schema in public metadata yet.
reconnectConnection lifecycle tool listed in the tool catalog.
Connection lifecycle tool listed in the tool catalog.
No parameter schema in public metadata yet.
get_statusConnection lifecycle tool listed in the tool catalog.
Connection lifecycle tool listed in the tool catalog.
No parameter schema in public metadata yet.
reconfigureConnection lifecycle tool listed in the tool catalog.
Connection lifecycle tool listed in the tool catalog.
No parameter schema in public metadata yet.
readI/O tool that returns buffered bytes immediately and can also wait, match, and replay history.
I/O tool that returns buffered bytes immediately and can also wait, match, and replay history.
No parameter schema in public metadata yet.
writeI/O tool listed in the tool catalog.
I/O tool listed in the tool catalog.
No parameter schema in public metadata yet.
transactI/O tool listed in the tool catalog.
I/O tool listed in the tool catalog.
No parameter schema in public metadata yet.
capture_bootHandles Arduino auto-reset, power-cycle banners, and boot prompts in one atomic call.
Handles Arduino auto-reset, power-cycle banners, and boot prompts in one atomic call.
No parameter schema in public metadata yet.
flushI/O tool listed in the tool catalog.
I/O tool listed in the tool catalog.
No parameter schema in public metadata yet.
set_dtr_rtsLine control tool listed in the tool catalog.
Line control tool listed in the tool catalog.
No parameter schema in public metadata yet.
set_flow_controlLine control tool listed in the tool catalog.
Line control tool listed in the tool catalog.
No parameter schema in public metadata yet.
send_breakLine control tool listed in the tool catalog.
Line control tool listed in the tool catalog.
No parameter schema in public metadata yet.
list_profilesProfiles and config tool listed in the tool catalog.
Profiles and config tool listed in the tool catalog.
No parameter schema in public metadata yet.
open_profileProfiles and config tool listed in the tool catalog.
Profiles and config tool listed in the tool catalog.
No parameter schema in public metadata yet.
save_profileProfiles and config tool listed in the tool catalog.
Profiles and config tool listed in the tool catalog.
No parameter schema in public metadata yet.
delete_profileProfiles and config tool listed in the tool catalog.
Profiles and config tool listed in the tool catalog.
No parameter schema in public metadata yet.
configureProfiles and config tool listed in the tool catalog.
Profiles and config tool listed in the tool catalog.
No parameter schema in public metadata yet.
rollback_profileProfiles and config tool listed in the tool catalog.
Profiles and config tool listed in the tool catalog.
No parameter schema in public metadata yet.
get_logLogs and capture tool listed in the tool catalog.
Logs and capture tool listed in the tool catalog.
No parameter schema in public metadata yet.
clear_logLogs and capture tool listed in the tool catalog.
Logs and capture tool listed in the tool catalog.
No parameter schema in public metadata yet.
export_logEvent logging tool that supports persistent JSONL capture.
Event logging tool that supports persistent JSONL capture.
No parameter schema in public metadata yet.
compute_checksumUtility tool listed in the tool catalog.
Utility tool listed in the tool catalog.
No parameter schema in public metadata yet.
Sponsors
Readme
serial-mcp for UART and USB serial access
serial-mcp is an MCP server for direct access to serial ports. It reads,
writes, and streams UART or USB-serial data to microcontrollers, Arduino boards,
STM32 chips, and other embedded targets. Reads use timeouts and pattern matching
instead of blocking on a serial monitor.
The server provides always-on RX capture. It decodes TX and RX frames using line, delimiter, length-prefixed, start/end, SLIP, and COBS formats. It provides AT, JSON, shell, NMEA-0183, and Modbus ASCII parsers.
Protocol presets provide checksum validation. The server also supports auto-reconnect, event logging, DTR/RTS, BREAK, and flow control. MCP clients can use these features with serial bootloaders, resets, and embedded boards.
Quick start
Details
- Repository
- github.com/qarnet/serial-mcp
- Package
https://github.com/qarnet/serial-mcp/releases/download/v0.9.3/serial-mcp-x86_64-linux- Transport
- STDIO
- Registry
- MCP registry, active