About Serial MCP
Serial MCP is an MCP server published by davidalo in the Developer Tools category: mCP server for serial port communication. 12 tools, resources, prompts, and stdio/HTTP transports.
Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/davidalo/serial-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (10)
close_portClose an open port
Parameters not published.
get_port_statusGet port status and control line states
Parameters not published.
list_open_portsList all currently managed ports
Parameters not published.
list_portsList available system serial ports
Parameters not published.
open_portOpen a serial port with configuration (baud rate, parity, stop bits, etc.)
Parameters not published.
read_bytesRead N bytes with timeout
Parameters not published.
read_for_durationRead continuously for N seconds
Parameters not published.
read_untilRead until a terminator character
Parameters not published.
send_breakSend a BREAK signal
Parameters not published.
write_dataWrite string or hex data to a port
Parameters not published.
Ask AI
Ask AI about Serial MCP
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
4 checks have not been run yet.
Releases
README
🔌 serial-mcp
MCP server for serial port communication. Provides tools to open, read, write, and manage serial ports through the Model Context Protocol.
🤖 Written by and for AI.
✨ Features
- 📋 List available serial ports on the system
- ⚙️ Open ports with configurable baud rate, parity, stop bits, and flow control
- 📖 Read data by byte count, terminator character, or duration
- ✍️ Write string or hex data
- 💥 Send BREAK signals
- 📊 Monitor port status and control line states
📦 Prerequisites
- Python 3.10+
- uv package manager
🚀 Installation
Via PyPI
uvx serial-mcp@latest
Local Clone
git clone https://github.com/davidalo/serial-mcp.git
cd serial-mcp
uvx --from "$(pwd)" serial-mcp
🔗 Integration
Via PyPI
# Claude Code
claude mcp add serial -- uvx serial-mcp@latest
# Codex CLI
codex mcp add serial -- uvx serial-mcp@latest
Local Clone
git clone https://github.com/davidalo/serial-mcp.git
cd serial-mcp
# Claude Code
claude mcp add serial -- uvx --from "$(pwd)" serial-mcp
# Codex CLI
codex mcp add serial -- uvx --from "$(pwd)" serial-mcp
🛠️ Tools
| Tool | Description |
|---|---|
list_ports |
List available system serial ports |
open_port |
Open a serial port with configuration (baud rate, parity, stop bits, etc.) |
close_port |
Close an open port |
write_data |
Write string or hex data to a port |
read_bytes |
Read N bytes with timeout |
read_until |
Read until a terminator character |
read_for_duration |
Read continuously for N seconds |
send_break |
Send a BREAK signal |
get_port_status |
Get port status and control line states |
list_open_ports |
List all currently managed ports |
🧪 Testing with Virtual Ports
Use socat to create virtual serial port pairs for testing:
# Create virtual port pair
socat -d -d pty,raw,echo=0,link=/tmp/ttyV0 pty,raw,echo=0,link=/tmp/ttyV1
Then open /tmp/ttyV0 with the MCP server and /tmp/ttyV1 with another terminal program to test communication.
📄 License
MIT
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.