MCP server that exposes RS485 bus connectivity for reading and writing serial data
SaferSkills independently audited mcp-rs485 (MCP Server) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP server that exposes RS485 bus connectivity for reading and writing serial data.
mcp-name: io.github.daedalus/mcp-rs485
pip install mcp-rs485{
"mcpServers": {
"mcp-rs485": {
"command": "mcp-rs485",
"env": {},
"name": "io.github.daedalus/mcp-rs485"
}
}
}This MCP server exposes RS485 serial bus connectivity through the Model Context Protocol. It allows AI assistants to interact with RS485 devices.
list_ports: Lists all available serial ports on the systemconnect_rs485: Opens a connection to an RS485 devicedisconnect_rs485: Closes an RS485 connectionread_rs485: Reads data from an open RS485 connectionwrite_rs485: Writes data to an RS485 connectionget_connection_status: Gets the status of an RS485 connectionfrom mcp_rs485.server import connect_rs485, write_rs485, read_rs485
# Connect to a device
conn_id = connect_rs485("/dev/ttyUSB0", baudrate=9600)
# Write data (Modbus RTU example)
write_rs485(conn_id, "01 03 00 00 00 0A")
# Read response
response = read_rs485(conn_id)
# Cleanup
disconnect_rs485(conn_id)git clone https://github.com/daedalus/mcp-rs485.git
cd mcp-rs485
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/Lists all available serial ports.
Returns: List of port dictionaries with port, description, and hwid.
Opens a connection to an RS485 device.
Parameters:
port: Serial port path (e.g., "/dev/ttyUSB0")baudrate: Communication speed (default: 9600)parity: "N" (none), "E" (even), "O" (odd)stopbits: Number of stop bitsbytesize: Data bits per frametimeout: Read timeout in secondsReturns: Connection ID string.
Reads data from an open RS485 connection.
Parameters:
connection_id: Connection ID from connect_rs485length: Maximum bytes to readReturns: Hex string of received data.
Writes data to an RS485 connection.
Parameters:
connection_id: Connection ID from connect_rs485data: Hex string (e.g., "01 03 00 00 00 0A")Returns: Number of bytes written.
Gets connection status and statistics.
Returns: Dictionary with connection state and statistics.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.