daedalus avatar

Mcp Rs232

daedalus/mcp-rs232

Bridges Claude to RS232 serial ports for hardware communication. Exposes tools to list available ports, open connections with configurable baud rates, and read/write hex-encoded data. Also provides resources for querying port details and configurations. You'd reach for this when working with legacy industrial equipment, embedded systems, or any hardware that speaks serial. The hex encoding approach keeps things clean for binary protocols. Written in Python with a straightforward API that handles port lifecycle management. Useful for debugging serial devices, automating test equipment, or building interfaces to hardware that predates modern connectivity standards.

tools
6
transport
STDIO
last updated
Mar 28, 2026

Tools

6 tools

Public tool metadata for what this MCP can expose to an agent.

list_ports_toolReturns list of available serial ports

Returns list of available serial ports

No parameter schema in public metadata yet.

open_portOpens a serial connection

Opens a serial connection

No parameter schema in public metadata yet.

close_portCloses a serial connection

Closes a serial connection

No parameter schema in public metadata yet.

read_portReads data from port (hex encoded)

Reads data from port (hex encoded)

No parameter schema in public metadata yet.

write_portWrites hex-encoded data to port

Writes hex-encoded data to port

No parameter schema in public metadata yet.

get_port_configReturns current port configuration

Returns current port configuration

No parameter schema in public metadata yet.

Sponsors

Readme

mcp-rs232

An MCP server that exposes RS232 serial port connectivity

PyPI Python Ruff

mcp-name: io.github.daedalus/mcp-rs232

Install

pip install mcp-rs232

Usage

from mcp_rs232 import list_ports, open_port, close_port, read_port, write_port

# List available ports
ports = list_ports()
print(ports)

# Open a port
open_port("COM1", baud_rate=9600)

# Write data (hex encoded)
write_port("COM1", "48656c6c6f")  # "Hello"

# Read data (returns hex encoded)
data = read_port("COM1")

# Close the port
close_port("COM1")

CLI

mcp-rs232 --help

API

Resources

  • serial://ports - Lists all available serial ports with their details
  • serial://port/{port_name} - Get details about a specific port

Tools


View the full README on GitHub

Details

Repository
github.com/daedalus/mcp-rs232
Package
mcp-rs232
Transport
STDIO
Registry
MCP registry, active

More from daedalus