Mcp Rs232

io.github.daedalusPublished by GitHub account daedalusv0.1.0Updated Oct 24, 2026

An MCP server that exposes RS232 serial port connectivity

VerifiedSTDIODesktop onlyCloud & InfrastructureDeveloper Tools

Overview

AI-generated overview

An MCP server that lets an assistant list, open, read from, and write to RS232 serial ports on the local machine.

What you can do
It exposes local RS232 serial port connectivity to an assistant. Tools cover listing available ports, opening and closing a connection with a baud rate, reading data (returned hex encoded), writing hex-encoded data, and reading the current port configuration. Resources serial://ports and serial://port/{port_name} provide port listings and per-port details.
When to use it
Useful when an assistant needs to talk to hardware or instruments connected over a serial port, such as embedded boards, sensors, or legacy equipment, and you want that interaction driven from a chat session rather than a custom script.
Requirements
Runs as a local process on the user's machine, installed from PyPI as mcp-rs232 (pip install mcp-rs232). Desktop only; no web execution. No authentication, environment variables, or headers are declared. The machine must have the serial ports and any needed drivers or permissions.
Before you install
The write_port tool sends data to a physical device, which can change device state or trigger actions; read and write operations act on real hardware. No credentials are requested, but access to serial ports may require OS-level permissions. Confirm the target port and payload before letting an assistant write.

Installation

In SourceWeft

  1. Open Mcp Rs232 in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mcp-rs232

An MCP server that exposes RS232 serial port connectivity

[PyPI] [Python] [Ruff]

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

Install

bash
pip install mcp-rs232

Usage

python
from mcp_rs232 import list_ports, open_port, close_port, read_port, write_port
# List available portsports = list_ports()print(ports)
# Open a portopen_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 portclose_port("COM1")

CLI

bash
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

  • list_ports_tool() - Returns list of available serial ports
  • open_port(port, baud_rate, ...) - Opens a serial connection
  • close_port(port) - Closes a serial connection
  • read_port(port, size, timeout) - Reads data from port (hex encoded)
  • write_port(port, data) - Writes hex-encoded data to port
  • get_port_config(port) - Returns current port configuration

Development

bash
git clone https://github.com/daedalus/mcp-rs232.gitcd mcp-rs232pip install -e ".[test]"
# run testspytest
# formatruff format src/ tests/
# lintruff check src/ tests/
# type checkmypy src/

Source: README.md at commit dbb2221

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts