serial-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_portsA | List all available serial ports on the system. Returns information about each port including device path, description, manufacturer, and hardware IDs. |
| open_portA | Open a serial port with the specified configuration. Returns a port_id that must be used for all subsequent operations on this port. |
| close_portB | Close an open serial port. The port_id is the identifier returned when the port was opened. |
| write_dataB | Write data to an open serial port. Data can be a regular string (encoded with the specified encoding) or a hex string if hex_mode is True. |
| read_bytesB | Read a specific number of bytes from the serial port. Reads up to num_bytes, returning early if timeout is reached. |
| read_untilA | Read from serial port until a terminator string is received. Useful for reading line-based protocols (terminator='\n'). |
| read_for_durationB | Read all data from serial port for a specified duration. Continuously reads data for the specified time period, collecting all received bytes. |
| send_breakA | Send a BREAK signal on the serial port. A BREAK is a special signal where the TX line is held low for a specified duration, used for various protocols. |
| get_port_statusA | Get the current status of a managed serial port. Returns configuration, buffer status, and control line states. |
| list_open_portsB | List all currently open/managed serial ports. Returns information about each port that has been opened through this MCP server. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool has a clearly distinct purpose. The three read functions (read_bytes, read_for_duration, read_until) are differentiated by reading mode, and all other tools serve unique roles in port management. No overlap.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., close_port, list_open_ports, send_break). The naming is predictable and easy to interpret.
10 tools is well-scoped for a serial port management server. The set covers opening, closing, reading (three variants), writing, status, port listing, and special signals without being excessive.
The tool set covers core serial operations (open/close, read/write, status, break signal). Minor gaps exist, such as buffer flushing or control line manipulation, but these are not critical for typical use.