
Serial Mcp Server
This gives AI agents direct access to serial ports through pyserial, exposing the full stack from raw read/write operations up to device-specific plugins. You can list ports, open connections with configurable baud rates and control lines, read line-by-line or until delimiters, toggle DTR and RTS for hardware resets, and attach protocol specs so the agent understands your device's command set. Built for embedded engineers debugging firmware over UART, automating test sequences on microcontrollers, or letting Claude Code interact with hardware without manually typing commands into screen or minicom. Includes PTY mirroring so you can attach traditional serial tools alongside the agent, and plugin support for repeatable device operations beyond raw bytes.
- GitHub stars
- 10
- tools
- 27
- transport
- STDIO
- env vars
- 5
- last updated
- Mar 7, 2026
Tools
27 toolsPublic tool metadata for what this MCP can expose to an agent.
serial.list_portsList available serial ports.
List available serial ports.
No parameter schema in public metadata yet.
serial.open
No parameter schema in public metadata yet.
serial.close
No parameter schema in public metadata yet.
serial.connection_status
No parameter schema in public metadata yet.
serial.read
No parameter schema in public metadata yet.
serial.write
No parameter schema in public metadata yet.
serial.readline
No parameter schema in public metadata yet.
serial.read_until
No parameter schema in public metadata yet.
serial.flush
No parameter schema in public metadata yet.
serial.set_dtr
No parameter schema in public metadata yet.
serial.set_rts
No parameter schema in public metadata yet.
serial.pulse_dtr
No parameter schema in public metadata yet.
serial.pulse_rts
No parameter schema in public metadata yet.
serial.connections.list
No parameter schema in public metadata yet.
serial.spec.template
No parameter schema in public metadata yet.
serial.spec.register
No parameter schema in public metadata yet.
serial.spec.list
No parameter schema in public metadata yet.
serial.spec.attach
No parameter schema in public metadata yet.
serial.spec.get
No parameter schema in public metadata yet.
serial.spec.read
No parameter schema in public metadata yet.
serial.spec.search
No parameter schema in public metadata yet.
serial.trace.status
No parameter schema in public metadata yet.
serial.trace.tail
No parameter schema in public metadata yet.
serial.plugin.template
No parameter schema in public metadata yet.
serial.plugin.list
No parameter schema in public metadata yet.
serial.plugin.reload
No parameter schema in public metadata yet.
serial.plugin.load
No parameter schema in public metadata yet.
Sponsors
Configuration
SERIAL_MCP_MAX_CONNECTIONSMaximum simultaneous open serial connections (default 10)
SERIAL_MCP_PLUGINSPlugin policy: 'all' or comma-separated plugin names. Unset = disabled.
SERIAL_MCP_MIRRORPTY mirror mode: 'off' (default), 'ro' (read-only), or 'rw' (read-write). macOS/Linux only.
SERIAL_MCP_MIRROR_LINKBase path for PTY symlinks (default /tmp/serial-mcp when mirror is enabled). Connections get numbered: /tmp/serial-mcp0, /tmp/serial-mcp1, etc.
SERIAL_MCP_TOOL_SEPARATORTool name separator character (default '.'). Set to '_' for clients that reject dots (e.g. Cursor).
Readme
Serial MCP Server
A stateful serial port Model Context Protocol (MCP) server for developer tooling and AI agents. Works out of the box with Claude Code, VS Code with Copilot, and any MCP-compatible runtime. Communicates over stdio and uses pyserial for cross-platform serial on macOS, Windows, and Linux.
Example: Let Claude Code list available serial ports, connect to your microcontroller, reset it via DTR, and read the boot banner from your hardware.
Demo
Video walkthrough — connecting to a serial device, sending commands, reading responses, and creating plugins.
Why this exists
If you’ve ever copy-pasted commands into screen or minicom, guessed baud rates, toggled DTR to kick a bootloader, and re-run the same test sequence 20 times — this is for you.
Details
- Repository
- github.com/es617/serial-mcp-server
- Package
serial-mcp-server- Transport
- STDIO
- Registry
- MCP registry, active