New tools for hardware control: - get_modem_lines: read all input (CTS/DSR/RI/CD) and output (RTS/DTR) lines - set_modem_lines: set RTS/DTR states - pulse_line: pulse RTS or DTR for reset sequences (ESP32, Arduino, etc.) - send_break: send serial break signal Also added RI and CD to get_connection_status and port status resource.
MCP Serial Server
FastMCP server for serial port access via Model Context Protocol.
Features
- Tools for serial port control (open, close, write, configure)
- Dynamic Resources for reading data (
serial://{port}/data) - Full pyserial support (baudrate, parity, stop bits, etc.)
- Multiple concurrent port connections
- Raw byte and text modes
Installation
# With uvx (recommended)
uvx mcserial
# Or install directly
uv pip install mcserial
Usage with Claude Code
# Add to Claude Code
claude mcp add mcserial "uvx mcserial"
Tools
| Tool | Description |
|---|---|
list_serial_ports |
Discover available serial ports |
open_serial_port |
Open a connection with config |
close_serial_port |
Close a connection |
write_serial |
Send text data |
write_serial_bytes |
Send raw bytes |
read_serial |
Read available data |
read_serial_line |
Read until newline |
configure_serial |
Change port settings |
flush_serial |
Clear buffers |
get_connection_status |
List open connections |
Resources
| URI | Description |
|---|---|
serial://ports |
List available ports |
serial://{port}/data |
Read data from open port |
serial://{port}/status |
Port configuration info |
serial://{port}/raw |
Read as hex dump |
Environment Variables
| Variable | Default | Description |
|---|---|---|
MCSERIAL_DEFAULT_BAUDRATE |
9600 | Default baud rate |
MCSERIAL_DEFAULT_TIMEOUT |
1.0 | Read timeout (seconds) |
MCSERIAL_MAX_CONNECTIONS |
10 | Max concurrent ports |
Example Workflow
1. list_serial_ports → find /dev/ttyUSB0
2. open_serial_port(port="/dev/ttyUSB0", baudrate=115200)
3. write_serial(port="/dev/ttyUSB0", data="AT\r\n")
4. Read resource: serial:///dev/ttyUSB0/data
5. close_serial_port(port="/dev/ttyUSB0")
License
MIT
Description
Languages
Python
100%